diff --git a/CMakeLists.txt b/CMakeLists.txt index 3b90bf8a..8eda324f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,16 @@ option(PREFER_SYSTEM_XXHASH "use system xxHash if available" OFF) option(PREFER_SYSTEM_GTEST "use system gtest if available" OFF) option(STATIC_BUILD_DO_NOT_USE "try static build (experimental)" OFF) +if(DEFINED ENV{DWARFS_LOCAL_REPO_PATH}) + set(LIBFMT_GIT_REPO $ENV{DWARFS_LOCAL_REPO_PATH}/fmt) + set(GOOGLETEST_GIT_REPO $ENV{DWARFS_LOCAL_REPO_PATH}/googletest) + set(LIBARCHIVE_GIT_REPO $ENV{DWARFS_LOCAL_REPO_PATH}/libarchive) +else() + set(LIBFMT_GIT_REPO https://github.com/fmtlib/fmt.git) + set(GOOGLETEST_GIT_REPO https://github.com/google/googletest.git) + set(LIBARCHIVE_GIT_REPO https://github.com/libarchive/libarchive.git) +endif() + set(default_build_type "Release") set(CMAKE_CXX_STANDARD 20) @@ -765,7 +775,7 @@ if(STATIC_BUILD_DO_NOT_USE) ExternalProject_Add( ${_LIBARCHIVE_PRJ} PREFIX "${PROJECT_BINARY_DIR}/libarchive" - GIT_REPOSITORY "https://github.com/libarchive/libarchive.git" + GIT_REPOSITORY ${LIBARCHIVE_GIT_REPO} GIT_TAG "v3.6.1" CMAKE_ARGS ${_LIBARCHIVE_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR}/libarchive diff --git a/CMakeLists.txt.fmtlib b/CMakeLists.txt.fmtlib index c64ee244..7369edaa 100644 --- a/CMakeLists.txt.fmtlib +++ b/CMakeLists.txt.fmtlib @@ -7,7 +7,7 @@ include(ExternalProject) ExternalProject_Add( fmtlib PREFIX ${CMAKE_CURRENT_BINARY_DIR}/fmtlib - GIT_REPOSITORY https://github.com/fmtlib/fmt.git + GIT_REPOSITORY ${LIBFMT_GIT_REPO} GIT_TAG 80f8d34427d40ec5e7ce3b10ededc46bd4bd5759 CMAKE_ARGS -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER} -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/fmtlib-install diff --git a/CMakeLists.txt.gtest b/CMakeLists.txt.gtest index f2850ab8..69a6600d 100644 --- a/CMakeLists.txt.gtest +++ b/CMakeLists.txt.gtest @@ -4,7 +4,7 @@ project(googletest-download NONE) include(ExternalProject) ExternalProject_Add(googletest - GIT_REPOSITORY https://github.com/google/googletest.git + GIT_REPOSITORY ${GOOGLETEST_GIT_REPO} GIT_TAG main SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-src" BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/googletest-build"