Добавление файлов в исходную_группу в CMake

У меня проблема с 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})

Проблема, которая может быть причиной этой проблемы заключается в том, что GLOB_RECURSEвозвращает файлы, которые находятся в ${CMAKE_CURRENT_SOURCE_DIR}, но относятся к /database(или любому другому каталогу).

Например, в database/есть файл с именем dbcore.cppЭтот файл добавляется в DATABASE_SRCSкак dbcore.cpp. но файлы в основном каталоге (т.е. ${CMAKE_CURRENT_SOURCE_DIR}) также добавляются, но имеют путь относительно database/, например .../common.h.

Другая проблема может заключаться в том, что внутри проекта Visual Studio уже существуют фильтры по умолчанию «Файлы заголовков» и «Исходные файлы».

Я использую CMake 2.8.6 и Visual Studio 11/2012.

6
задан Donal Fellows 10 June 2012 в 22:57
поделиться