是否可以在CMakeLists文件中指定构建目录?如果是的话,如何。
我的目标是能够在顶级源目录中调用“cmake”并让cmake找出构建目录。
答案 0 :(得分:5)
Afaik,CMake
构建目录始终是您调用cmake
或ccmake
命令的目录。因此,如果要更改构建目录,则必须在运行CMake之前更改目录。
要控制可执行文件,静态文件和共享库一旦完成后放置的位置,您可以分别修改CMAKE_RUNTIME_OUTPUT_DIRECTORY
,CMAKE_ARCHIVE_OUTPUT_DIRECTORY
和CMAKE_LIBRARY_OUTPUT_DIRECTORY
。
答案 1 :(得分:2)
按照设计,没有办法在CMakeLists.txt中指定它。它旨在让用户能够在他们想要的任何目录中构建项目。典型的工作流程是:
CMakeLists.txt中指定的所有目录都应该相对于$ {PROJECT_BINARY_DIR}和$ {PROJECT_SOURCE_DIR}变量。通过这种方式,您的代码可以在不同平台上构建,这是CMake的目标。