【发布时间】:2021-12-21 21:37:40
【问题描述】:
是否可以在 CMakeLists 文件中指定构建目录?如果是,如何。
我的目标是能够在顶级源目录中调用“cmake”并让 cmake 找出构建目录。
【问题讨论】:
标签: cmake
是否可以在 CMakeLists 文件中指定构建目录?如果是,如何。
我的目标是能够在顶级源目录中调用“cmake”并让 cmake 找出构建目录。
【问题讨论】:
标签: cmake
Afaik,使用CMake,构建目录始终是您调用cmake 或ccmake 命令的目录。所以如果你想改变构建目录,你必须在运行 CMake 之前改变目录。
要控制完成后放置可执行文件、静态库和共享库的位置,您可以分别修改 CMAKE_RUNTIME_OUTPUT_DIRECTORY、CMAKE_ARCHIVE_OUTPUT_DIRECTORY 和 CMAKE_LIBRARY_OUTPUT_DIRECTORY。
【讨论】:
make 本身的问题 - 从您调用 make 的任何位置,这就是构建目录。
按照设计,没有办法在 CMakeLists.txt 中指定。它旨在让用户能够在他们想要的任何目录中构建项目。典型的工作流程是:
在 CMakeLists.txt 中指定的所有目录都应与 ${PROJECT_BINARY_DIR} 和 ${PROJECT_SOURCE_DIR} 变量相关。这样,您的代码就可以跨不同平台构建,这是 CMake 的目标。
【讨论】: