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:
commit
5b0444a3b5
@ -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)
|
||||||
|
@ -73,51 +73,54 @@ if(SECP256K1_BUILD_CTIME_TESTS)
|
|||||||
target_link_libraries(ctime_tests secp256k1)
|
target_link_libraries(ctime_tests secp256k1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(TARGETS secp256k1
|
if(SECP256K1_INSTALL)
|
||||||
EXPORT ${PROJECT_NAME}-targets
|
install(TARGETS secp256k1
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
EXPORT ${PROJECT_NAME}-targets
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
)
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
set(${PROJECT_NAME}_headers
|
)
|
||||||
"${PROJECT_SOURCE_DIR}/include/secp256k1.h"
|
set(${PROJECT_NAME}_headers
|
||||||
"${PROJECT_SOURCE_DIR}/include/secp256k1_preallocated.h"
|
"${PROJECT_SOURCE_DIR}/include/secp256k1.h"
|
||||||
)
|
"${PROJECT_SOURCE_DIR}/include/secp256k1_preallocated.h"
|
||||||
if(SECP256K1_ENABLE_MODULE_ECDH)
|
)
|
||||||
list(APPEND ${PROJECT_NAME}_headers "${PROJECT_SOURCE_DIR}/include/secp256k1_ecdh.h")
|
if(SECP256K1_ENABLE_MODULE_ECDH)
|
||||||
endif()
|
list(APPEND ${PROJECT_NAME}_headers "${PROJECT_SOURCE_DIR}/include/secp256k1_ecdh.h")
|
||||||
if(SECP256K1_ENABLE_MODULE_RECOVERY)
|
endif()
|
||||||
list(APPEND ${PROJECT_NAME}_headers "${PROJECT_SOURCE_DIR}/include/secp256k1_recovery.h")
|
if(SECP256K1_ENABLE_MODULE_RECOVERY)
|
||||||
endif()
|
list(APPEND ${PROJECT_NAME}_headers "${PROJECT_SOURCE_DIR}/include/secp256k1_recovery.h")
|
||||||
if(SECP256K1_ENABLE_MODULE_EXTRAKEYS)
|
endif()
|
||||||
list(APPEND ${PROJECT_NAME}_headers "${PROJECT_SOURCE_DIR}/include/secp256k1_extrakeys.h")
|
if(SECP256K1_ENABLE_MODULE_EXTRAKEYS)
|
||||||
endif()
|
list(APPEND ${PROJECT_NAME}_headers "${PROJECT_SOURCE_DIR}/include/secp256k1_extrakeys.h")
|
||||||
if(SECP256K1_ENABLE_MODULE_SCHNORRSIG)
|
endif()
|
||||||
list(APPEND ${PROJECT_NAME}_headers "${PROJECT_SOURCE_DIR}/include/secp256k1_schnorrsig.h")
|
if(SECP256K1_ENABLE_MODULE_SCHNORRSIG)
|
||||||
endif()
|
list(APPEND ${PROJECT_NAME}_headers "${PROJECT_SOURCE_DIR}/include/secp256k1_schnorrsig.h")
|
||||||
install(FILES ${${PROJECT_NAME}_headers}
|
endif()
|
||||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
install(FILES ${${PROJECT_NAME}_headers}
|
||||||
)
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
|
)
|
||||||
|
|
||||||
install(EXPORT ${PROJECT_NAME}-targets
|
install(EXPORT ${PROJECT_NAME}-targets
|
||||||
FILE ${PROJECT_NAME}-targets.cmake
|
FILE ${PROJECT_NAME}-targets.cmake
|
||||||
NAMESPACE ${PROJECT_NAME}::
|
NAMESPACE ${PROJECT_NAME}::
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||||
)
|
)
|
||||||
|
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
configure_package_config_file(
|
configure_package_config_file(
|
||||||
${PROJECT_SOURCE_DIR}/cmake/config.cmake.in
|
${PROJECT_SOURCE_DIR}/cmake/config.cmake.in
|
||||||
${PROJECT_NAME}-config.cmake
|
${PROJECT_NAME}-config.cmake
|
||||||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||||
NO_SET_AND_CHECK_MACRO
|
NO_SET_AND_CHECK_MACRO
|
||||||
)
|
)
|
||||||
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(
|
|
||||||
FILES
|
install(
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
|
FILES
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user