diff --git a/cmake/modules/jsoncpp.cmake b/cmake/modules/jsoncpp.cmake index 970aba0411..34654168d8 100644 --- a/cmake/modules/jsoncpp.cmake +++ b/cmake/modules/jsoncpp.cmake @@ -58,6 +58,7 @@ else() -DJSONCPP_WITH_POST_BUILD_UNITTEST=Off -DCMAKE_INSTALL_PREFIX=${JSONCPP_SRC} -DCMAKE_INSTALL_LIBDIR=lib + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} BUILD_BYPRODUCTS ${JSONCPP_LIB} ) else() diff --git a/cmake/modules/libbpf.cmake b/cmake/modules/libbpf.cmake index a2f5a0328c..bb200583b2 100644 --- a/cmake/modules/libbpf.cmake +++ b/cmake/modules/libbpf.cmake @@ -39,7 +39,7 @@ else() URL_HASH "SHA256=11db86acd627e468bc48b7258c1130aba41a12c4d364f78e184fd2f5a913d861" CONFIGURE_COMMAND mkdir -p build root - BUILD_COMMAND make BUILD_STATIC_ONLY=y OBJDIR=${LIBBPF_BUILD_DIR}/build DESTDIR=${LIBBPF_BUILD_DIR}/root NO_PKG_CONFIG=1 "EXTRA_CFLAGS=-fPIC -I${LIBELF_INCLUDE} -I${ZLIB_INCLUDE}" "LDFLAGS=-Wl,-Bstatic" "EXTRA_LDFLAGS=-L${LIBELF_SRC}/libelf/libelf -L${ZLIB_SRC}" -C ${LIBBPF_SRC}/libbpf/src install install_uapi_headers + BUILD_COMMAND make CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} BUILD_STATIC_ONLY=y OBJDIR=${LIBBPF_BUILD_DIR}/build DESTDIR=${LIBBPF_BUILD_DIR}/root NO_PKG_CONFIG=1 "EXTRA_CFLAGS=-fPIC -I${LIBELF_INCLUDE} -I${ZLIB_INCLUDE}" "LDFLAGS=-Wl,-Bstatic" "EXTRA_LDFLAGS=-L${LIBELF_SRC}/libelf/libelf -L${ZLIB_SRC}" -C ${LIBBPF_SRC}/libbpf/src install install_uapi_headers INSTALL_COMMAND "" UPDATE_COMMAND "" BUILD_BYPRODUCTS ${LIBBPF_LIB} diff --git a/cmake/modules/libelf.cmake b/cmake/modules/libelf.cmake index 1b7311f733..fe37ced4d3 100644 --- a/cmake/modules/libelf.cmake +++ b/cmake/modules/libelf.cmake @@ -52,7 +52,7 @@ else() DEPENDS zlib URL "https://sourceware.org/elfutils/ftp/0.189/elfutils-0.189.tar.bz2" URL_HASH "SHA256=39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8" - CONFIGURE_COMMAND ./configure LDFLAGS=-L${ZLIB_SRC} "CFLAGS=${LIBELF_CFLAGS}" --enable-deterministic-archives --disable-debuginfod --disable-libdebuginfod --without-zstd + CONFIGURE_COMMAND ./configure CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} LDFLAGS=-L${ZLIB_SRC} "CFLAGS=${LIBELF_CFLAGS}" --enable-deterministic-archives --disable-debuginfod --disable-libdebuginfod --without-zstd BUILD_IN_SOURCE 1 BUILD_COMMAND make -C lib libeu.a COMMAND make -C libelf libelf${LIBELF_LIB_SUFFIX} diff --git a/cmake/modules/re2.cmake b/cmake/modules/re2.cmake index 55c368d47b..e104bbf655 100644 --- a/cmake/modules/re2.cmake +++ b/cmake/modules/re2.cmake @@ -53,6 +53,7 @@ else() -DCMAKE_POSITION_INDEPENDENT_CODE=${ENABLE_PIC} -DRE2_BUILD_TESTING=OFF -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_INSTALL_PREFIX=${RE2_SRC}) else() # CMake 3.29.1 removed the support for the `PACKAGE_PREFIX_DIR` @@ -72,6 +73,7 @@ else() -DCMAKE_POSITION_INDEPENDENT_CODE=${ENABLE_PIC} -DRE2_BUILD_TESTING=OFF -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_INSTALL_PREFIX=${RE2_SRC}) endif() else() diff --git a/cmake/modules/tbb.cmake b/cmake/modules/tbb.cmake index a85387fd09..f70a3af5d7 100644 --- a/cmake/modules/tbb.cmake +++ b/cmake/modules/tbb.cmake @@ -57,14 +57,17 @@ else() if(NOT TARGET tbb) message(STATUS "Using bundled tbb in '${TBB_SRC}'") - set(TBB_SRC_URL "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.9.0.tar.gz") - set(TBB_SRC_URL_HASH "SHA256=1ce48f34dada7837f510735ff1172f6e2c261b09460e3bf773b49791d247d24e") + set(TBB_SRC_URL "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.12.0.tar.gz") + set(TBB_SRC_URL_HASH "SHA256=c7bb7aa69c254d91b8f0041a71c5bcc3936acb64408a1719aec0b2b7639dd84f") set(TBB_FLAGS "") if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") # latest TBB has issues with GCC >= 12 # see: https://github.com/oneapi-src/oneTBB/issues/843#issuecomment-1152646035 set(TBB_FLAGS "-Wno-error=stringop-overflow") endif() + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(TBB_FLAGS $<$>:-mwaitpkg>) + endif() if(NOT WIN32) ExternalProject_Add(tbb @@ -79,6 +82,7 @@ else() -DTBB_OUTPUT_DIR_BASE=lib -DCMAKE_CXX_FLAGS="${TBB_FLAGS}" -DCMAKE_POSITION_INDEPENDENT_CODE=${ENABLE_PIC} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} BUILD_BYPRODUCTS ${TBB_LIB} INSTALL_COMMAND "") else() @@ -98,6 +102,7 @@ else() -DTBB_OUTPUT_DIR_BASE=lib -DCMAKE_CXX_FLAGS="${TBB_FLAGS}" -DCMAKE_POSITION_INDEPENDENT_CODE=${ENABLE_PIC} + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} BUILD_BYPRODUCTS ${TBB_LIB} INSTALL_COMMAND "") else() diff --git a/cmake/modules/zlib.cmake b/cmake/modules/zlib.cmake index 2f30984c86..48d76860ef 100644 --- a/cmake/modules/zlib.cmake +++ b/cmake/modules/zlib.cmake @@ -61,7 +61,7 @@ else() PREFIX "${PROJECT_BINARY_DIR}/zlib-prefix" URL "https://github.com/madler/zlib/releases/download/v1.3.1/zlib-1.3.1.tar.gz" URL_HASH "SHA256=9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23" - CONFIGURE_COMMAND CFLAGS=${ZLIB_CFLAGS} ./configure --prefix=${ZLIB_SRC} ${ZLIB_CONFIGURE_FLAGS} + CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CFLAGS=${ZLIB_CFLAGS} ./configure --prefix=${ZLIB_SRC} ${ZLIB_CONFIGURE_FLAGS} BUILD_COMMAND make BUILD_IN_SOURCE 1 BUILD_BYPRODUCTS ${ZLIB_LIB}