请使用Cmake将常规头文件夹下的头子文件夹中的头文件分组

时间:2010-10-15 00:44:41

标签: visual-c++ file header cmake

您好我正在构建基于Cmake的构建系统。 我想在一般文件夹Headr Files下将头文件分组到文件夹中(VC ++可以做到)。 类似我想将相应的.cpp文件分组到Source Files目录下的文件夹中。 很遗憾,我找不到任何关于如何操作的说明。

请帮忙。

Dimitre

2 个答案:

答案 0 :(得分:0)

你应该看看CMake source_group命令。

答案 1 :(得分:0)

您可以使用source_group。这是一个具体的例子。

假设您的目录结构如下:

|-include
    | some.h
    |-sub
       | someother.h 
|-src
   | some.cpp
   |-sub
      |-someother.cpp

收集文件(有些人(包括文档)不鼓励使用GLOB,但我将其留给您,如果愿意,可以列出其中的一个,尽管我发现GLOB多次都可以): / p>

file(GLOB HEADER_FILES "${CMAKE_CURRENT_SOURCE_DIR}/include/*.h")
file(GLOB HEADER_FILES_SUB "${CMAKE_CURRENT_SOURCE_DIR}/include/sub/*.h")
file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.h")
file(GLOB SOURCE_FILES_SUB "${CMAKE_CURRENT_SOURCE_DIR}/src/sub/*.h")

# Setup your library or executable:
add_library(MY_LIB ${HEADER_FILES} ${HEADER_FILES_SUB}
                   ${SOURCE_FILES} ${SOURCE_FILES_SUB})

# Here's the important part ("Header Files" and "Source Files" are literals.)
source_group("Header Files\\sub" ${HEADER_FILES_SUB})
source_group("Source Files\\sub" ${SOURCE_FILES_SUB})