问题标签 [cmakelists-options]

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.

0 投票
3 回答
166 浏览

c++ - CMakeLists add_library 根据选项

我正在尝试构建一个将应用于不同类型的目标机器的项目(c++ 代码文件),并且我正在尝试根据机器类型包含 cpp 文件,为此我在 CMakeLists 文件中创建了选项以使用它们来确定是否包含 cpp 文件。

我已经有一个链接的 bitbake 文件,我可以在其中打开和关闭这些选项,这不是问题,问题是 CMakeFile 不接受这种类型的写入:

有什么可能的方法吗?

非常感谢。

0 投票
1 回答
55 浏览

c++ - 如何使用 CMake 将外部库添加到“自制”库中?

我无法将外部库与我使用 CMake 编写的库链接。我想知道是否需要将某些内容添加到我的CMakeLists.txt? 或者,如果我需要CMakeLists.txt在较低级别(内部src)添加另一个,那需要包含什么?

我有以下项目结构:

CMakeList.txt的是:

在我的文件helper.cpp中,我有:

这给出了错误:

但是我有相同的包含main.cpp没有错误。

我将非常感谢任何帮助,如果我需要澄清我的问题或错误,请告诉我。谢谢你。

0 投票
1 回答
147 浏览

cmake - CMakeLists:使用新行创建字符串

我在尝试打印带有新行的字符串时遇到了问题CMakeLists.txt

预期输出:

如果我尝试放置新的换行符 ( \n),则会返回错误:

执行:

错误:

0 投票
0 回答
55 浏览

cmake - 如何指定 CMake 在 linux 中生成 .lib 或 .a 文件

我的项目构建了一个.lib 文件,但我想构建一个.a 文件。我不知道如何解决它。我搜索“CMAKE_GNUtoMS”(将 GNU 导入库(.dll.a)转换为 MS 格式(.lib)。),但项目从未使用过。

0 投票
0 回答
26 浏览

makefile - 使用cmake构建时,以cmake结尾的文件有哪些

我正在学习一个大型软件项目,现在我需要编译这个项目。我发现这个项目的源码中有很多以cmake结尾的文件,比如protobuf.cmake。这些文件是干什么用的?之前只知道编译软件需要cmakelist.txt。我应该如何使用这些 cmake 终止的文件。

0 投票
0 回答
83 浏览

c - 将 micropython makefile 转换为 cmakelist.txt

我正在尝试从https://docs.micropython.org/en/latest/develop/porting.html将 micropython makefile 转换为 cmakelists.txt

cmakelists.txt 的当前进展

运行时出现错误:

第 33 行的 CMake 错误:无法指定不是由该项目构建的目标“应用程序”的源。

我正在从中获得帮助:https ://github.com/micropython/micropython/blob/master/ports/zephyr/CMakeLists.txt ,但我认为我缺少一些步骤。

0 投票
1 回答
39 浏览

linker - CMakeLists.txt 中缺少所有要求

我正在使用 ESP-IDF 将一个项目从 3.0.9 版本更新到 4.3 版本,并且我正在修复旧代码以获得一个编译版本。

我安装了 VS Code pluign v1.1.0,编译示例项目没有问题。

我当前的 CMakeList 类似于

现在我正在修复代码,但我遇到了链接问题,例如

未定义对“mbedtls_md5_starts”的引用

如果我添加该行,编译似乎会进一步进行

但突然间我遇到了其他人的问题(nvs_flash,mdns,mqtt_client,...)

使用旧版本,我没有这种问题(不需要等价物),所以我想我应该设置更好的东西。我应该要求所有软件包,还是需要设置一些东西来解决问题?

谢谢

0 投票
0 回答
19 浏览

cmake - 使用较旧的 LibTool 宏时,可替代 GET_TARGET_PROPERTY(... LOCATION)

我想为我正在使用 CMake 3 构建的库生成一个 libtool 文件。我发现了这个宏,它对旧版本的 CMake 有帮助:https ://gitlab.kitware.com/cmake/community/- /wikis/contrib/macros/LibtoolFile

这是适用于 CMake 2.8 的代码:

不幸的是,这对我现在不起作用,因为最新版本的 cmake 不再支持 GET_TARGET_PROPERTY(... LOCATION)。我看到有一个生成器表达式你可以使用 ($<TARGET_FILE_NAME:target_name>) 代替它,但是你可以使用生成器表达式的规则是不同的,而且我对 CMake 的经验仍然非常有限。

谁能给我提示我如何将上述宏调整为最新版本的 CMake,或者如果已经存在一个替代解决方案,可能会给我指出一个替代解决方案?

编辑:此问题已关闭,因为它与此“相同”:如何删除 CMake 中的“可能无法从目标读取位置属性”错误?

内容相似,但不一样。上面的链接问题解释了如何替换特定的代码行,而我的问题是寻求有关如何为此处找到的代码提供替代解决方案的指导:https ://gitlab.kitware.com/cmake/community/ -/wikis/contrib/macros/LibtoolFile

0 投票
0 回答
104 浏览

c++ - 通过 cmake 删除相对路径

我把某个header.h文件放进去project/include/subfolder1

other.cpp并在另一个子文件夹中输入以下内容2

但我希望通过 CMake 删除../subfolder1/in#include使它像这样:

但我是 CMake 的新手,我需要一些提示,任何帮助都很大。

以下是我的 cmakelist.txt project

0 投票
0 回答
12 浏览

c++ - Cmake CMakeLists Apple XCode 修改以包含 .mlmodel,对其进行编译和加密

我有旧的 CMakeLists.txt 代码,它将预编译的 mlmodelc 文件复制到正确的目录。我想修改 CMakeLists 以将 mlmodel 作为输入,并创建一个自定义项目来编译和加密它。因此输出一个加密的 mlmodelc。我在网上找到的说明是手动将它包含在 XCode 中(没有 cmake)。