Updating submodules
[hiphop-php.git] / third-party / libsodium / CMakeLists.txt
blobcd43996c38b2de7a397632f8cfb7783e7dc1308c
1 add_library(libsodium INTERFACE)
2 target_compile_definitions(libsodium INTERFACE -DHAVE_LIBSODIUM=1)
4 option(FORCE_BUNDLED_LIBSODIUM "Always build libsodium, instead of using the system version" OFF)
6 if (NOT FORCE_BUNDLED_LIBSODIUM)
7   find_package(LibSodium 1.0.9)
9   if (LIBSODIUM_INCLUDE_DIRS AND LIBSODIUM_LIBRARIES)
10     message(STATUS "Using system libsodium ${LIBSODIUM_VERSION}")
11     target_include_directories(libsodium INTERFACE ${LIBSODIUM_INCLUDE_DIRS})
12     target_link_libraries(libsodium INTERFACE ${LIBSODIUM_LIBRARIES})
13     return()
14   endif ()
15 endif ()
17 message(STATUS "Using third-party bundled libsodium")
19 include(ExternalProject)
20 include(HPHPFunctions)
22 SET_HHVM_THIRD_PARTY_SOURCE_ARGS(
23   LIBSODIUM_DOWNLOAD_ARGS
24   SOURCE_URL
25   "https://github.com/jedisct1/libsodium/releases/download/1.0.18-RELEASE/libsodium-1.0.18.tar.gz"
26   SOURCE_HASH
27   "SHA512=17e8638e46d8f6f7d024fe5559eccf2b8baf23e143fadd472a7d29d228b186d86686a5e6920385fe2020729119a5f12f989c3a782afbd05a8db4819bb18666ef"
30 if (CMAKE_OSX_SYSROOT)
31   set(ISYSROOT_FLAG -isysroot${CMAKE_OSX_SYSROOT})
32 endif ()
34 ExternalProject_Add(
35   bundled_libsodium
36   ${LIBSODIUM_DOWNLOAD_ARGS}
37   CONFIGURE_COMMAND
38   /usr/bin/env
39     CC=${CMAKE_C_COMPILER}
40     CXX=${CMAKE_CXX_COMPILER}
41     SDK=${CMAKE_OSX_SYSROOT}
42     CFLAGS=${ISYSROOT_FLAG}
43     CXXFLAGS=${ISYSROOT_FLAG}
44     LDFLAGS=${ISYSROOT_FLAG}
45     <SOURCE_DIR>/configure
46     "--prefix=<INSTALL_DIR>"
47     "--libdir=<INSTALL_DIR>/lib"
48     "--includedir=<INSTALL_DIR>/include"
49     --disable-debug
50     --disable-dependency-tracking
51     --disable-shared
52     --enable-static
54 ExternalProject_Get_Property(bundled_libsodium INSTALL_DIR)
55 target_include_directories(libsodium INTERFACE "${INSTALL_DIR}/include")
56 add_dependencies(libsodium bundled_libsodium)
57 target_link_libraries(
58   libsodium
59   INTERFACE
60   "${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}sodium${CMAKE_STATIC_LIBRARY_SUFFIX}"