在C++项目开发中,CMake是一种广泛使用的构建工具,它可以帮助我们管理和构建中大型项目。下面是一个适用于中大型C++工程的CMake模板。
项目结构
首先,我们需要定义一个清晰的项目结构。一个典型的中大型C++项目可能包括以下目录和文件:
/my_project/srcmain.cpp/module1file1.cppfile1.h/module2file2.cppfile2.h/include/module1file1.h/module2file2.h/teststest1.cpptest2.cppCMakeLists.txt
在这个结构中,src目录包含所有的源代码文件,include目录包含所有的头文件,tests目录包含所有的测试文件。
CMakeLists.txt
接下来,我们需要创建一个CMakeLists.txt文件来定义构建规则。以下是一个基本的CMake模板:
cmake_minimum_required(VERSION 3.10)
project(my_project)set(CMAKE_CXX_STANDARD 14)include_directories(include)file(GLOB_RECURSE SOURCES "src/*.cpp")add_executable(my_project ${SOURCES})enable_testing()
add_subdirectory(tests)
在这个模板中,我们首先定义了CMake的最低版本要求和项目名称。然后,我们设置了C++的标准为C++14,并包含了所有的头文件目录。接着,我们使用file命令和GLOB_RECURSE选项来查找src目录下的所有.cpp文件,并将它们添加到SOURCES变量中。最后,我们使用add_executable命令来创建一个可执行文件,并使用SOURCES变量作为源代码文件。我们还启用了测试,并添加了tests目录。