mirror of
https://github.com/fastfloat/fast_float.git
synced 2025-12-06 16:56:57 +08:00
Merge pull request #143 from OlivierLDff/floatfloat-install
🔨 Introduce FASTFLOAT_INSTALL to make install optional
This commit is contained in:
commit
c7286b8ad1
@ -20,6 +20,11 @@ if (NOT CMAKE_BUILD_TYPE)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
option(FASTFLOAT_INSTALL "Enable install" ON)
|
||||||
|
|
||||||
|
if(FASTFLOAT_INSTALL)
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_library(fast_float INTERFACE)
|
add_library(fast_float INTERFACE)
|
||||||
add_library(FastFloat::fast_float ALIAS fast_float)
|
add_library(FastFloat::fast_float ALIAS fast_float)
|
||||||
@ -27,7 +32,7 @@ target_include_directories(
|
|||||||
fast_float
|
fast_float
|
||||||
INTERFACE
|
INTERFACE
|
||||||
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
|
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
|
||||||
$<INSTALL_INTERFACE:include>
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||||
)
|
)
|
||||||
target_compile_features(fast_float INTERFACE cxx_std_11)
|
target_compile_features(fast_float INTERFACE cxx_std_11)
|
||||||
if(FASTFLOAT_SANITIZE)
|
if(FASTFLOAT_SANITIZE)
|
||||||
@ -42,29 +47,30 @@ if(MSVC_VERSION GREATER 1910)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
if(FASTFLOAT_INSTALL)
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
set(FASTFLOAT_VERSION_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/module/FastFloatConfigVersion.cmake")
|
set(FASTFLOAT_VERSION_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/module/FastFloatConfigVersion.cmake")
|
||||||
set(FASTFLOAT_PROJECT_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/module/FastFloatConfig.cmake")
|
set(FASTFLOAT_PROJECT_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/module/FastFloatConfig.cmake")
|
||||||
set(FASTFLOAT_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_DATAROOTDIR}/cmake/FastFloat")
|
set(FASTFLOAT_CONFIG_INSTALL_DIR "${CMAKE_INSTALL_DATAROOTDIR}/cmake/FastFloat")
|
||||||
|
|
||||||
if(${CMAKE_VERSION} VERSION_LESS "3.14")
|
if(${CMAKE_VERSION} VERSION_LESS "3.14")
|
||||||
write_basic_package_version_file("${FASTFLOAT_VERSION_CONFIG}" VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion)
|
write_basic_package_version_file("${FASTFLOAT_VERSION_CONFIG}" VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion)
|
||||||
else()
|
else()
|
||||||
write_basic_package_version_file("${FASTFLOAT_VERSION_CONFIG}" VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion ARCH_INDEPENDENT)
|
write_basic_package_version_file("${FASTFLOAT_VERSION_CONFIG}" VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion ARCH_INDEPENDENT)
|
||||||
|
endif()
|
||||||
|
configure_package_config_file("cmake/config.cmake.in"
|
||||||
|
"${FASTFLOAT_PROJECT_CONFIG}"
|
||||||
|
INSTALL_DESTINATION "${FASTFLOAT_CONFIG_INSTALL_DIR}")
|
||||||
|
|
||||||
|
install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/fast_float" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
||||||
|
install(FILES "${FASTFLOAT_PROJECT_CONFIG}" "${FASTFLOAT_VERSION_CONFIG}" DESTINATION "${FASTFLOAT_CONFIG_INSTALL_DIR}")
|
||||||
|
install(EXPORT ${PROJECT_NAME}-targets NAMESPACE FastFloat:: DESTINATION "${FASTFLOAT_CONFIG_INSTALL_DIR}")
|
||||||
|
|
||||||
|
install(TARGETS fast_float
|
||||||
|
EXPORT ${PROJECT_NAME}-targets
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
configure_package_config_file("cmake/config.cmake.in"
|
|
||||||
"${FASTFLOAT_PROJECT_CONFIG}"
|
|
||||||
INSTALL_DESTINATION "${FASTFLOAT_CONFIG_INSTALL_DIR}")
|
|
||||||
|
|
||||||
install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/fast_float" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
||||||
install(FILES "${FASTFLOAT_PROJECT_CONFIG}" "${FASTFLOAT_VERSION_CONFIG}" DESTINATION "${FASTFLOAT_CONFIG_INSTALL_DIR}")
|
|
||||||
install(EXPORT ${PROJECT_NAME}-targets NAMESPACE FastFloat:: DESTINATION "${FASTFLOAT_CONFIG_INSTALL_DIR}")
|
|
||||||
|
|
||||||
install(TARGETS fast_float
|
|
||||||
EXPORT ${PROJECT_NAME}-targets
|
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
)
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user