cmake: Make installation optional

Useful for embedding secp256k1 in a subproject.
This commit is contained in:
Anna “CyberTailor” 2023-04-09 12:51:53 +05:00
parent 2e035af251
commit 47ac3d63cd
No known key found for this signature in database
GPG Key ID: E7B76EDC50864BB1
2 changed files with 50 additions and 45 deletions

View File

@ -32,6 +32,8 @@ if(SECP256K1_DISABLE_SHARED)
set(BUILD_SHARED_LIBS OFF) set(BUILD_SHARED_LIBS OFF)
endif() endif()
option(SECP256K1_INSTALL "Enable installation" ON)
option(SECP256K1_ENABLE_MODULE_ECDH "Enable ECDH module." ON) option(SECP256K1_ENABLE_MODULE_ECDH "Enable ECDH module." ON)
if(SECP256K1_ENABLE_MODULE_ECDH) if(SECP256K1_ENABLE_MODULE_ECDH)
add_definitions(-DENABLE_MODULE_ECDH=1) add_definitions(-DENABLE_MODULE_ECDH=1)

View File

@ -73,6 +73,7 @@ if(SECP256K1_BUILD_CTIME_TESTS)
target_link_libraries(ctime_tests secp256k1) target_link_libraries(ctime_tests secp256k1)
endif() endif()
if(SECP256K1_INSTALL)
install(TARGETS secp256k1 install(TARGETS secp256k1
EXPORT ${PROJECT_NAME}-targets EXPORT ${PROJECT_NAME}-targets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
@ -115,9 +116,11 @@ configure_package_config_file(
write_basic_package_version_file(${PROJECT_NAME}-config-version.cmake write_basic_package_version_file(${PROJECT_NAME}-config-version.cmake
COMPATIBILITY SameMajorVersion COMPATIBILITY SameMajorVersion
) )
install( install(
FILES FILES
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
) )
endif()