您的 CMake 文件应位于主源目录及其子目录中。最简单的方法是CMakeLists.txt在目录中创建一个,其中包括来自和src的所有文件。一个非常简约的示例可能如下所示:src/srcsrc/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。