diff --git a/cmake/configure.cmake b/cmake/configure.cmake index b90d8d19..1807b0e0 100644 --- a/cmake/configure.cmake +++ b/cmake/configure.cmake @@ -42,6 +42,25 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_COMPILE_WARNING_AS_ERROR ON) option(USE_COVERAGE "Enable coverage instrumentation" OFF) +option(PPC_EXTERNAL_PROJECTS_VERBOSE + "Show full configure/build/install logs for ExternalProject dependencies" + OFF) + +if(PPC_EXTERNAL_PROJECTS_VERBOSE) + set(PPC_EXTERNAL_PROJECT_LOG_ARGS "") + set(PPC_EXTERNAL_PROJECT_CMAKE_ARGS "") +else() + set(PPC_EXTERNAL_PROJECT_LOG_ARGS + LOG_CONFIGURE + ON + LOG_BUILD + ON + LOG_INSTALL + ON + LOG_OUTPUT_ON_FAILURE + ON) + set(PPC_EXTERNAL_PROJECT_CMAKE_ARGS -DCMAKE_INSTALL_MESSAGE=NEVER) +endif() set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") set(CMAKE_BUILD_RPATH "${CMAKE_BINARY_DIR}/ppc_onetbb/install/lib") diff --git a/cmake/gtest.cmake b/cmake/gtest.cmake index 25b3e68e..b458ba61 100644 --- a/cmake/gtest.cmake +++ b/cmake/gtest.cmake @@ -15,6 +15,7 @@ ExternalProject_Add( -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} -DCMAKE_CXX_STANDARD_REQUIRED=${CMAKE_CXX_STANDARD_REQUIRED} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + ${PPC_EXTERNAL_PROJECT_CMAKE_ARGS} -DCMAKE_C_FLAGS=-w -DCMAKE_CXX_FLAGS=-w -DBUILD_GMOCK=OFF @@ -26,7 +27,8 @@ ExternalProject_Add( INSTALL_COMMAND "${CMAKE_COMMAND}" --install "${CMAKE_CURRENT_BINARY_DIR}/ppc_googletest/build" --config $ - --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_googletest/install") + --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_googletest/install" + ${PPC_EXTERNAL_PROJECT_LOG_ARGS}) function(ppc_link_gtest exec_func_lib) # Add external project include directories diff --git a/cmake/json.cmake b/cmake/json.cmake index 9c8b726c..5cd43f3c 100644 --- a/cmake/json.cmake +++ b/cmake/json.cmake @@ -15,13 +15,15 @@ ExternalProject_Add( -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + ${PPC_EXTERNAL_PROJECT_CMAKE_ARGS} -DJSON_BuildTests=OFF BUILD_COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}/ppc_json/build" --config $ --parallel INSTALL_COMMAND "${CMAKE_COMMAND}" --install "${CMAKE_CURRENT_BINARY_DIR}/ppc_json/build" - --config $ --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_json/install") + --config $ --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_json/install" + ${PPC_EXTERNAL_PROJECT_LOG_ARGS}) function(ppc_link_json exec_func_lib) # Add external project include directories diff --git a/cmake/libenvpp.cmake b/cmake/libenvpp.cmake index c87721c3..33b35575 100644 --- a/cmake/libenvpp.cmake +++ b/cmake/libenvpp.cmake @@ -13,6 +13,7 @@ ExternalProject_Add( -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER} -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + ${PPC_EXTERNAL_PROJECT_CMAKE_ARGS} -DLIBENVPP_TESTS=OFF -DLIBENVPP_EXAMPLES=OFF BUILD_COMMAND @@ -21,7 +22,8 @@ ExternalProject_Add( INSTALL_COMMAND "${CMAKE_COMMAND}" --install "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/build" --config $ - --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/install") + --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/install" + ${PPC_EXTERNAL_PROJECT_LOG_ARGS}) string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_lower) if(cmake_build_type_lower STREQUAL "debug") diff --git a/cmake/onetbb.cmake b/cmake/onetbb.cmake index 6c559a24..09502e47 100644 --- a/cmake/onetbb.cmake +++ b/cmake/onetbb.cmake @@ -27,6 +27,7 @@ if(NOT ENABLE_SYSTEM_TBB) -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} -DCMAKE_CXX_STANDARD_REQUIRED=ON -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + ${PPC_EXTERNAL_PROJECT_CMAKE_ARGS} -DTBB_STRICT=OFF -DTBB_TEST=OFF BUILD_COMMAND @@ -36,6 +37,7 @@ if(NOT ENABLE_SYSTEM_TBB) "${CMAKE_COMMAND}" --install "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/build" --config $ --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/install" + ${PPC_EXTERNAL_PROJECT_LOG_ARGS} TEST_COMMAND ${ppc_onetbb_TEST_COMMAND}) install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/install/"