CMake获取目录下所有源文件

阅读: 评论:0

CMake获取目录下所有源文件

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目录不要放在文件的同目录或者子目录下,因为cmake在编译过程中也会产生临时的cpp文件,这样这些临时文件又被包括进去,就会报错,所以需要在外层目录编译

本文发布于:2024-01-29 09:39:16,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170649236014373.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:源文件   目录下   CMake
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23