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
9 target_include_directories(lz4 INTERFACE ${LZ4_INCLUDE_DIR})
10 target_link_libraries(lz4 INTERFACE ${LZ4_LIBRARY})
15 include(ExternalProject)
16 include(HPHPFunctions)
18 if (CMAKE_OSX_SYSROOT)
19 set(ISYSROOT_FLAG -isysroot${CMAKE_OSX_SYSROOT})
22 SET_HHVM_THIRD_PARTY_SOURCE_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
28 FILENAME_PREFIX "lz4-"
30 set(MAKE_ARGS CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} "MOREFLAGS=-fPIC ${ISYSROOT_FLAG}")
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(
48 "${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}lz4${CMAKE_STATIC_LIBRARY_SUFFIX}"