1
我有有一個文件結構像這樣的小圖書館:CMake的排除從給定模式的文件後,文件(GLOB_RECURSE)
CMakeLists.txt
LibFoo/
Foo.h
FooWin.cpp
FooWin.inl
FooPosix.cpp
FooPosix.inl
當我要建庫在特定的操作系統(例如Windows中),他們應該在列表中包含使用文件(GLOB_RECURSE)用宏之前:
macro(add_recursive dir retVal)
file(GLOB_RECURSE ${retVal} ${dir}/*.h ${dir}/*.cpp ${dir}/*.c ${dir}/*.inl)
endmacro()
和我的排除模式是這樣的(Windows爲構建主機):*Posix.*
但不工作,我嘗試用這種方法:
macro(add_recursive dir retVal pattern)
file(GLOB_RECURSE ${retVal} ${dir}/*.h ${dir}/*.cpp ${dir}/*.c ${dir}/*.inl EXCLUDE PATTERN "${pattern}")
endmacro()
但POSIX文件仍然在這裏,CMake不報告錯誤或任何建議。