Просмотр исходного кода

build system: better support for IDEs

Michele Caini 6 лет назад
Родитель
Сommit
3ad2c559f1
3 измененных файлов с 35 добавлено и 25 удалено
  1. 15 14
      CMakeLists.txt
  2. 18 9
      docs/CMakeLists.txt
  3. 2 2
      test/CMakeLists.txt

+ 15 - 14
CMakeLists.txt

@@ -23,8 +23,6 @@ project(
     HOMEPAGE_URL "https://github.com/skypjack/entt"
     LANGUAGES CXX)
 
-include(GNUInstallDirs)
-
 if(NOT CMAKE_BUILD_TYPE)
     set(CMAKE_BUILD_TYPE Debug)
 endif()
@@ -65,6 +63,8 @@ endif()
 # Add EnTT target
 #
 
+include(GNUInstallDirs)
+
 add_library(EnTT INTERFACE)
 add_library(EnTT::EnTT ALIAS EnTT)
 
@@ -185,16 +185,17 @@ endif()
 # AOB
 #
 
-FILE(GLOB GH_WORKFLOWS .github/workflows/*.yml)
-
-add_custom_target(
-    entt_aob
-    SOURCES
-        ${GH_WORKFLOWS}
-        .github/FUNDING.yml
-        AUTHORS
-        CONTRIBUTING.md
-        LICENSE
-        README.md
-        TODO
+set(
+    AOB_SOURCES
+    .github/workflows/build.yml
+    .github/workflows/coverage.yml
+    .github/FUNDING.yml
+    AUTHORS
+    CONTRIBUTING.md
+    LICENSE
+    README.md
+    TODO
 )
+
+add_custom_target(aob SOURCES ${AOB_SOURCES})
+source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES ${AOB_SOURCES})

+ 18 - 9
docs/CMakeLists.txt

@@ -9,12 +9,28 @@ set(DOXY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
 
 configure_file(doxy.in doxy.cfg @ONLY)
 
+set(
+    DOC_SOURCES
+    dox/extra.dox
+    md/core.md
+    md/entity.md
+    md/faq.md
+    md/lib.md
+    md/links.md
+    md/locator.md
+    md/meta.md
+    md/process.md
+    md/resource.md
+    md/signal.md
+    doxy.in
+)
+
 add_custom_target(
     docs ALL
     COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxy.cfg
     WORKING_DIRECTORY ${EnTT_SOURCE_DIR}
     VERBATIM
-    SOURCES doxy.in
+    SOURCES ${DOC_SOURCES}
 )
 
 install(
@@ -22,11 +38,4 @@ install(
     DESTINATION share/${PROJECT_NAME}-${PROJECT_VERSION}/
 )
 
-FILE(GLOB MD_FILES md/*.md)
-
-add_custom_target(
-    docs_aob
-    SOURCES
-        dox/extra.dox
-        ${MD_FILES}
-)
+source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES ${DOC_SOURCES})

+ 2 - 2
test/CMakeLists.txt

@@ -40,8 +40,8 @@ endfunction()
 add_library(odr OBJECT odr.cpp)
 SETUP_TARGET(odr)
 
-function(SETUP_BASIC_TEST TEST_NAME TEST_SOURCE)
-    add_executable(${TEST_NAME} $<TARGET_OBJECTS:odr> ${TEST_SOURCE})
+function(SETUP_BASIC_TEST TEST_NAME TEST_SOURCES)
+    add_executable(${TEST_NAME} $<TARGET_OBJECTS:odr> ${TEST_SOURCES})
     target_link_libraries(${TEST_NAME} PRIVATE GTest::Main Threads::Threads)
     SETUP_TARGET(${TEST_NAME})
     add_test(NAME ${TEST_NAME} COMMAND ${TEST_NAME})