Skip to content

Commit f168174

Browse files
author
Georg Schwab
committedFeb 9, 2021
Added cmake install targets
1 parent 3377fac commit f168174

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed
 

‎CMakeLists.txt

+28-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,12 @@ endif()
1919

2020

2121
add_library(fast_float INTERFACE)
22-
target_include_directories(fast_float INTERFACE include/)
22+
target_include_directories(
23+
fast_float
24+
INTERFACE
25+
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
26+
$<INSTALL_INTERFACE:include>
27+
)
2328
if(FASTFLOAT_SANITIZE)
2429
target_compile_options(fast_float INTERFACE -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined -fno-sanitize-recover=all)
2530
target_link_libraries(fast_float INTERFACE -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined -fno-sanitize-recover=all)
@@ -32,3 +37,25 @@ if(FASTFLOAT_TEST)
3237
enable_testing()
3338
add_subdirectory(tests)
3439
endif(FASTFLOAT_TEST)
40+
41+
include(CMakePackageConfigHelpers)
42+
43+
set(FASTFLOAT_VERSION_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/module/fast_float-config-version.cmake")
44+
set(FASTFLOAT_PROJECT_CONFIG "${CMAKE_CURRENT_BINARY_DIR}/module/fast_float-config.cmake")
45+
set(FASTFLOAT_INSTALL_DIR "share/fast_float")
46+
47+
write_basic_package_version_file("${FASTFLOAT_VERSION_CONFIG}" VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion)
48+
configure_package_config_file("cmake/config.cmake.in"
49+
"${FASTFLOAT_PROJECT_CONFIG}"
50+
INSTALL_DESTINATION "${FASTFLOAT_INSTALL_DIR}")
51+
52+
install(DIRECTORY "${PROJECT_SOURCE_DIR}/include/fast_float" DESTINATION "include")
53+
install(FILES "${FASTFLOAT_PROJECT_CONFIG}" "${FASTFLOAT_VERSION_CONFIG}" DESTINATION "${FASTFLOAT_INSTALL_DIR}")
54+
install(EXPORT fast_float-targets NAMESPACE fast_float:: DESTINATION "${FASTFLOAT_INSTALL_DIR}")
55+
56+
install(TARGETS fast_float
57+
EXPORT fast_float-targets
58+
RUNTIME DESTINATION bin
59+
ARCHIVE DESTINATION lib
60+
LIBRARY DESTINATION lib
61+
)

‎cmake/config.cmake.in

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
@PACKAGE_INIT@
2+
3+
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@-targets.cmake")
4+
check_required_components("@PROJECT_NAME@")

0 commit comments

Comments
 (0)
Please sign in to comment.