您的 CMake 文件应位于主源目录及其子目录中。最简单的方法是CMakeLists.txt
在目录中创建一个,其中包括来自和src
的所有文件。一个非常简约的示例可能如下所示:src/src
src/test
# CMakeLists.txt in src
project(myExample)
set(myExample_SOURCES
src/file1.cpp
src/main.cpp)
add_executable(myExecutable ${myExample_SOURCES})
set(myExample_test_SOURCES
src/file1.cpp
test/test_file2.cpp
test/test_main.cpp)
add_executable(myTestSuite ${myExample_test_SOURCES})
通常不指定输出目录,因为您可以使用不同的选项并行构建不同的活动构建,例如,您可以在调试模式下构建-O0 -g
一个,另一个在发布模式下使用-O2 -g
标志,第三个在发布模式下使用大量优化标志-O3
。每个构建都驻留在它自己的目录中(例如build-debug
, build-rel
,
build-opt
)。
bin
您应该手动创建输出目录(在您的情况下)并cmake
在此目录中调用命令。作为参数,您必须提供 main 的路径CMakeLists.txt
。换句话说,只需执行
cmake ../src
当你在里面时bin
。这将从src
目录中获取所有文件并将输出放到bin
目录中。您可以轻松地创建第二个输出目录,例如bin2
,在其中指定不同的构建标志。它ccmake
为此提供了一个非常简约的 GUI。