فهرست منبع

build system: updated install process (close #421)

Michele Caini 6 سال پیش
والد
کامیت
23e839b40e
3فایلهای تغییر یافته به همراه18 افزوده شده و 34 حذف شده
  1. 15 28
      CMakeLists.txt
  2. 3 0
      TODO
  3. 0 6
      cmake/in/EnTTBuildConfig.cmake.in

+ 15 - 28
CMakeLists.txt

@@ -100,57 +100,44 @@ target_compile_features(EnTT INTERFACE cxx_std_17)
 # Install EnTT
 #
 
+include(CMakePackageConfigHelpers)
+
 if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
     set(CUSTOM_INSTALL_CONFIGDIR cmake)
 else()
     set(CUSTOM_INSTALL_CONFIGDIR ${CMAKE_INSTALL_LIBDIR}/cmake/entt)
 endif()
 
-install(DIRECTORY src/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
 install(TARGETS EnTT EXPORT EnTTTargets)
 
-export(EXPORT EnTTTargets FILE ${EnTT_BINARY_DIR}/EnTTTargets.cmake)
-
-install(
-    EXPORT EnTTTargets
-    FILE EnTTTargets.cmake
-    DESTINATION ${CUSTOM_INSTALL_CONFIGDIR}
-    NAMESPACE EnTT::
-)
-
-#
-# Build tree package config file
-#
-
-configure_file(cmake/in/EnTTBuildConfig.cmake.in EnTTConfig.cmake @ONLY)
-
-include(CMakePackageConfigHelpers)
-
-#
-# Install tree package config file
-#
-
 configure_package_config_file(
-    cmake/in/EnTTConfig.cmake.in
-    ${CUSTOM_INSTALL_CONFIGDIR}/EnTTConfig.cmake
+    ${EnTT_SOURCE_DIR}/cmake/in/EnTTConfig.cmake.in
+    EnTTConfig.cmake
     INSTALL_DESTINATION ${CUSTOM_INSTALL_CONFIGDIR}
     PATH_VARS CMAKE_INSTALL_INCLUDEDIR
 )
 
 write_basic_package_version_file(
-    ${EnTT_BINARY_DIR}/EnTTConfigVersion.cmake
+    EnTTConfigVersion.cmake
     VERSION ${PROJECT_VERSION}
     COMPATIBILITY AnyNewerVersion
 )
 
+install(
+    EXPORT EnTTTargets
+    FILE EnTTTargets.cmake
+    DESTINATION ${CUSTOM_INSTALL_CONFIGDIR}
+    NAMESPACE EnTT::
+)
+
 install(
     FILES
-        ${EnTT_BINARY_DIR}/${CUSTOM_INSTALL_CONFIGDIR}/EnTTConfig.cmake
-        ${EnTT_BINARY_DIR}/EnTTConfigVersion.cmake
+        ${PROJECT_BINARY_DIR}/EnTTConfig.cmake
+        ${PROJECT_BINARY_DIR}/EnTTConfigVersion.cmake
     DESTINATION ${CUSTOM_INSTALL_CONFIGDIR}
 )
 
-export(PACKAGE EnTT)
+install(DIRECTORY src/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
 
 #
 # Tests

+ 3 - 0
TODO

@@ -16,7 +16,10 @@
 * any-of rule for views/groups (eg entity has A and any of B/C/D)
   - get -> all, exclude -> none
 * review prepare after clone and the others have been removed
+
+Next:
 * review pool<T>::remove, ::assign
+* replace observer class with observer functions
 
 * WIP:
  - deprecate snapshot, loader, ...

+ 0 - 6
cmake/in/EnTTBuildConfig.cmake.in

@@ -1,6 +0,0 @@
-set(ENTT_VERSION "@PROJECT_VERSION@")
-set(ENTT_INCLUDE_DIRS "@CMAKE_CURRENT_SOURCE_DIR@/src")
-
-if(NOT CMAKE_VERSION VERSION_LESS "3.0")
-    include("${CMAKE_CURRENT_LIST_DIR}/EnTTTargets.cmake")
-endif()