diff --git a/palace/cmake/CheckCompilerFeatureSupport.cmake b/palace/cmake/CheckCompilerFeatureSupport.cmake index ff439c8866..ba96987147 100644 --- a/palace/cmake/CheckCompilerFeatureSupport.cmake +++ b/palace/cmake/CheckCompilerFeatureSupport.cmake @@ -60,6 +60,11 @@ int main() set(${_has_std_fs_support} TRUE PARENT_SCOPE) set(${_extra_fs_libraries} stdc++fs PARENT_SCOPE) else() + if(NOT STD_FS_TEST_COMPILED) + message(STATUS "std::filesystem test compile output: ${STD_FS_TEST_COMPILE_OUTPUT}") + else() + message(STATUS "std::filesystem test run output: ${STD_FS_TEST_OUTPUT}") + endif() set(${_has_std_fs_support} FALSE PARENT_SCOPE) set(${_extra_fs_libraries} "" PARENT_SCOPE) endif() diff --git a/palace/cmake/PkgConfigHelpers.cmake b/palace/cmake/PkgConfigHelpers.cmake index 9f81476634..c2a5446582 100644 --- a/palace/cmake/PkgConfigHelpers.cmake +++ b/palace/cmake/PkgConfigHelpers.cmake @@ -104,7 +104,7 @@ function(find_libceed_pkgconfig _libceed_deps _libceed_target) set(${_libceed_target} "" PARENT_SCOPE) endfunction() -function(check_petsc_build _petsc_target _petsc_test_success) +function(check_petsc_build _petsc_target _petsc_test_success _petsc_test_error) set(PETSC_LIB_TEST_DIR ${CMAKE_BINARY_DIR}/CMakeFiles/try_run) set(PETSC_LIB_TEST_CPP ${PETSC_LIB_TEST_DIR}/petsc_test_lib.cpp) file(WRITE ${PETSC_LIB_TEST_CPP} @@ -135,6 +135,11 @@ int main() if(PETSC_TEST_COMPILED AND PETSC_TEST_EXITCODE EQUAL 0) set(${_petsc_test_success} TRUE PARENT_SCOPE) else() + if(NOT PETSC_TEST_COMPILED) + set(${_petsc_test_error} "${PETSC_TEST_COMPILE_OUTPUT}" PARENT_SCOPE) + else() + set(${_petsc_test_error} "${PETSC_TEST_OUTPUT}" PARENT_SCOPE) + endif() set(${_petsc_test_success} FALSE PARENT_SCOPE) endif() endfunction() @@ -149,7 +154,7 @@ function(find_petsc_pkgconfig _petsc_deps _petsc_target) return() endif() message(STATUS "Found PETSc: ${PETSc_VERSION}") - check_petsc_build("PkgConfig::PETSc;${_petsc_deps}" PETSC_TEST_SUCCESS) + check_petsc_build("PkgConfig::PETSc;${_petsc_deps}" PETSC_TEST_SUCCESS PETSC_TEST_ERROR) if(PETSC_TEST_SUCCESS) message(STATUS "PETSc test program - Successful") set(${_petsc_target} PkgConfig::PETSc PARENT_SCOPE) @@ -166,22 +171,25 @@ function(find_petsc_pkgconfig _petsc_deps _petsc_target) endif() set(PKG_CONFIG_EXECUTABLE ${PKG_CONFIG_EXECUTABLE_BACKUP}) if(NOT PETSc_STATIC_FOUND) + message(STATUS "PETSc test program output:\n${PETSC_TEST_ERROR}") set(${_petsc_target} "" PARENT_SCOPE) return() endif() - check_petsc_build("PkgConfig::PETSc_STATIC;${_petsc_deps}" PETSC_TEST_SUCCESS) - if(PETSC_TEST_SUCCESS) + check_petsc_build("PkgConfig::PETSc_STATIC;${_petsc_deps}" PETSC_STATIC_TEST_SUCCESS PETSC_STATIC_TEST_ERROR) + if(PETSC_STATIC_TEST_SUCCESS) message(STATUS "PETSc test program with static linkage - Success") set(${_petsc_target} PkgConfig::PETSc_STATIC PARENT_SCOPE) return() endif() - # Not able to build a PETSc test program + # Not able to build a PETSc test program with either linkage message(STATUS "PETSc test program with static linkage - Failed") + message(STATUS "PETSc shared linkage output:\n${PETSC_TEST_ERROR}") + message(STATUS "PETSc static linkage output:\n${PETSC_STATIC_TEST_ERROR}") set(${_petsc_target} "" PARENT_SCOPE) endfunction() -function(check_slepc_build _slepc_target _slepc_test_success) +function(check_slepc_build _slepc_target _slepc_test_success _slepc_test_error) set(SLEPC_LIB_TEST_DIR ${CMAKE_BINARY_DIR}/CMakeFiles/try_run) set(SLEPC_LIB_TEST_CPP ${SLEPC_LIB_TEST_DIR}/slepc_test_lib.cpp) file(WRITE ${SLEPC_LIB_TEST_CPP} @@ -208,13 +216,14 @@ int main() COMPILE_OUTPUT_VARIABLE SLEPC_TEST_COMPILE_OUTPUT RUN_OUTPUT_VARIABLE SLEPC_TEST_OUTPUT ) - # message(STATUS "SLEPC_TEST_COMPILE_OUTPUT: ${SLEPC_TEST_COMPILE_OUTPUT}") - # message(STATUS "SLEPC_TEST_OUTPUT: ${SLEPC_TEST_OUTPUT}") if(SLEPC_TEST_COMPILED AND SLEPC_TEST_EXITCODE EQUAL 0) - # message(STATUS "SLEPc test program - Successful") set(${_slepc_test_success} TRUE PARENT_SCOPE) else() - # message(STATUS "SLEPc test program - Failed") + if(NOT SLEPC_TEST_COMPILED) + set(${_slepc_test_error} "${SLEPC_TEST_COMPILE_OUTPUT}" PARENT_SCOPE) + else() + set(${_slepc_test_error} "${SLEPC_TEST_OUTPUT}" PARENT_SCOPE) + endif() set(${_slepc_test_success} FALSE PARENT_SCOPE) endif() endfunction() @@ -229,7 +238,7 @@ function(find_slepc_pkgconfig _slepc_deps _slepc_target) return() endif() message(STATUS "Found SLEPc: ${SLEPc_VERSION}") - check_slepc_build("PkgConfig::SLEPc;${_slepc_deps}" SLEPC_TEST_SUCCESS) + check_slepc_build("PkgConfig::SLEPc;${_slepc_deps}" SLEPC_TEST_SUCCESS SLEPC_TEST_ERROR) if(SLEPC_TEST_SUCCESS) message(STATUS "SLEPc test program - Success") set(${_slepc_target} PkgConfig::SLEPc PARENT_SCOPE) @@ -246,17 +255,20 @@ function(find_slepc_pkgconfig _slepc_deps _slepc_target) endif() set(PKG_CONFIG_EXECUTABLE ${PKG_CONFIG_EXECUTABLE_BACKUP}) if(NOT SLEPc_STATIC_FOUND) + message(STATUS "SLEPc test program output:\n${SLEPC_TEST_ERROR}") set(${_slepc_target} "" PARENT_SCOPE) return() endif() - check_slepc_build("PkgConfig::SLEPc_STATIC;${_slepc_deps}" SLEPC_TEST_SUCCESS) - if(SLEPC_TEST_SUCCESS) + check_slepc_build("PkgConfig::SLEPc_STATIC;${_slepc_deps}" SLEPC_STATIC_TEST_SUCCESS SLEPC_STATIC_TEST_ERROR) + if(SLEPC_STATIC_TEST_SUCCESS) message(STATUS "SLEPc test program with static linkage - Successful") set(${_slepc_target} PkgConfig::SLEPc_STATIC PARENT_SCOPE) return() endif() - # Not able to build a SLEPc test program + # Not able to build a SLEPc test program with either linkage message(STATUS "SLEPc test program with static linkage - Failed") + message(STATUS "SLEPc shared linkage output:\n${SLEPC_TEST_ERROR}") + message(STATUS "SLEPc static linkage output:\n${SLEPC_STATIC_TEST_ERROR}") set(${_slepc_target} "" PARENT_SCOPE) endfunction()