repertory/cmake/libraries/libsodium.cmake

48 lines
1.2 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}
)
link_libraries(
${SODIUM_LINK_LIBRARIES}
)
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
)
set(PROJECT_DEPENDENCIES
${PROJECT_DEPENDENCIES}
libsodium_project
)
endif()
endif()