cmake处理多源⽂件⽬录的⽅法
cmake处理源代码分布在不同⽬录中的情况也很简单,现在假设我们的源代码分布情况如下:
源代码的分布情况
其中src⽬录下的⽂件要编译成⼀个链接库
第⼀步,项⽬主⽬录中的
在⽬录step2中创建⽂件⽂件内容如下:
⽬录 step2 中的
1 PROJECT(main)
2 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
3 ADD_SUBDIRECTORY( src )为什么现在都用cmake
4 AUX_SOURCE_DIRECTORY(. DIR_SRCS)
5 ADD_EXECUTABLE(main ${DIR_SRCS}  )
6 TARGET_LINK_LIBRARIES( main Test )
相对于上⼀篇中单个⽂件的,这个多个源⽂件的添加了⼀下的内容:
第三⾏,使⽤命令ADD_SUBDIRECTORY指明本项⽬包含⼀个⼦⽬录src。
第六⾏,使⽤命令 TARGET_LINK_LIBRARIES指明可执⾏⽂件main需要连接⼀个名为Test的链接库
第⼆步,⼦⽬录中的
在⼦⽬录中src中创建⽂件内容如下:
1 AUX_SOURCE_DIRECTORY(. DIR_TEST1_SRCS)
2 ADD_LIBRARY ( Test ${DIR_TEST1_SRCS})
在该⽂件中使⽤ADD_LIBRARY将src⽬录中的源⽂件编译为共享库
第三步,执⾏cmake
⾄此我们完成了项⽬所有⽂件的编写,进⼊⽬录step2中依次执⾏命令 “cmake  .”he "make"得到如下结果:
处理多源⽂件⽬录时 cmake 的执⾏结果
在执⾏cmake的过程中,⾸先解析⽬录step2中的,当程序执⾏命令ADD_SUBDIRECTORY(src)时,进⼊⽬录src对其中的进⾏解析
参考⽂献: