0


CMake获取目录下所有源文件

1、aux_source_directory指令
aux_source_directory(< dir > < variable >)
比如:

    aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} ALL_SOURCE) , 这样将当前目录所有的源文件(.cpp 和.c文件)都放到了ALL_SOURCE变量中,但是头文件并没有被包括进去,若在头文件有函数的实现部分,采用这种方式就容易出问题,所有我很少使用这种方式。

2、file指令,我通常使用这种方式

比如:

    file(GLOB ALL_SOURCE "*.cpp" "*.c")

    file(GLOB ALL_HEAD "*.hpp" "*.h")

    这样就将当前目录所有的源文件都放在了ALL_SOURCE变量中,所有的头文件放在了ALL_HEAD中。

    另外,file里面的第一个参数若使用GLOB_RECURSE,不仅能包括当前目录的文件,也可以包括当前目录子目录下面的文件,比如:

     file(GLOB_RECURSE ALL_SOURCE "*.cpp" "*.c")

     file(GLOB_RECURSE ALL_HEAD "*.hpp" "*.h")

    采用这种方式需要注意编译程序时,临时创建的build目录不要放在CMakeLists.txt文件的同目录或者子目录下,因为cmake在编译过程中也会产生临时的cpp文件,这样这些临时文件又被包括进去,就会报错,所以需要在外层目录编译
标签: java 前端 javascript

本文转载自: https://blog.csdn.net/a2886015/article/details/126830638
版权归原作者 风闲1217 所有, 如有侵权,请联系我们删除。

“CMake获取目录下所有源文件”的评论:

还没有评论