问题标签 [cmake-format]
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.
c++ - 如何制作只有一个 cpp 文件和两个 .h 文件的 CMakeLists?
我有一个名为 proj10.cpp 的文件和两个不同的 .h 文件,它们位于包含文件夹中,而 .cpp 文件位于 src 文件夹中。我不知道如何制作 CMake 文件,因为我做过的其他文件有多个 .cpp 文件。
cmake - 为 riscv64-unknown-elf-g++ 编译 cmake 时如何出错
当我从终端 cmake .. 时,错误如下所示:
我尝试了“STREQUAL”而不是 MATCHES,但没有奏效。知道这里可能有什么问题吗?
CMakeLists.txt 如下:
我还尝试在 g++ 退出的地方以及 - where - 存在的地方添加 ++。并且也厌倦了“STREQUAL”而不是“MATCHES”,它也不起作用。可能是PATH中c++的问题?
cmake - CMake:仅针对特定目标从 CMAKE_C_FLAGS_RELEASE 中删除编译标志
我有
但我想删除-flto
特定目标编译:
可能吗?
linux - 将环境变量设置为 ExternalProject_Add 上下文
我有一个 CMakeLists.txt 文件,其中有多个我需要构建的外部项目。我正在使用 CMake 的 ExternalProject_Add 功能。
我需要在 ExternalProject_Add 项目模块之一中设置环境变量。该项目需要它来执行构建。
我尝试使用 ${CMAKE_COMMAND} -E env 选项,但没有奏效:
我无法在网上找到示例。
请指教。
提前感谢您的帮助。
副部
c++ - 如何在cmake中的项目之间添加_dependencies
我有一个如上所述的 CMakeLists.txt。正在尝试构建项目 abc。但要构建它,我还需要“a_certain_source_file.cpp”,它是来自另一个名为 xyz 的项目的自动生成的源文件。如果 xyz 是从同一个 CMakeLists.txt 构建的,那么 add_dependencies 工作不会有问题。我无法通过我现在拥有 CMakeLists.txt 的方式解决对“a_certain_source_file.cpp”的依赖。任何可以提供帮助的 CMake 爱好者或专家?
我在这里也看到了一个密切的匹配 - cmake: add_dependencies 不适用于外部项目,但我不需要下载任何东西。所以不确定这是否是我需要的。
c - 如何创建需要外部头文件的 cmake 库
我觉得我错过了这个的一些关键想法。
我有一个库,我想为其创建一个 CMakeLists.txt 文件。我想将它与不同的应用程序链接起来。
该库需要conf.h
定义一个文件。应用程序必须提供这一点。图书馆期待它。这种关系叫什么?
我目前的解决方案CMakeLists.txt
是有一个变量,如:
然后让应用程序定义 CONF_DIR。这很不酷,因为我不能有多个应用程序链接它。
唯一的另一种选择是将整个源库的副本保留在应用程序文件夹中,这也很不酷。
我希望最大限度地提高可重用性。我该如何处理?
旁注:对于任何熟悉的人,有问题的库是 STM32Cube 的 HAL 库,讨厌的文件是stm32h7xx_hal_conf.h
.
cmake - cmake中的打印接口库
如何在cmake中打印接口库。实际上我想这样做是出于调试目的。所以想知道如何打印该接口库中的所有包含目录
我有一个接口库 A,它链接到 2 个接口库 B 和 C(即 A 包括 B 和 C)。现在我想知道 A 是否包含所有路径不是..如何检查?
c++ - collect2:错误:ld 在 CMakeLists.txt 中返回 1 个退出状态链接库问题
当我使用 构建项目时CMakeLists.txt
,出现以下错误。
我还需要添加CMakeLists.txt
什么?
c++ - CMAKE_C_FLAGS 在子目录中附加标志
我有以下文件夹结构:
- 父文件夹
- CMakeLists.txt (一)
- Sub_1_folder
- CMakeLists.txt (B)
- 子_2_文件夹
- CMakeLists.txt (C)
现在,在 CMakeLists.txt (A)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTrial ")
在 CMakeLists.txt (B)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTrail2")
在 CMakeLists.txt (C)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTrail3")
但是,在代码末尾,当我在 CMakeLists.txt (A) 中打印 CMAKE_C_FLAGS 时,它只显示 DTrail。
该怎么做才能使 DTrail2 和 DTrail3 (子目录中的更改:似乎它们仅在各自的子文件夹中具有范围)反映在 CMakeLists.txt (A) 的 CMAKE_C_FLAGS (父级)中。
有什么方法可以进行全局更改吗?
请帮助我!
cmake - Cmake字符串从包含用冒号分隔的键值的字符串列表中获取键值对
我有一个字符串列表(输入):
我想使用 foreach 获取键值并将它们设置为 cmake 常量。就像是:
所以基本上我想要最终结果,但这应该使用forloop来实现:
如何通过使用foreach导航列表中的每个字符串并将键值对设置为 cmake 常量来实现这一点?