关于生成可执行文件时依赖的源文件在当前目录及当前目录子目录中的解决办法:
aux_source_directory (./ EXE_SRC)中只能将当前目录中的源代码文件添加到变量 EXE_SRC中,如果最终要生成的文件还依赖与当前目录中子目录里面的源代码文件时,可以用如下的方法
list命令
list(APPEND SRC_LIST a.cpp b.cpp ) list(REMOVE_ITEM SRC_LIST a.cpp )
# 假设有如下文件目录和源文件 . ./Folder | + --- a.cpp + --- b.cpp + --- c,cpp | + --- other(文件夹) | + --- 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 } ) |
关于生成可执行文件时依赖的源文件在当前目录及当前目录子目录中的解决办法:
aux_source_directory (./ EXE_SRC)中只能将当前目录中的源代码文件添加到变量 EXE_SRC中,如果最终要生成的文件还依赖与当前目录中子目录里面的源代码文件时,可以用如下的方法
list命令
list(APPEND SRC_LIST a.cpp b.cpp ) list(REMOVE_ITEM SRC_LIST a.cpp )
# 假设有如下文件目录和源文件 . ./Folder | + --- a.cpp + --- b.cpp + --- c,cpp | + --- other(文件夹) | + --- 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 } ) |