From 529b17cfbc521ab6c78e6083f4a521bdec0bc6ac Mon Sep 17 00:00:00 2001 From: Edward Hennis Date: Wed, 10 Jun 2020 20:50:50 -0400 Subject: [PATCH] Update cmake so that rippled can build as a submodule --- Builds/CMake/CMakeFuncs.cmake | 8 ++++---- Builds/CMake/RippledCov.cmake | 6 +++--- Builds/CMake/RippledDocs.cmake | 2 +- Builds/CMake/RippledNIH.cmake | 2 +- Builds/CMake/RippledRelease.cmake | 4 ++-- Builds/CMake/deps/Rocksdb.cmake | 4 ++-- Builds/CMake/deps/Soci.cmake | 2 +- Builds/CMake/deps/Sqlite.cmake | 2 +- Builds/CMake/deps/gRPC.cmake | 2 +- 9 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Builds/CMake/CMakeFuncs.cmake b/Builds/CMake/CMakeFuncs.cmake index bb24bdc31f9..fb60fd9b4eb 100644 --- a/Builds/CMake/CMakeFuncs.cmake +++ b/Builds/CMake/CMakeFuncs.cmake @@ -35,10 +35,10 @@ function (print_ep_logs _target) COMMENT "${_target} BUILD OUTPUT" COMMAND ${CMAKE_COMMAND} -DIN_FILE=${STAMP_DIR}/${_target}-build-out.log - -P ${CMAKE_SOURCE_DIR}/Builds/CMake/echo_file.cmake + -P ${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/echo_file.cmake COMMAND ${CMAKE_COMMAND} -DIN_FILE=${STAMP_DIR}/${_target}-build-err.log - -P ${CMAKE_SOURCE_DIR}/Builds/CMake/echo_file.cmake) + -P ${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/echo_file.cmake) endfunction () #[=========================================================[ @@ -177,7 +177,7 @@ function (git_hash hash_val) endif () endif () execute_process (COMMAND ${GIT_EXECUTABLE} "log" "--pretty=${_format}" "-n1" - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} RESULT_VARIABLE _git_exit_code OUTPUT_VARIABLE _temp_hash OUTPUT_STRIP_TRAILING_WHITESPACE @@ -194,7 +194,7 @@ function (git_branch branch_val) endif () set (_branch "") execute_process (COMMAND ${GIT_EXECUTABLE} "rev-parse" "--abbrev-ref" "HEAD" - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} RESULT_VARIABLE _git_exit_code OUTPUT_VARIABLE _temp_branch OUTPUT_STRIP_TRAILING_WHITESPACE diff --git a/Builds/CMake/RippledCov.cmake b/Builds/CMake/RippledCov.cmake index b9d93f41af8..e177aa52ae2 100644 --- a/Builds/CMake/RippledCov.cmake +++ b/Builds/CMake/RippledCov.cmake @@ -28,7 +28,7 @@ if (coverage) set (extract_pattern "") if (coverage_core_only) - set (extract_pattern "${CMAKE_SOURCE_DIR}/src/ripple/") + set (extract_pattern "${CMAKE_CURRENT_SOURCE_DIR}/src/ripple/") endif () if (LLVM_COV AND LLVM_PROFDATA) @@ -72,14 +72,14 @@ if (coverage) COMMAND ${CMAKE_COMMAND} -E echo "Generating coverage- results will be in ${CMAKE_BINARY_DIR}/coverage/index.html." # create baseline info file COMMAND ${LCOV} - --no-external -d "${CMAKE_SOURCE_DIR}" -c -d . -i -o baseline.info + --no-external -d "${CMAKE_CURRENT_SOURCE_DIR}" -c -d . -i -o baseline.info | grep -v "ignoring data for external file" # run tests COMMAND ${CMAKE_COMMAND} -E echo "Running rippled tests for coverage report." COMMAND rippled --unittest$<$:=${coverage_test}> --quiet --unittest-log # Create test coverage data file COMMAND ${LCOV} - --no-external -d "${CMAKE_SOURCE_DIR}" -c -d . -o tests.info + --no-external -d "${CMAKE_CURRENT_SOURCE_DIR}" -c -d . -o tests.info | grep -v "ignoring data for external file" # Combine baseline and test coverage data COMMAND ${LCOV} diff --git a/Builds/CMake/RippledDocs.cmake b/Builds/CMake/RippledDocs.cmake index d0440f5ff8b..a3e2ae1ba5a 100644 --- a/Builds/CMake/RippledDocs.cmake +++ b/Builds/CMake/RippledDocs.cmake @@ -9,7 +9,7 @@ if (NOT TARGET Doxygen::doxygen) endif () set (doxygen_output_directory "${CMAKE_BINARY_DIR}/docs") -set (doxygen_include_path "${CMAKE_SOURCE_DIR}/src") +set (doxygen_include_path "${CMAKE_CURRENT_SOURCE_DIR}/src") set (doxygen_index_file "${doxygen_output_directory}/html/index.html") set (doxyfile "${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile") diff --git a/Builds/CMake/RippledNIH.cmake b/Builds/CMake/RippledNIH.cmake index e0c161aba78..60ab3e4bf85 100644 --- a/Builds/CMake/RippledNIH.cmake +++ b/Builds/CMake/RippledNIH.cmake @@ -13,7 +13,7 @@ if (NOT DEFINED NIH_CACHE_ROOT) if (DEFINED ENV{NIH_CACHE_ROOT}) set (NIH_CACHE_ROOT $ENV{NIH_CACHE_ROOT}) else () - set (NIH_CACHE_ROOT "${CMAKE_SOURCE_DIR}/.nih_c") + set (NIH_CACHE_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/.nih_c") endif () endif () set (nih_cache_path diff --git a/Builds/CMake/RippledRelease.cmake b/Builds/CMake/RippledRelease.cmake index eb08566b2ff..b10bf6cf023 100644 --- a/Builds/CMake/RippledRelease.cmake +++ b/Builds/CMake/RippledRelease.cmake @@ -61,7 +61,7 @@ if (is_root_project) docker run -e NIH_CACHE_ROOT=/opt/rippled_bld/pkg/.nih_c -v ${NIH_CACHE_ROOT}/pkgbuild:/opt/rippled_bld/pkg/.nih_c - -v ${CMAKE_SOURCE_DIR}:/opt/rippled_bld/pkg/rippled + -v ${CMAKE_CURRENT_SOURCE_DIR}:/opt/rippled_bld/pkg/rippled -v ${CMAKE_CURRENT_BINARY_DIR}/packages:/opt/rippled_bld/pkg/out "$<$:--volume=/etc/passwd:/etc/passwd;--volume=/etc/group:/etc/group;--user=${DOCKER_USER_ID}:${DOCKER_GROUP_ID}>" -t rippled-rpm-builder:${container_label} @@ -124,7 +124,7 @@ if (is_root_project) docker run -e NIH_CACHE_ROOT=/opt/rippled_bld/pkg/.nih_c -v ${NIH_CACHE_ROOT}/pkgbuild:/opt/rippled_bld/pkg/.nih_c - -v ${CMAKE_SOURCE_DIR}:/opt/rippled_bld/pkg/rippled + -v ${CMAKE_CURRENT_SOURCE_DIR}:/opt/rippled_bld/pkg/rippled -v ${CMAKE_CURRENT_BINARY_DIR}/packages:/opt/rippled_bld/pkg/out "$<$:--volume=/etc/passwd:/etc/passwd;--volume=/etc/group:/etc/group;--user=${DOCKER_USER_ID}:${DOCKER_GROUP_ID}>" -t rippled-dpkg-builder:${container_label} diff --git a/Builds/CMake/deps/Rocksdb.cmake b/Builds/CMake/deps/Rocksdb.cmake index f61cab3f740..eed6cefe162 100644 --- a/Builds/CMake/deps/Rocksdb.cmake +++ b/Builds/CMake/deps/Rocksdb.cmake @@ -64,13 +64,13 @@ if (local_rocksdb) PATCH_COMMAND # only used by windows build ${CMAKE_COMMAND} -E copy - ${CMAKE_SOURCE_DIR}/Builds/CMake/rocks_thirdparty.inc + ${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/rocks_thirdparty.inc /thirdparty.inc COMMAND # fixup their build version file to keep the values # from changing always ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_SOURCE_DIR}/Builds/CMake/rocksdb_build_version.cc.in + ${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/rocksdb_build_version.cc.in /util/build_version.cc.in CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} diff --git a/Builds/CMake/deps/Soci.cmake b/Builds/CMake/deps/Soci.cmake index 0bf022bea26..4015a3f2dea 100644 --- a/Builds/CMake/deps/Soci.cmake +++ b/Builds/CMake/deps/Soci.cmake @@ -51,7 +51,7 @@ else() # This patch process is likely fragile and should be reviewed carefully # whenever we update the GIT_TAG above. PATCH_COMMAND - ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/Builds/CMake/soci_patch.cmake + ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/soci_patch.cmake CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} diff --git a/Builds/CMake/deps/Sqlite.cmake b/Builds/CMake/deps/Sqlite.cmake index be2a7904e97..73760f34389 100644 --- a/Builds/CMake/deps/Sqlite.cmake +++ b/Builds/CMake/deps/Sqlite.cmake @@ -31,7 +31,7 @@ else() # for the single amalgamation source file. PATCH_COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CMAKE_SOURCE_DIR}/Builds/CMake/CMake_sqlite3.txt + ${CMAKE_CURRENT_SOURCE_DIR}/Builds/CMake/CMake_sqlite3.txt /CMakeLists.txt CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} diff --git a/Builds/CMake/deps/gRPC.cmake b/Builds/CMake/deps/gRPC.cmake index f1d2adbae13..5195ff1979c 100644 --- a/Builds/CMake/deps/gRPC.cmake +++ b/Builds/CMake/deps/gRPC.cmake @@ -312,7 +312,7 @@ set (GRPC_GEN_DIR "${CMAKE_BINARY_DIR}/proto_gen_grpc") file (MAKE_DIRECTORY ${GRPC_GEN_DIR}) set (GRPC_PROTO_SRCS) set (GRPC_PROTO_HDRS) -set (GRPC_PROTO_ROOT "${CMAKE_SOURCE_DIR}/src/ripple/proto/org") +set (GRPC_PROTO_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/src/ripple/proto/org") file(GLOB_RECURSE GRPC_DEFINITION_FILES LIST_DIRECTORIES false "${GRPC_PROTO_ROOT}/*.proto") foreach(file ${GRPC_DEFINITION_FILES}) get_filename_component(_abs_file ${file} ABSOLUTE)