Merge bitcoin-core/secp256k1#1263: cmake: Make installation optional

47ac3d63cd5e00a2d50cb489461c8bc349d37912 cmake: Make installation optional (Anna “CyberTailor”)

Pull request description:

  Useful for embedding secp256k1 in a subproject.

ACKs for top commit:
  theuni:
    ACK 47ac3d63cd5e00a2d50cb489461c8bc349d37912.
  real-or-random:
    utACK 47ac3d63cd5e00a2d50cb489461c8bc349d37912
  hebasto:
    ACK 47ac3d63cd5e00a2d50cb489461c8bc349d37912, tested on Ubuntu 23.04.

Tree-SHA512: 12ac0ba9dc38adf45684055386280b669384b5a4e528a3f6f4470fd0b7f57d64dfed6a8bb9f0a84cacfcb72f509534d71676c5ba37b27297b1a96676eea44e6e
This commit is contained in:
Tim Ruffing 2023-04-20 17:39:15 +02:00
commit 5b0444a3b5
No known key found for this signature in database
GPG Key ID: 8C461CCD293F6011
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()