repertory/cmake/libraries/libsodium.cmake
Scott E. Graves 32facdc2ff
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good
updated build system
2024-08-04 11:02:17 -05:00

45 lines
1.3 KiB
CMake

if(PROJECT_ENABLE_LIBSODIUM)
if(PROJECT_BUILD)
pkg_check_modules(SODIUM libsodium=${LIBSODIUM_VERSION} REQUIRED)
add_definitions(-DPROJECT_ENABLE_LIBSODIUM)
include_directories(BEFORE SYSTEM ${SODIUM_INCLUDE_DIRS})
if(PROJECT_IS_MINGW_UNIX AND PROJECT_STATIC_LINK)
link_libraries(/mingw64/lib/libsodium.a)
else()
link_libraries(${SODIUM_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()