需求
编写跨平台的工程时,因为项目比较大,文件很多,开发人员很多,不想一一列举add_executable
里边的文件
解决
用FILE
宏获取某个指定目录下的同一类型的所有文件,用DIAGNOSTIC
和SERIALIZE
两个变量来分别存储所有符合条件的文件名,include_directories
也可以自动包含目录下的所有头文件
1 | FILE(GLOB_RECURSE DIAGNOSTIC ${CMAKE_SOURCE_DIR}/diagnostic/*.c) |
再在add_executable
里边添加DIAGNOSTIC
和SERIALIZE
两个变量,这样新增文件只要执行一下cmake就可以了
1 | add_executable(zhd-desktop |