From: Matthias Maier Date: Thu, 16 May 2019 15:33:57 +0000 (-0500) Subject: CMake: Add a safeguard that disables ADOL-C in case SEACASChaco is enabled X-Git-Tag: v9.2.0-rc1~1483^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79ec2deb58aa810b9a2889216abbbe994a1a41a4;p=dealii.git CMake: Add a safeguard that disables ADOL-C in case SEACASChaco is enabled --- diff --git a/cmake/configure/configure_adolc.cmake b/cmake/configure/configure_adolc.cmake index 0e37255b70..f33ad4b166 100644 --- a/cmake/configure/configure_adolc.cmake +++ b/cmake/configure/configure_adolc.cmake @@ -17,7 +17,7 @@ # Configuration for the ADOL-C library: # -SET(FEATURE_ADOLC_AFTER BOOST) +SET(FEATURE_ADOLC_AFTER BOOST TRILINOS) MACRO(FEATURE_ADOLC_FIND_EXTERNAL var) FIND_PACKAGE(ADOLC) @@ -47,6 +47,27 @@ MACRO(FEATURE_ADOLC_FIND_EXTERNAL var) SET(${var} FALSE) ENDIF() + # + # We have to avoid a symbol clash with Trilinos' SEACASChaco library + # (the libchaco.so shared object exports the global symbol 'divide' but + # so does adolc itself). + # + ITEM_MATCHES(_module_found SEACASChaco ${Trilinos_PACKAGE_LIST}) + IF(_module_found) + MESSAGE(STATUS + "Could not find a sufficient ADOL-C installation: " + "Possible symbol clash between the ADOL-C library and Trilinos' SEACASChaco detected" + ) + SET(ADOLC_ADDITIONAL_ERROR_STRING + ${ADOLC_ADDITIONAL_ERROR_STRING} + "Could not find a sufficient ADOL-C installation:\n" + "Possible symbol clash between the ADOL-C library and Trilinos' SEACASChaco detected." + "If you want to use ADOL-C, please configure deal.II to use a " + "Trilinos library with disabled SEACASChaco.\n\n" + ) + SET(${var} FALSE) + ENDIF() + # # Check whether we have a recent enough ADOL-C library that can return # values from constant objects.