【发布时间】:2022-06-23 17:56:07
【问题描述】:
序幕
我有一个 preset-based 普通 CMake 项目,以便我可以使用 cmake --preset $PRESET && cmake --build --preset $PRESET && ctest --preset $PRESET 构建和测试它。请注意,它可以很好地与 Microsoft's CMake Tools extension for Visual Studio Code 交互,用于构建、测试、调试和 Intellisense。
由于我想并行处理多个预设,我将CMakePresets.json 的binaryDir 属性设置为${sourceDir}/build/${presetName}/。
问题
我还想用colcon 构建这个简单的 CMake 项目。但是,colcon build --cmake-args "--preset $PRESET" 不起作用,因为它会产生
WARNING:colcon.colcon_cmake.task.cmake.build:Could not build CMake package 'root_project_name' because the CMake cache has no 'CMAKE_PROJECT_NAME' variable
root_project_name 是顶部 CMakeLists.txt 中 CMake 的 project() 命令的参数。
如何解决此警告以及随后的构建失败?
【问题讨论】:
标签: cmake build cmake-presets