CMake:如何在#34;头文件中显示标题"在Visual Studio项目中?

时间:2015-11-30 20:10:32

标签: visual-studio visual-studio-2013 cmake

我用C ++创建了一个简单的库项目,并添加了CMake文件以自动生成Visual Studio项目。我的小项目只包含2个文件:

include/
     testproject/
         testproject.h
src/
    testproject.cpp

CMakeLists.txt

现在在外部依赖项(screenshot)中的头文件。如何在标题"标题"?中显示它(或任何其他。不是"外部依赖")

的CMakeLists.txt:

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

SET(PROJECTNAME testproject)

PROJECT(${PROJECTNAME})

FILE(GLOB MY_HEADERS "include/*.h")
FILE(GLOB MY_SOURCES "src/*.cpp")

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
ADD_LIBRARY(
    ${PROJECTNAME} STATIC
    ${MY_HEADERS} ${MY_SOURCES}
)

注意:如果将dirs struct更改为

include/
     testproject.h
src/
    testproject.cpp

CMakeLists.txt

结果将类似于screenshot。 "头文件"中的头文件。但我需要在以前的项目结构中

1 个答案:

答案 0 :(得分:3)

使用GLOB_RECURSE

  

GLOB_RECURSE将生成一个类似于常规GLOB的列表,除了它将遍历匹配目录的所有子目录并匹配文件。仅当给出FOLLOW_SYMLINKS或cmake策略CMP0009未设置为NEW时,才会遍历作为符号链接的子目录。有关更多信息,请参阅cmake -help-policy CMP0009。

CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

SET(PROJECTNAME testproject)

PROJECT(${PROJECTNAME})

FILE(GLOB_RECURSE MY_HEADERS "include/*.h")
FILE(GLOB MY_SOURCES "src/*.cpp")

INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
ADD_LIBRARY(
    ${PROJECTNAME} STATIC
    ${MY_HEADERS} ${MY_SOURCES}
)