44# set(TFELHOME ${CONAN_TFEL_ROOT})
55# find_package(TFEL REQUIRED)
66#
7- # Once found, declares these variables:
8- # - TFEL_FOUND
7+ # If a suitable environment is found to compile MFront behaviours,
8+ # the following variables are declared:
9+ # - MGIS_HAVE_MFRONT_SUPPORT
910# - TFEL_INCLUDE_PATH
1011# - TFEL_LIBRARIES
1112# - TFEL_CXX_STANDARD
1213# - TFEL_VERSION
14+ #
15+ # If TFEL libraries are found, the following variable is declared:
16+ # - MGIS_HAVE_TFEL
17+
18+ set (tfel_libs
19+ TFELTests
20+ TFELException
21+ TFELUtilities
22+ TFELMaterial
23+ TFELMath
24+ MTestFileGenerator
25+ )
1326
1427if (DEFINED TFEL_DIR)
1528 list (APPEND CMAKE_PREFIX_PATH "${TFEL_DIR} " )
1629 endif ()
1730
1831if (DEFINED ENV{TFELHOME})
1932 set (TFELHOME "$ENV{TFELHOME} " )
20- list (APPEND CMAKE_PREFIX_PATH "$ENV{TFELHOME} /share/tfel/cmake" )
33+ if (NOT DEFINED TFEL_DIR)
34+ set (TFEL_DIR "${TFELHOME} /share/tfel/cmake" )
35+ list (APPEND CMAKE_PREFIX_PATH "${TFEL_DIR} " )
36+ endif (NOT DEFINED TFEL_DIR)
37+ message (STATUS "tfelhome: ${TFELHOME} " )
2138endif ()
2239
23- message (STATUS "tfelhome: ${TFELHOME} " )
24-
2540foreach (tool mfront tfel-check tfel-config mfront-query)
2641 string (TOUPPER ${tool} toolVar)
2742 string (REPLACE "-" "_" toolVar ${toolVar} )
@@ -30,15 +45,27 @@ endforeach()
3045
3146IF (TFEL_CONFIG AND MFRONT AND MFRONT_QUERY)
3247
48+ if ((NOT DEFINED TFEL_DIR) AND (NOT DEFINED ENV{TFELHOME}))
49+ # Trying to figure out TFEL_DIR
50+ execute_process (COMMAND ${TFEL_CONFIG} "--include-path"
51+ OUTPUT_VARIABLE TFEL_INCLUDE_PATH
52+ OUTPUT_STRIP_TRAILING_WHITESPACE
53+ )
54+ file (TO_CMAKE_PATH "${TFEL_INCLUDE_PATH} " TFEL_INCLUDE_PATH)
55+ cmake_path(GET TFEL_INCLUDE_PATH PARENT_PATH TFELHOME)
56+ set (TFEL_DIR "${TFELHOME} /share/tfel/cmake" )
57+ list (APPEND CMAKE_PREFIX_PATH "${TFEL_DIR} " )
58+ endif ((NOT DEFINED TFEL_DIR) AND (NOT DEFINED ENV{TFELHOME}))
59+
3360 execute_process (COMMAND ${TFEL_CONFIG} "--cxx-standard"
3461 RESULT_VARIABLE TFEL_CXX_STANDARD_AVAILABLE
3562 OUTPUT_VARIABLE TFEL_CXX_STANDARD
3663 OUTPUT_STRIP_TRAILING_WHITESPACE
3764 )
3865 if (NOT TFEL_CXX_STANDARD_AVAILABLE EQUAL 0)
39- set (TFEL_CXX_STANDARD 11 )
66+ message (FATAL_ERROR "tfel-config does not support --cxx-standard" )
4067 endif ()
41-
68+
4269 execute_process (COMMAND ${TFEL_CONFIG} "--version"
4370 OUTPUT_VARIABLE TFEL_VERSION_FULL
4471 OUTPUT_STRIP_TRAILING_WHITESPACE
@@ -67,32 +94,19 @@ IF(TFEL_CONFIG AND MFRONT AND MFRONT_QUERY)
6794 if (NOT TFEL_INCLUDE_PATH_RESULT EQUAL 0)
6895 message (FATAL_ERROR "call to tfel-config failed" )
6996 endif ()
97+
98+ foreach (lib ${tfel_libs} )
99+ find_library (${lib} _LIBRARY ${lib} HINTS ${TFELHOME} PATH_SUFFIXES lib)
100+ list (APPEND TFEL_LIBRARIES ${${lib} _LIBRARY})
101+ endforeach (lib)
70102
71103 # find_path(TFEL_CONFIG_INCLUDE_PATH TFELConfig.hxx
72104 # HINTS ${TFELHOME}/include/TFEL/Config
73105 # )
74106 # get_filename_component(TFEL_INCLUDE_PATH
75107 # ${TFEL_CONFIG_INCLUDE_PATH}/../.. ABSOLUTE CACHE
76108 # )
77-
78- set (tfel_libs
79- TFELTests
80- TFELException
81- TFELUtilities
82- TFELMaterial
83- TFELMath
84- MTestFileGenerator
85- )
86- if (${TFEL_CXX_STANDARD} LESS 17)
87- list (APPEND tfel_libs TFELPhysicalConstants)
88- endif ()
89-
90- foreach (lib ${tfel_libs} )
91- find_package (${lib} REQUIRED)
92- find_library (${lib} _LIBRARY ${lib} HINTS ${TFELHOME} PATH_SUFFIXES lib)
93- list (APPEND TFEL_LIBRARIES ${${lib} _LIBRARY})
94- endforeach (lib)
95-
109+
96110 include (FindPackageHandleStandardArgs)
97111 find_package_handle_standard_args(TFEL DEFAULT_MSG
98112 TFEL_VERSION
@@ -101,10 +115,17 @@ IF(TFEL_CONFIG AND MFRONT AND MFRONT_QUERY)
101115 TFEL_CXX_STANDARD
102116 )
103117
104- set (TFEL_FOUND ON )
118+ set (MGIS_HAVE_MFRONT_SUPPORT ON )
105119
106120else (TFEL_CONFIG AND MFRONT AND MFRONT_QUERY)
107121
108- set (TFEL_FOUND OFF )
122+ set (MGIS_HAVE_MFRONT_SUPPORT OFF )
109123
110124endif (TFEL_CONFIG AND MFRONT AND MFRONT_QUERY)
125+
126+ if (DEFINED TFEL_DIR)
127+ foreach (lib ${tfel_libs} )
128+ find_package (${lib} REQUIRED)
129+ endforeach (lib)
130+ set (MGIS_HAVE_TFEL ON )
131+ endif (DEFINED TFEL_DIR)
0 commit comments