Skip to content

Commit

Permalink
Fix Issue #619
Browse files Browse the repository at this point in the history
  • Loading branch information
thelfer committed Sep 3, 2024
1 parent 207a278 commit 7ca63f1
Show file tree
Hide file tree
Showing 9 changed files with 63 additions and 54 deletions.
60 changes: 30 additions & 30 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ include(cmake/modules/ieee754.cmake)
include(CheckIncludeFiles)
check_include_files(fenv.h HAVE_FENV_H)
if(HAVE_FENV_H)
add_definitions("-DHAVE_FENV")
tfel_add_c_cxx_definitions("HAVE_FENV")
endif(HAVE_FENV_H)

option(enable-include-what-you-use
Expand Down Expand Up @@ -105,9 +105,9 @@ endif()

# type of architecture
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
add_definitions("-DTFEL_ARCH64")
tfel_add_c_cxx_definitions("TFEL_ARCH64")
else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
add_definitions("-DTFEL_ARCH32")
tfel_add_c_cxx_definitions("TFEL_ARCH32")
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )

#extraction git hash
Expand All @@ -119,8 +119,8 @@ execute_process(
OUTPUT_STRIP_TRAILING_WHITESPACE)
message("Abbreviated commit hash: ${TFEL_GIT_HASH}")
endif(NOT TFEL_GIT_HASH)
add_definitions("-DTFEL_GIT_HASH=\\\"\"${TFEL_GIT_HASH}\"\\\"")
add_definitions("-DTFEL_CMAKE_GENERATOR=\\\"\"${CMAKE_GENERATOR}\"\\\"")
tfel_add_c_cxx_definitions("TFEL_GIT_HASH=\"${TFEL_GIT_HASH}\"")
tfel_add_c_cxx_definitions("TFEL_CMAKE_GENERATOR=\"${CMAKE_GENERATOR}\"")

# testing
set(CTEST_CONFIGURATION_TYPE "${JOB_BUILD_CONFIGURATION}")
Expand Down Expand Up @@ -175,7 +175,7 @@ endif(enable-madnex)
option(enable-fortran "enable fortran support" OFF)
if(enable-fortran)
set(HAVE_FORTRAN ON)
add_definitions("-DHAVE_FORTRAN=1")
tfel_add_c_cxx_definitions("HAVE_FORTRAN=1")
enable_language (Fortran)
message(STATUS "fortran support enabled")
set(enable-fortran-bindings ON)
Expand All @@ -197,7 +197,7 @@ option(enable-aster "build aster interface for mechanical behaviours" OFF)
if(enable-aster)
message(STATUS "aster support enabled")
set(HAVE_ASTER ON)
add_definitions("-DHAVE_ASTER=1")
tfel_add_c_cxx_definitions("HAVE_ASTER=1")
include(cmake/modules/aster.cmake)
endif(enable-aster)

Expand All @@ -206,47 +206,47 @@ option(enable-abaqus "build abaqus interface for mechanical behaviours" OFF)
if(enable-abaqus)
message(STATUS "abaqus support enabled")
set(HAVE_ABAQUS ON)
add_definitions("-DHAVE_ABAQUS=1")
tfel_add_c_cxx_definitions("HAVE_ABAQUS=1")
endif(enable-abaqus)

# LS-DYNA
option(enable-lsdyna "build lsdyna interface for mechanical behaviours" OFF)
if(enable-lsdyna)
message(STATUS "lsdyna support enabled")
set(HAVE_LSDYNA ON)
add_definitions("-DHAVE_LSDYNA=1")
tfel_add_c_cxx_definitions("HAVE_LSDYNA=1")
endif(enable-lsdyna)

#diana-fea
option(enable-diana-fea "build Diana FEA interface for mechanical behaviours" OFF)
if(enable-diana-fea)
message(STATUS "Diana FEA support enabled")
set(HAVE_DIANAFEA ON)
add_definitions("-DHAVE_DIANAFEA=1")
tfel_add_c_cxx_definitions("HAVE_DIANAFEA=1")
endif(enable-diana-fea)

#calculix
option(enable-calculix "build CalculiX interface for mechanical behaviours" OFF)
if(enable-calculix)
message(STATUS "CalculiX support enabled")
set(HAVE_CALCULIX ON)
add_definitions("-DHAVE_CALCULIX=1")
tfel_add_c_cxx_definitions("HAVE_CALCULIX=1")
endif(enable-calculix)

#ansys
option(enable-ansys "build ansys interface for mechanical behaviours" OFF)
if(enable-ansys)
message(STATUS "ansys support enabled")
set(HAVE_ANSYS ON)
add_definitions("-DHAVE_ANSYS=1")
tfel_add_c_cxx_definitions("HAVE_ANSYS=1")
endif(enable-ansys)

#europlexus
option(enable-europlexus "build europlexus interface for mechanical behaviours" OFF)
if(enable-europlexus)
message(STATUS "europlexus support enabled")
set(HAVE_EUROPLEXUS ON)
add_definitions("-DHAVE_EUROPLEXUS=1")
tfel_add_c_cxx_definitions("HAVE_EUROPLEXUS=1")
endif(enable-europlexus)

#zmat
Expand All @@ -255,7 +255,7 @@ if(enable-zmat)
include(cmake/modules/zset.cmake)
message(STATUS "zmat support enabled")
set(HAVE_ZMAT ON)
add_definitions("-DHAVE_ZMAT=1")
tfel_add_c_cxx_definitions("HAVE_ZMAT=1")
endif(enable-zmat)

#cyrano
Expand All @@ -264,16 +264,16 @@ option(enable-cyrano "build cyrano interface for mechanical behaviours" OFF)
if(enable-cyrano)
message(STATUS "cyrano support enabled")
set(HAVE_CYRANO ON)
add_definitions("-DHAVE_CYRANO=1")
tfel_add_c_cxx_definitions("HAVE_CYRANO=1")
endif(enable-cyrano)

#castem
include(cmake/modules/castem-unix-type.cmake)
option(local-castem-header "use a local version of castem.h" OFF)
option(enable-castem-pleiades "use a pleiades version of castem" OFF)
if(local-castem-header)
add_definitions(-DLOCAL_CASTEM_HEADER=1)
add_definitions("-DLOCAL_CASTEM_HEADER=1 -DHAVE_CASTEM=1")
tfel_add_c_cxx_definitions("LOCAL_CASTEM_HEADER=1")
tfel_add_c_cxx_definitions("HAVE_CASTEM=1")
set(HAVE_CASTEM ON)
set(LOCAL_CASTEM_HEADER ON)
else(local-castem-header)
Expand All @@ -285,15 +285,15 @@ option(enable-comsol "build Comsol interface for mechanical behaviours" OFF)
if(enable-comsol)
message(STATUS "Comsol support enabled")
set(HAVE_COMSOL ON)
add_definitions("-DHAVE_COMSOL=1")
tfel_add_c_cxx_definitions("HAVE_COMSOL=1")
endif(enable-comsol)

#gnuplot
include(FindGnuplot)
if(GNUPLOT_FOUND)
set(HAVE_GNUPLOT ON)
add_definitions("-DHAVE_GNUPLOT=1")
add_definitions("-DGNUPLOT_PATH=\\\"\"${GNUPLOT_EXECUTABLE}\"\\\"")
tfel_add_c_cxx_definitions("HAVE_GNUPLOT=1")
tfel_add_c_cxx_definitions("GNUPLOT_PATH=\"${GNUPLOT_EXECUTABLE}\"")
message(STATUS "found gnuplot")
message(STATUS "gnuplot path ${GNUPLOT_EXECUTABLE}")
else(GNUPLOT_FOUND)
Expand All @@ -314,17 +314,17 @@ option(python-static-interpreter-workaround
if(enable-python OR enable-python-bindings)
find_package(PythonLibs REQUIRED)
set(HAVE_PYTHON ON)
add_definitions("-DHAVE_PYTHON=1")
add_definitions("-DTFEL_PYTHON_INCLUDES=\\\"\"-I${PYTHON_INCLUDE_DIRS}\"\\\"")
tfel_add_c_cxx_definitions("HAVE_PYTHON=1")
tfel_add_c_cxx_definitions("TFEL_PYTHON_INCLUDES=\"-I${PYTHON_INCLUDE_DIRS}\"")
get_filename_component(PYTHON_LIBRARY_PATH ${PYTHON_LIBRARIES} PATH)
get_filename_component(PYTHON_LIBRARY_FULL ${PYTHON_LIBRARIES} NAME)
string(REGEX REPLACE "lib(.+)\\.(.+)$" "\\1" PYTHON_LIBRARY ${PYTHON_LIBRARY_FULL})
add_definitions("-DTFEL_PYTHON_LIBRARY_PATH=\\\"\"${PYTHON_LIBRARY_PATH}\"\\\"")
add_definitions("-DTFEL_PYTHON_LIBRARY=\\\"\"${PYTHON_LIBRARY}\"\\\"")
tfel_add_c_cxx_definitions("TFEL_PYTHON_LIBRARY_PATH=\"${PYTHON_LIBRARY_PATH}\"")
tfel_add_c_cxx_definitions("TFEL_PYTHON_LIBRARY=\"${PYTHON_LIBRARY}\"")
if(MSVC)
add_definitions("-DTFEL_PYTHON_LIBS=\\\"\"${PYTHON_LIBRARY_PATH}\${PYTHON_LIBRARY}\"\\\"")
tfel_add_c_cxx_definitions("TFEL_PYTHON_LIBS=\"${PYTHON_LIBRARY_PATH}\${PYTHON_LIBRARY}\"")
else(MSVC)
add_definitions("-DTFEL_PYTHON_LIBS=\\\"\"-L${PYTHON_LIBRARY_PATH} -l${PYTHON_LIBRARY}\"\\\"")
tfel_add_c_cxx_definitions("TFEL_PYTHON_LIBS=\"-L${PYTHON_LIBRARY_PATH} -l${PYTHON_LIBRARY}\"")
endif(MSVC)
message(STATUS "found python ${PYTHONLIBS_VERSION_STRING}")
message(STATUS "python include path ${PYTHON_INCLUDE_DIRS}")
Expand Down Expand Up @@ -500,9 +500,9 @@ if(enable-python-bindings)
set(CPACK_COMPONENT_PYTHON_BINDINGS_DESCRIPTION
"Contains the python bindings for TFEL, MFront and MTest")
set(CPACK_COMPONENT_PYTHON_BINDINGS_DEPENDS core mfront mtest)
add_definitions("-DTFEL_PYTHON_BINDINGS")
tfel_add_c_cxx_definitions("TFEL_PYTHON_BINDINGS")
if(enable-broken-boost-python-module-visibility-handling)
add_definitions("-DBOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY")
tfel_add_c_cxx_definitions("BOOST_PYTHON_USE_GCC_SYMBOL_VISIBILITY")
endif(enable-broken-boost-python-module-visibility-handling)
endif(enable-python-bindings)

Expand All @@ -523,11 +523,11 @@ if(enable-java)
message(STATUS "javac path : ${Java_JAVAC_EXECUTABLE}")
message(STATUS "jni include path : ${JNI_INCLUDE_DIRS}")
set(HAVE_JAVA ON)
add_definitions("-DHAVE_JAVA=1")
tfel_add_c_cxx_definitions("HAVE_JAVA=1")
foreach(jni_include ${JNI_INCLUDE_DIRS})
set(JNI_INCLUDES_FLAGS "${JNI_INCLUDES_FLAGS} -I${jni_include}")
endforeach(jni_include ${JNI_INCLUDE_DIRS})
add_definitions("-DTFEL_JAVA_INCLUDES=\\\"\"${JNI_INCLUDES_FLAGS}\"\\\"")
tfel_add_c_cxx_definitions("TFEL_JAVA_INCLUDES=\"${JNI_INCLUDES_FLAGS}\"")
endif(enable-java)

# cadna
Expand Down
4 changes: 2 additions & 2 deletions cmake/modules/aster.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
add_definitions("-DASTER_ARCH=64")
tfel_add_c_cxx_definitions("ASTER_ARCH=64")
else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
add_definitions("-DASTER_ARCH=32")
tfel_add_c_cxx_definitions("ASTER_ARCH=32")
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )
10 changes: 5 additions & 5 deletions cmake/modules/castem-unix-type.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,20 @@ if(UNIX)
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set(CASTEM_CPPFLAGS "-DLINUX64 -DUNIX64 -DTHREAD")
add_definitions("-DCASTEM_UNIX_TYPE=UNIX64")
tfel_add_c_cxx_definitions("CASTEM_UNIX_TYPE=UNIX64")
else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set(CASTEM_CPPFLAGS "-DLINUX32 -DUNIX32 -DTHREAD")
add_definitions("-DCASTEM_UNIX_TYPE=UNIX32")
tfel_add_c_cxx_definitions("CASTEM_UNIX_TYPE=UNIX32")
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )
else(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set(CASTEM_CPPFLAGS "-DSUN -DUNIX64 -DTHREAD")
add_definitions("-DCASTEM_UNIX_TYPE=UNIX64")
tfel_add_c_cxx_definitions("CASTEM_UNIX_TYPE=UNIX64")
else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set(CASTEM_CPPFLAGS "-DSUN -DUNIX32 -DTHREAD")
add_definitions("-DCASTEM_UNIX_TYPE=UNIX32")
tfel_add_c_cxx_definitions("CASTEM_UNIX_TYPE=UNIX32")
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )
endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
endif(UNIX)
add_definitions("-DCASTEM_CPPFLAGS=\\\"\"${CASTEM_CPPFLAGS}\"\\\"")
tfel_add_c_cxx_definitions("CASTEM_CPPFLAGS=\"${CASTEM_CPPFLAGS}\"")
add_definitions("${CASTEM_CPPFLAGS}")
4 changes: 2 additions & 2 deletions cmake/modules/castem.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ if(CASTEMHOME)
endif(CASTEM_INCLUDE_DIR STREQUAL "CASTEM_INCLUDE_DIR-NOTFOUND")
message(STATUS "Cast3M include files path detected: [${CASTEM_INCLUDE_DIR}].")
set(CASTEM_ROOT "${CASTEMHOME}")
add_definitions("-DCASTEM_ROOT=\\\"\"${CASTEMHOME}\"\\\"")
add_definitions("-DHAVE_CASTEM=1")
tfel_add_c_cxx_definitions("CASTEM_ROOT=\"${CASTEMHOME}\"")
tfel_add_c_cxx_definitions("HAVE_CASTEM=1")
if(enable-castem-pleiades)
set(castem_supported_versions 10 12 14 15 16 17 18)
foreach(cversion ${castem_supported_versions})
Expand Down
12 changes: 6 additions & 6 deletions cmake/modules/compiler.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -183,12 +183,12 @@ else(HAVE_NORETURN_ATTRIBUTE)
MESSAGE(STATUS "disabling [[ noreturn ]] attribute")
endif(HAVE_NORETURN_ATTRIBUTE)
add_definitions("-DOPTIMISATION_FLAGS0=\\\"\"${VISIBILITY_FLAGS} ${OPTIMISATION_FLAGS}\"\\\"")
add_definitions("-DOPTIMISATION_FLAGS=\\\"\"${OPTIMISATION_FLAGS_MARCH}\"\\\"")
add_definitions("-DOPTIMISATION_FLAGS2=\\\"\"${OPTIMISATION_FLAGS2}\"\\\"")
add_definitions("-DCOMPILER_WARNINGS=\\\"\"${COMPILER_WARNINGS}\"\\\"")
add_definitions("-DCOMPILER_FLAGS=\\\"\"${COMPILER_FLAGS}\"\\\"")
add_definitions("-DCOMPILER_CXXFLAGS=\\\"\"${COMPILER_CXXFLAGS}\"\\\"")
tfel_add_c_cxx_definitions("OPTIMISATION_FLAGS0=\"${VISIBILITY_FLAGS} ${OPTIMISATION_FLAGS}\"")
tfel_add_c_cxx_definitions("OPTIMISATION_FLAGS=\"${OPTIMISATION_FLAGS_MARCH}\"")
tfel_add_c_cxx_definitions("OPTIMISATION_FLAGS2=\"${OPTIMISATION_FLAGS2}\"")
tfel_add_c_cxx_definitions("COMPILER_WARNINGS=\"${COMPILER_WARNINGS}\"")
tfel_add_c_cxx_definitions("COMPILER_FLAGS=\"${COMPILER_FLAGS}\"")
tfel_add_c_cxx_definitions("COMPILER_CXXFLAGS=\"${COMPILER_CXXFLAGS}\"")
# export variables defining compilation options as cmake lists
set(TFEL_COMPILER_FLAGS "${COMPILER_FLAGS}")
Expand Down
4 changes: 2 additions & 2 deletions cmake/modules/cyrano.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
add_definitions("-DCYRANO_ARCH=64")
tfel_add_c_cxx_definitions("CYRANO_ARCH=64")
else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
add_definitions("-DCYRANO_ARCH=32")
tfel_add_c_cxx_definitions("CYRANO_ARCH=32")
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )
15 changes: 10 additions & 5 deletions cmake/modules/tfel.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
include(CMakePackageConfigHelpers)

# function add the given definition to the C and C++ preprocessor
function(tfel_add_c_cxx_definitions define)
add_compile_definitions("$<$<COMPILE_LANGUAGE:C,CXX>:${define}>")
endfunction(tfel_add_c_cxx_definitions)

macro(tfel_project tfel_version_major tfel_version_minor tfel_version_patch)
project("tfel"
HOMEPAGE_URL "https://thelfer.github.io/tfel/web/index.html"
Expand All @@ -9,7 +14,7 @@ macro(tfel_project tfel_version_major tfel_version_minor tfel_version_patch)

if(TFEL_APPEND_VERSION OR TFEL_VERSION_FLAVOUR)
set(TFEL_APPEND_SUFFIX ON)
add_definitions("-DTFEL_APPEND_SUFFIX")
tfel_add_c_cxx_definitions("TFEL_APPEND_SUFFIX")
endif(TFEL_APPEND_VERSION OR TFEL_VERSION_FLAVOUR)

set(TFEL_WEBSITE "http://tfel.sourceforce.net")
Expand All @@ -24,15 +29,15 @@ macro(tfel_project tfel_version_major tfel_version_minor tfel_version_patch)
else(TFEL_VERSION_FLAVOUR)
set(TFEL_VERSION "${VERSION}")
endif(TFEL_VERSION_FLAVOUR)
add_definitions("-DVERSION=\\\"\"${TFEL_VERSION}\"\\\"")
tfel_add_c_cxx_definitions("VERSION=\"${TFEL_VERSION}\"")

if(TFEL_APPEND_VERSION)
set(TFEL_SUFFIX "${TFEL_VERSION}")
add_definitions("-DTFEL_SUFFIX=\\\"\"${TFEL_SUFFIX}\"\\\"")
tfel_add_c_cxx_definitions("TFEL_SUFFIX=\"${TFEL_SUFFIX}\"")
else(TFEL_APPEND_VERSION)
if(TFEL_VERSION_FLAVOUR)
set(TFEL_SUFFIX "${TFEL_VERSION_FLAVOUR}")
add_definitions("-DTFEL_SUFFIX=\\\"\"${TFEL_SUFFIX}\"\\\"")
tfel_add_c_cxx_definitions("TFEL_SUFFIX=\"${TFEL_SUFFIX}\"")
endif(TFEL_VERSION_FLAVOUR)
endif(TFEL_APPEND_VERSION)

Expand All @@ -42,7 +47,7 @@ macro(tfel_project tfel_version_major tfel_version_minor tfel_version_patch)
endif(TFEL_SUFFIX)

if(LIB_SUFFIX)
add_definitions("-DLIB_SUFFIX=\\\"\"${LIB_SUFFIX}\"\\\"")
tfel_add_c_cxx_definitions("LIB_SUFFIX=\"${LIB_SUFFIX}\"")
endif(LIB_SUFFIX)
endmacro(tfel_project)

Expand Down
2 changes: 1 addition & 1 deletion cmake/modules/zset.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ if(ZSETHOME)
if(ZSET_INCLUDE_DIR STREQUAL "ZSET_INCLUDE_DIR-NOTFOUND")
message(FATAL_ERROR "Behavior.h not found")
endif(ZSET_INCLUDE_DIR STREQUAL "ZSET_INCLUDE_DIR-NOTFOUND")
add_definitions("-DZSET_ROOT=\\\"\"${ZSETHOME}\"\\\"")
tfel_add_c_cxx_definitions("ZSET_ROOT=\"${ZSETHOME}\"")
set(ZSET_ROOT ${ZSETHOME})
message(STATUS "ZSET include files path detected: [${ZSET_INCLUDE_DIR}].")
else(ZSETHOME)
Expand Down
6 changes: 5 additions & 1 deletion docs/web/release-notes-3.0.14.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,11 @@ The page describes the new functionalities of Version 3.0.14 of the

# Issues fixed

## Issue 610 [cmake] better support for using `TFEL` as a `CPM` dependency
## Issue 619: [fortran] Add support for the `ifx` fortran compiler

For more details, see <https://github.com/thelfer/tfel/issues/619>.

## Issue 610: [cmake] better support for using `TFEL` as a `CPM` dependency

For more details, see <https://github.com/thelfer/tfel/issues/610>.

Expand Down

0 comments on commit 7ca63f1

Please sign in to comment.