Allow cloning external projects from local repos

This commit is contained in:
Marcus Holland-Moritz 2023-05-20 22:04:17 +02:00
parent 032c69cbd9
commit fec44aa774
3 changed files with 13 additions and 3 deletions

View File

@ -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

View File

@ -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

View File

@ -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"