如何使用CMake整理我的文件?

lol*_*f37 8 c++ cmake visual-studio-2010 xcode4

我对CMake在解决方案中组织我的代码时遇到了一些问题.我习惯于通过为每个命名空间创建一个目录来组织我的命名空间.例如,如果我创建这样的东西:

namespace test { namespace blabla  { ... } }
Run Code Online (Sandbox Code Playgroud)

我会创建一个目录测试,并在其中创建一个目录blabla,但是CMake不会让它们出现在我的Visual Studio或Xcode项目中.

有没有办法完成它?

sak*_*kra 13

尝试使用source_group命令.在调用add_executable添加source_group语句以根据需要构建项目之后,例如:

source_group("test\\blabla" FILES file1.cpp file2.cpp)
Run Code Online (Sandbox Code Playgroud)


小智 5

为了在VS中对项目进行分组,您可以在CMake中使用这种方式(在2.8.3之后)

//turn on using solution folders
set_property( GLOBAL PROPERTY USE_FOLDERS ON)

//add test projects under 1 folder 'Test-projects'
FOREACH(TEST ${TESTS_LIST})
    add_test(NAME ${TEST}  COMMAND $<TARGET_FILE:${TEST}>)
    set_tests_properties( ${TEST} PROPERTIES TIMEOUT 1) 
    set_property(TARGET ${TEST} PROPERTY FOLDER "Test-projects")
ENDFOREACH(TEST)
Run Code Online (Sandbox Code Playgroud)