diff --git a/CMakeLists.txt b/CMakeLists.txt index 98c450f05..c22bec317 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,16 +100,28 @@ 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) +configure_package_config_file( + ${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( + EnTTConfigVersion.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY AnyNewerVersion +) install( EXPORT EnTTTargets @@ -118,39 +130,14 @@ install( 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 - INSTALL_DESTINATION ${CUSTOM_INSTALL_CONFIGDIR} - PATH_VARS CMAKE_INSTALL_INCLUDEDIR -) - -write_basic_package_version_file( - ${EnTT_BINARY_DIR}/EnTTConfigVersion.cmake - VERSION ${PROJECT_VERSION} - COMPATIBILITY AnyNewerVersion -) - 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 diff --git a/TODO b/TODO index 16492a641..0867b164c 100644 --- a/TODO +++ b/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::remove, ::assign +* replace observer class with observer functions * WIP: - deprecate snapshot, loader, ... diff --git a/cmake/in/EnTTBuildConfig.cmake.in b/cmake/in/EnTTBuildConfig.cmake.in deleted file mode 100644 index 4b6ad4fb7..000000000 --- a/cmake/in/EnTTBuildConfig.cmake.in +++ /dev/null @@ -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()