https://forum.cocos.com/t/cmakelists-txt/25394/2?u=dengzhuangfeng
FILE(GLOB_RECURSE USER_HEADER "Classes/*.hpp" "Classes/*.h")
FILE(GLOB_RECURSE USER_CPP "Classes/*.cpp")
MESSAGE("打印Classes 目录下所有的头文件 ---")
FOREACH(FILE_PATH ${USER_HEADER})
MESSAGE(${FILE_PATH})
ENDFOREACH(FILE_PATH)
MESSAGE("打印Classes 目录下所有的cpp文件 ---")
FOREACH(FILE_PATH ${USER_CPP})
MESSAGE(${FILE_PATH})
ENDFOREACH(FILE_PATH)
# add cross-platforms source files and header files
list(APPEND GAME_SOURCE
${USER_CPP}
)
list(APPEND GAME_HEADER
${USER_HEADER}
)
最外层的CMakeLists.txt 有关Classes 文件夹的,改成这样
CMake 官方并不建议用 FILE 搜索源文件,它有副作用。
这种的话,当源文件列表变更时,CMake 脚本感知不到,它就无法处理增量,除非你每次编译,都先运行 CMake 脚本,再执行二次构建。
无它,每新增一个文件,就新写一行。
XCode 和 VS 也不会自动添加源码,都要手动包含
嗯,难怪我看源码里面也是一个个文件添加的。我之所以想用遍历的方式是因为以前用ndk的时候,在.mk文件里面一次性遍历的。
用aux_source_directory可以吧
可以用脚本遍历文件,生成头文件和源文件列表