1 include(ExternalProject)
4 SET_HHVM_THIRD_PARTY_SOURCE_ARGS(
5 DOUBLE_CONVERSION_DOWNLOAD_ARGS
6 SOURCE_URL "https://github.com/google/double-conversion/archive/refs/tags/v3.0.1.tar.gz"
7 SOURCE_HASH "SHA256=d400c86417df2980b60dc27ad68249dd124964738916d20cdc9c90b42de86490"
8 # The tarball name is just the tag name, which can conflict in the cache
9 FILENAME_PREFIX "double-conversion-"
13 bundled_double-conversion
14 ${DOUBLE_CONVERSION_DOWNLOAD_ARGS}
16 -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
17 -DCMAKE_INSTALL_LIBDIR=lib
18 -DCMAKE_INSTALL_INCLUDEDIR=include
19 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
20 -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
21 -DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
25 option(FORCE_BUNDLED_DOUBLE_CONVERSION "Always use bundled double-conversion" OFF)
26 if(FORCE_BUNDLED_DOUBLE_CONVERSION)
27 set(DOUBLE_CONVERSION_FOUND FALSE)
29 find_package(DoubleConversion)
32 add_library(double-conversion INTERFACE)
33 if(DOUBLE_CONVERSION_FOUND)
34 set_target_properties(
37 INTERFACE_INCLUDE_DIRECTORIES "${DOUBLE_CONVERSION_INCLUDE_DIR}"
39 target_link_libraries(double-conversion INTERFACE "${DOUBLE_CONVERSION_LIBRARY}")
41 add_dependencies(double-conversion bundled_double-conversion)
42 ExternalProject_Get_Property(bundled_double-conversion INSTALL_DIR)
43 set_target_properties(
46 INTERFACE_INCLUDE_DIRECTORIES "${INSTALL_DIR}/include"
48 target_link_libraries(
51 "${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}double-conversion${CMAKE_STATIC_LIBRARY_SUFFIX}"