因为
aux_source_directory
(./ EXE_SRC)中只能将当前目录中的源代码文件添加到变量
@H_
301_16@EXE_SRC中,如果最终要
生成的
文件还依赖与当前目录中子目录里面的源
代码文件时,可以用如下的
方法
list命令
list(APPEND SRC_LIST
a.cpp
b.cpp
)
list(REMOVE_ITEM SRC_LIST
a.cpp
)
@H_404_27@
#假设有如下文件目录和源文件.
./Folder
|
+ --- a.cpp
+ --- b.cpp
+ --- c,cpp
|
|
+ --- d.cpp
+ --- e.cpp
#--------------------------------------------------------------------
#
若该动态库的生成不止依赖于当前目录下的所有源文件,还依赖该目录下
#
子目录
(
假设为
other)
下的源文件,则做如下处理:
aux_source_directory
(./
EXE_SRC
)
#
将当前目录(不包含子目录)下所有源文件保存在变量
SRC_LIST
中
aux_source_directory
(./other OTHER_SRC)
#
将当前目录子目录
other
下的源文件保存在变量
OTHER_SRC_LIST
中
list
(
APPEND
EXE_SRC
${OTHER_SRC}
)
#
将
OTHER_SRC_LIST
添加到
SRC_LIST
中
#--------------------------------------------------------------------
#
根据变量
MODEL_SRC
(代表当前目录及子目录下的所有源文件)
#
生成一个动态库
MODEL_dll
(
SHARED
代表动态库)
add_library
(
EXE
_dll
SHARED
${
EXE_SRC
}
)
|
原文链接:https://www.f2er.com/javaschema/284471.html