Updating submodules
[hiphop-php.git] / third-party / lz4 / CMakeLists.txt
blobc6bf658be83bede2dd6018840ad6553fb4141558
1 add_library(lz4 INTERFACE)
3 option(FORCE_BUNDLED_LZ4 "Always build lz4, instead of using the system version" ON)
5 if (NOT FORCE_BUNDLED_LZ4)
6   find_package(LZ4)  # also checks minimum required version
8   if (LZ4_FOUND)
9     target_include_directories(lz4 INTERFACE ${LZ4_INCLUDE_DIR})
10     target_link_libraries(lz4 INTERFACE ${LZ4_LIBRARY})
11     return()
12   endif ()
13 endif ()
15 include(ExternalProject)
16 include(HPHPFunctions)
18 if (CMAKE_OSX_SYSROOT)
19   set(ISYSROOT_FLAG -isysroot${CMAKE_OSX_SYSROOT})
20 endif ()
22 SET_HHVM_THIRD_PARTY_SOURCE_ARGS(
23   LZ4_DOWNLOAD_ARGS
24   SOURCE_URL "https://github.com/lz4/lz4/archive/v1.9.2.tar.gz"
25   SOURCE_HASH "SHA256=658ba6191fa44c92280d4aa2c271b0f4fbc0e34d249578dd05e50e76d0e5efcc"
26   # By default, we'd look for v1.9.2.tar.gz in the cache - let's look for
27   # lz4-v1.9.2 instead
28   FILENAME_PREFIX "lz4-"
30 set(MAKE_ARGS CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} "MOREFLAGS=-fPIC ${ISYSROOT_FLAG}")
31 ExternalProject_Add(
32   bundled_lz4
33   ${LZ4_DOWNLOAD_ARGS}
34   EXCLUDE_FROM_ALL
35   BUILD_IN_SOURCE true
36   CONFIGURE_COMMAND ""
37   BUILD_COMMAND \$\(MAKE\) ${MAKE_ARGS}
38   INSTALL_COMMAND \$\(MAKE\) ${MAKE_ARGS} PREFIX=<INSTALL_DIR> install
41 ExternalProject_Get_Property(bundled_lz4 INSTALL_DIR)
43 add_dependencies(lz4 bundled_lz4)
44 target_include_directories(lz4 INTERFACE "${INSTALL_DIR}/include")
45 target_link_libraries(
46   lz4
47   INTERFACE
48   "${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}lz4${CMAKE_STATIC_LIBRARY_SUFFIX}"