repertory/cmake/libraries/libsodium.cmake
Scott E. Graves 9ce4c5a494
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...
updated build system
2024-08-04 10:30:49 -05:00

51 lines
1.3 KiB
CMake

if(PROJECT_ENABLE_LIBSODIUM)
if(PROJECT_BUILD)
add_definitions(-DPROJECT_ENABLE_LIBSODIUM)
pkg_check_modules(SODIUM libsodium=${LIBSODIUM_VERSION} REQUIRED)
include_directories(BEFORE SYSTEM
${SODIUM_INCLUDE_DIRS}
)
if(PROJECT_BUILD_SHARED_LIBS)
link_libraries(
${SODIUM_LINK_LIBRARIES}
)
else()
link_libraries(
${SODIUM_STATIC_LINK_LIBRARIES}
)
endif()
elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32)
if(PROJECT_IS_MINGW)
set(LIBSODIUM_TYPE mingw64)
else()
set(LIBSODIUM_TYPE linux)
endif()
if(PROJECT_BUILD_SHARED_LIBS)
set(LIBSODIUM_ENABLE_SHARED yes)
else()
set(LIBSODIUM_ENABLE_SHARED no)
endif()
ExternalProject_Add(libsodium_project
PREFIX external
URL ${PROJECT_3RD_PARTY_DIR}/libsodium-${LIBSODIUM_VERSION}.tar.gz
URL_HASH SHA256=ebb65ef6ca439333c2bb41a0c1990587288da07f6c7fd07cb3a18cc18d30ce19
BUILD_IN_SOURCE 1
LIST_SEPARATOR |
CONFIGURE_COMMAND ${PROJECT_3RD_PARTY_DIR}/libsodium_configure.sh
${LIBSODIUM_TYPE}
${PROJECT_MARCH}
${PROJECT_EXTERNAL_BUILD_ROOT}
${LIBSODIUM_ENABLE_SHARED}
BUILD_COMMAND make -j1
INSTALL_COMMAND make install
)
list(APPEND PROJECT_DEPENDENCIES libsodium_project)
endif()
endif()