我已经用 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 结构更改为
include/
testproject.h
src/
testproject.cpp
CMakeLists.txt
结果将类似于 screenshot . “头文件”中的头文件。但我需要在以前的项目结构中
最佳答案
使用 GLOB_RECURSE :
GLOB_RECURSE will generate a list similar to the regular GLOB, except it will traverse all the subdirectories of the matched directory and match the files. Subdirectories that are symlinks are only traversed if FOLLOW_SYMLINKS is given or cmake policy CMP0009 is not set to NEW. See cmake –help-policy CMP0009 for more information.
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}
)
关于visual-studio - CMake:如何在 Visual Studio 项目中的 "Header files"中显示标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34007099/