我正在尝试使用 source_group
函数组织为 visual studio 2015 生成的项目,以将特定文件夹添加到项目中,但它没有效果,我是这样做的:
set(CPP_FILES_REGEX "\\b(\\w|\\d)+\\b\\.(hpp|cpp|c|h)")
source_group("my_folder" REGULAR_EXPRESSION "${sourcers_dir}\/${CPP_FILES_REGEX}")
add_executable(my_executable ${sourcers_dir}/main.cpp ${sourcers_dir}/test.hpp)
在这里测试正则表达式:RegExr它工作正常,所以可执行文件是匹配的。我也尝试添加文件名,但仍然没有效果:
set(CPP_FILES_REGEX "\\b(\\w|\\d)+\\b\\.(hpp|cpp|c|h)")
source_group("my_folder" FILES "${sourcers_dir}/main.cpp")
最佳答案
CMake 的正则表达式在他们理解的内容上是相当基础的,请参阅 docs .不支持“花哨的”命名类和伪类,如 \b
、\w
或 \d
。您必须手动拼出它们(即使用 [0-9]
而不是 \d
等)
关于c++ - cmake source_group 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40931571/