Parcourir la source

build: self contained subdirs

Michele Caini il y a 1 an
Parent
commit
8daacc339f
3 fichiers modifiés avec 57 ajouts et 56 suppressions
  1. 1 5
      CMakeLists.txt
  2. 1 0
      TODO
  3. 55 51
      docs/CMakeLists.txt

+ 1 - 5
CMakeLists.txt

@@ -326,9 +326,5 @@ endif()
 option(ENTT_BUILD_DOCS "Enable building with documentation." OFF)
 option(ENTT_BUILD_DOCS "Enable building with documentation." OFF)
 
 
 if(ENTT_BUILD_DOCS)
 if(ENTT_BUILD_DOCS)
-    find_package(Doxygen 1.10)
-
-    if(DOXYGEN_FOUND)
-        add_subdirectory(docs)
-    endif()
+    add_subdirectory(docs)
 endif()
 endif()

+ 1 - 0
TODO

@@ -29,3 +29,4 @@ TODO:
 * built-in no-pagination storage - no_pagination page size as limits::max
 * built-in no-pagination storage - no_pagination page size as limits::max
 * any cdynamic to support const ownership construction
 * any cdynamic to support const ownership construction
 * allow passing arguments to meta setter/getter (we can fallback on meta invoke probably)
 * allow passing arguments to meta setter/getter (we can fallback on meta invoke probably)
+* FetchContent_Populate -> FetchContent_MakeAvailable warnings

+ 55 - 51
docs/CMakeLists.txt

@@ -1,54 +1,58 @@
 # Doxygen configuration (documentation)
 # Doxygen configuration (documentation)
 
 
-include(FetchContent)
-
-FetchContent_Declare(
-    doxygen-awesome-css
-    GIT_REPOSITORY https://github.com/jothepro/doxygen-awesome-css
-    GIT_TAG main
-    GIT_SHALLOW 1
-)
-
-FetchContent_GetProperties(doxygen-awesome-css)
-
-if(NOT doxygen-awesome-css_POPULATED)
-    FetchContent_Populate(doxygen-awesome-css)
-    set(doxygen-awesome-css_INCLUDE_DIR ${doxygen-awesome-css_SOURCE_DIR})
+find_package(Doxygen 1.10)
+
+if(DOXYGEN_FOUND)
+    include(FetchContent)
+
+    FetchContent_Declare(
+        doxygen-awesome-css
+        GIT_REPOSITORY https://github.com/jothepro/doxygen-awesome-css
+        GIT_TAG main
+        GIT_SHALLOW 1
+    )
+
+    FetchContent_GetProperties(doxygen-awesome-css)
+
+    if(NOT doxygen-awesome-css_POPULATED)
+        FetchContent_Populate(doxygen-awesome-css)
+        set(doxygen-awesome-css_INCLUDE_DIR ${doxygen-awesome-css_SOURCE_DIR})
+    endif()
+
+    set(DOXY_SOURCE_DIRECTORY ${EnTT_SOURCE_DIR}/src)
+    set(DOXY_CSS_DIRECTORY ${doxygen-awesome-css_INCLUDE_DIR})
+    set(DOXY_DOCS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+    set(DOXY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+
+    configure_file(doxy.in doxy.cfg @ONLY)
+
+    add_custom_target(
+        docs ALL
+        COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxy.cfg
+        WORKING_DIRECTORY ${EnTT_SOURCE_DIR}
+        VERBATIM
+        SOURCES
+            dox/extra.dox
+            md/config.md
+            md/container.md
+            md/core.md
+            md/entity.md
+            md/faq.md
+            md/lib.md
+            md/links.md
+            md/locator.md
+            md/meta.md
+            md/poly.md
+            md/process.md
+            md/reference.md
+            md/resource.md
+            md/signal.md
+            md/unreal.md
+            doxy.in
+    )
+
+    install(
+        DIRECTORY ${DOXY_OUTPUT_DIRECTORY}/html
+        DESTINATION share/${PROJECT_NAME}-${PROJECT_VERSION}/
+    )
 endif()
 endif()
-
-set(DOXY_SOURCE_DIRECTORY ${EnTT_SOURCE_DIR}/src)
-set(DOXY_CSS_DIRECTORY ${doxygen-awesome-css_INCLUDE_DIR})
-set(DOXY_DOCS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
-set(DOXY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
-
-configure_file(doxy.in doxy.cfg @ONLY)
-
-add_custom_target(
-    docs ALL
-    COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doxy.cfg
-    WORKING_DIRECTORY ${EnTT_SOURCE_DIR}
-    VERBATIM
-    SOURCES
-        dox/extra.dox
-        md/config.md
-        md/container.md
-        md/core.md
-        md/entity.md
-        md/faq.md
-        md/lib.md
-        md/links.md
-        md/locator.md
-        md/meta.md
-        md/poly.md
-        md/process.md
-        md/reference.md
-        md/resource.md
-        md/signal.md
-        md/unreal.md
-        doxy.in
-)
-
-install(
-    DIRECTORY ${DOXY_OUTPUT_DIRECTORY}/html
-    DESTINATION share/${PROJECT_NAME}-${PROJECT_VERSION}/
-)