小编Nic*_*lor的帖子

在CMake中将文件添加到source_group

我遇到了CMake的问题,我无法将我的文件添加到Visual Studio内的文件夹/过滤器中.

# Add folders to filters
file(GLOB_RECURSE DATABASE_SRCS     RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/database *.cpp *.h)
file(GLOB_RECURSE LOG_SRCS          RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/log *.cpp *.h)
file(GLOB_RECURSE NETWORK_SRCS      RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/network *.cpp *.h)
file(GLOB_RECURSE THREADING_SRCS    RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/threading *.cpp *.h)
file(GLOB_RECURSE UTILS_SRCS        RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/utils *.cpp *.h)

source_group(database   FILES ${DATABASE_SRCS})
source_group(log        FILES ${LOG_SRCS})
source_group(network    FILES ${NETWORK_SRCS})
source_group(threading  FILES ${THREADING_SRCS})
source_group(utils      FILES ${UTILS_SRCS})
Run Code Online (Sandbox Code Playgroud)

可能导致此问题的一个问题是,它将GLOB_RECURSE返回${CMAKE_CURRENT_SOURCE_DIR}相对于/database(或其他任何目录)的文件.

例如,有一个database/被调用的文件dbcore.cpp.此文件被添加为DATABASE_SRCSas dbcore.cpp,但主目录(即${CMAKE_CURRENT_SOURCE_DIR})中的文件也会被添加,但是具有相对于的路径database/,例如../common.h.

另一个问题可能是Visual Studio项目内部已存在默认的"头文件"和"源文件"过滤器.

我正在使用CMake 2.8.6和Visual Studio 11/2012.

cmake

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

cmake ×1