我正在尝试使用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/

10-12 05:46