《边干边学CMake 1》帮助大家快速CMake使用入门,本节继续讨论有多个目录和多个源文件的情况。
假设LearnCmake解决方案中,HelloWorld项目的文件结构如下图所示:
对于这种情况,需要分别在项目根目录 HelloWorld和 math 目录里各编写一个 CMakeLists.txt 文件。为了方便,我们可以先将 math 目录里的文件编译成静态库MathFunctions,再由 main 函数调用。具体操作步骤如下:
第一步,先编写math目录下的CMakeList.txt文件,如下图所示:
第二步,编写HelloWorld目录下的CMakeList.txt文件,如下图所示:
在第11行,使用命令 add_subdirectory告诉CMake本项目包含一个子目录 math,这样 math 目录下的 CMakeLists.txt 文件和源代码也会被CMake处理 。第17行,使用命令 target_link_libraries 告诉CMake可执行文件 helloworld需要链接一个名为 MathFunctions 的链接库
第三步,使用CMake GUI Configure和Generate ,具体步骤类似《边干边学CMake 1》
第四步,稍微修改一下原来的main.cpp,如下图所示:
到此,使用CMake支持多个目录和多个源文件讲解完毕。