问题标签 [cmake-language]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cmake - 评估值是多少在如果() 在 CMake 中?
我的你好.txt
从策略 CMP0054:
为了防止歧义,可以在带引号的参数或括号参数中指定潜在的变量或关键字名称。带引号或括号的变量或关键字将被解释为字符串,不会被取消引用或解释。请参阅政策 CMP0054。
CMake 文档没有提到if(<string>)
:
if(<variable|string>)
如果给定一个定义为非假常量的值的变量,则为真。否则为假。(注意宏参数不是变量。)
为什么非空字符串评估为FALSE
?
windows - 如何在 CMake 中使用分号值创建一个列表?
我认为它应该是非常微不足道的,但似乎不受支持......在 CMake 中甚至有可能让列表的一个值包含分号吗?
原因非常简单——因为我在 Windows 上运行,而在 Windows 上,分号是一个环境变量(即PATH
)中两个或多个文件夹之间的分隔符。
我尝试删除和添加双引号,我尝试转义\;
,我尝试添加相同的环境变量两次 - 但这些都不起作用!
cmake - 在 CMake 中使用空字符串设置缓存变量有什么意义?
我已经看到在 Cmake 中设置/使用缓存变量的不同方法。标准是什么?
将空字符串 ( ""
) 设置为缓存变量有什么意义?
例子
cmake - Cmake support for tasking tri-core compiler toolchain
This is unsure if cmake support is available for the tasking tri-core compiler toolchain. We could use a normal makefile to compile using this compiler, but I would like to configure cmake to do the same in windows
cmake - 带分号的 CMake 变量
假设有一个程序需要输入 form <prog> --param "one;two;three"
:一个标志--param
,后跟一个由分号分隔的单词字符串(用引号括起来)。例如,可以使用以下 Bash 脚本:
显然,输出将是:
分隔符;
是必须的,因此我们需要传递一个用引号括起来的字符串,否则 shell 会将分号之间的内容视为单独的命令。
这个问题有点类似于这个问题,但那里提出的答案不适用于以下问题。
考虑这个CMakeLists.txt
文件:
配置后运行make foo
按预期工作:
但是make bar
会导致错误的输出,因为变量PARAMS
被扩展为列表并且实际输入--param one two three
不是--param "one;two;three"
:
如何使用变量PARAMS
并仍然使外部命令的输入包含两个参数?
更新
我CMakeLists.txt
使用涉及&
(like &>>
) 的输出重定向使代码变得更加复杂,这与使用VERBATIM
标志相冲突,这对于使变量引用工作很重要。
cmake - CMake的`file(download)`指令的执行顺序是什么?
我有一个CMakeLists.txt
,它有一个file(download xxx yy)
命令。还有一个 custom_target cpx
,它需要这个下载的文件。但是当cpx
调用目标时,该xxx
文件尚未下载。
所以我的问题是,什么时候download
在 CMake 中执行,我怎样才能让我的自定义目标依赖于file(download)
指令?
cmake - 是否有从 cmake 调用 jamfile 和 jamrule 的规定,反之亦然?
试图将其构建系统堵塞的遗留代码库迁移到 CMake。
分治它,检查是否有规定是否有规定从cmake调用jamfile和jamrule,反之亦然。
一种选择是添加一个自定义目标调用果酱程序。是否也可以使用 jamfile / .jam 文件中定义的 jamrule
cmake - 如何在 CMake 中查询目标是否为 INTERFACE 库
在现代 CMake 中,可以将库指定为INTERFACE
:它不会产生构建输出,但它可以具有与之关联的属性,尽管并非所有属性都可以设置(例如,FOLDER
不支持该属性)。假设我有一个通用库目标的通用 CMake 宏设置属性,有没有办法告诉输入目标是一个接口库,以便我可以跳过仅针对该目标的不受支持的属性?
c++ - CMake的问题“找不到cmake模块文件”
我正在制作一个重载运算符 new 和 delete 的库,以将指针保存到我的类向量类中。当程序结束时,类对象会释放内存。我是 CMake 的新手。我使用了 CMake,但出现 CMake 错误。在 CMakeOutput.log 它说:
控制台说:
如果您知道如何解决此问题,请告诉我。谢谢你。