From 8a038c6ef6b8f221252d962fd8743683941505d8 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Tue, 17 Jan 2017 13:22:58 -0800 Subject: Forward compilation flags to ExternalProject_Add --- cmake/external/googletest.cmake | 5 ++++- cmake/external/libfuzzer.cmake | 4 ++-- cmake/external/libxml2.cmake | 12 ++++++++---- cmake/external/protobuf.cmake | 2 ++ cmake/external/zlib.cmake | 3 ++- 5 files changed, 18 insertions(+), 8 deletions(-) (limited to 'cmake') diff --git a/cmake/external/googletest.cmake b/cmake/external/googletest.cmake index 2ee1095..0600595 100644 --- a/cmake/external/googletest.cmake +++ b/cmake/external/googletest.cmake @@ -37,6 +37,9 @@ ExternalProject_Add(${GTEST_TARGET} GIT_REPOSITORY https://github.com/google/googletest.git GIT_TAG master UPDATE_COMMAND "" - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${GTEST_INSTALL_DIR} + CMAKE_CACHE_ARGS ${EXTERNAL_PROJECT_CMAKE_COMPILERS} + CMAKE_ARGS ${EXTERNAL_PROJECT_CMAKE_ARGS} + ${CMAKE_ARGS} + -DCMAKE_INSTALL_PREFIX=${GTEST_INSTALL_DIR} BUILD_BYPRODUCTS ${GTEST_BUILD_BYPRODUCTS} ) diff --git a/cmake/external/libfuzzer.cmake b/cmake/external/libfuzzer.cmake index 1e05ddd..eefe86c 100644 --- a/cmake/external/libfuzzer.cmake +++ b/cmake/external/libfuzzer.cmake @@ -32,8 +32,8 @@ ExternalProject_Add(${LIBFUZZER_TARGET} GIT_REPOSITORY https://chromium.googlesource.com/chromium/llvm-project/llvm/lib/Fuzzer GIT_TAG master UPDATE_COMMAND "" - CMAKE_CACHE_ARGS "-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}" - "-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}" + CMAKE_CACHE_ARGS ${EXTERNAL_PROJECT_CMAKE_COMPILERS} + # libFuzzer needs very specific set of flags, so we don't forward EXTERNAL_PROJECT_CMAKE_ARGS CMAKE_ARGS -DLLVM_USE_SANITIZE_COVERAGE=YES -DLLVM_USE_SANITIZER=Address -DCMAKE_CXX_FLAGS=-std=c++11 diff --git a/cmake/external/libxml2.cmake b/cmake/external/libxml2.cmake index 2df5aa8..55b0d42 100644 --- a/cmake/external/libxml2.cmake +++ b/cmake/external/libxml2.cmake @@ -33,12 +33,16 @@ endforeach(lib) include (ExternalProject) ExternalProject_Add(${LIBXML2_TARGET} PREFIX ${LIBXML2_TARGET} - # TODO(vitalybuka): Switch to upstream after https://github.com/GNOME/libxml2/pull/5 - GIT_REPOSITORY https://github.com/vitalybuka/libxml2.git + GIT_REPOSITORY https://github.com/GNOME/libxml2.git GIT_TAG master UPDATE_COMMAND "" - CONFIGURE_COMMAND ${LIBXML2_SRC_DIR}/autogen.sh && ${LIBXML2_SRC_DIR}/configure --without-python --prefix=${LIBXML2_INSTALL_DIR} - BUILD_COMMAND make -j ${CPU_COUNT} all + CONFIGURE_COMMAND ${LIBXML2_SRC_DIR}/autogen.sh --without-python + --prefix=${LIBXML2_INSTALL_DIR} + CC=${CMAKE_C_COMPILER} + CXX=${CMAKE_CXX_COMPILER} + CFLAGS=${EXTRA_FLAGS} + CXXFLAGS=${EXTRA_FLAGS} + BUILD_COMMAND make -j ${CPU_COUNT} all VERBOSE=1 INSTALL_COMMAND make install BUILD_BYPRODUCTS ${LIBXML2_BUILD_BYPRODUCTS} ) diff --git a/cmake/external/protobuf.cmake b/cmake/external/protobuf.cmake index 0b66db0..f0a01cc 100644 --- a/cmake/external/protobuf.cmake +++ b/cmake/external/protobuf.cmake @@ -50,6 +50,8 @@ ExternalProject_Add(${PROTOBUF_TARGET} -DCMAKE_INSTALL_PREFIX=${PROTOFUB_INSTALL_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_POSITION_INDEPENDENT_CODE=ON + ${EXTERNAL_PROJECT_CMAKE_COMPILERS} + ${EXTERNAL_PROJECT_CMAKE_ARGS} -Dprotobuf_BUILD_TESTS=OFF BUILD_BYPRODUCTS ${PROTOFUB_BUILD_BYPRODUCTS} ) diff --git a/cmake/external/zlib.cmake b/cmake/external/zlib.cmake index c897557..e2786ef 100644 --- a/cmake/external/zlib.cmake +++ b/cmake/external/zlib.cmake @@ -35,6 +35,7 @@ ExternalProject_Add(${ZLIB_TARGET} GIT_REPOSITORY https://github.com/madler/zlib GIT_TAG master UPDATE_COMMAND "" - CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${ZLIB_INSTALL_DIR} + CMAKE_CACHE_ARGS ${EXTERNAL_PROJECT_CMAKE_COMPILERS} + CMAKE_ARGS ${EXTERNAL_PROJECT_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${ZLIB_INSTALL_DIR} BUILD_BYPRODUCTS ${ZLIB_BUILD_BYPRODUCTS} ) -- cgit v1.2.3