diff --git a/CMakeLists.txt b/CMakeLists.txt index 6b8536bc46bda1d3a0754b44eee2aac5a37373d9..bfad1b261491ae3cd5f8ba277a9cb6b9a575c396 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required( VERSION 3.30 FATAL_ERROR ) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -project( cdo VERSION 2.4.0 LANGUAGES C CXX ) +project( cdo VERSION 2.4.0 LANGUAGES C CXX Fortran) # --- Additional functionalities for CMake include(CTest) @@ -17,6 +17,10 @@ configure_file ( "${PROJECT_SOURCE_DIR}/cmake/cdo_config.h.in" "${PROJECT_BINARY_DIR}/src/config.h" ) +configure_file ( + "${PROJECT_SOURCE_DIR}/cmake/cdo_config_features.h.in" + "${PROJECT_BINARY_DIR}/src/cdo_config_features.h" +) # --- Other compile definitions currently required TEMP list(APPEND cdo_compile_definitions restrict= diff --git a/cmake/cdo_config_features.h.in b/cmake/cdo_config_features.h.in new file mode 100644 index 0000000000000000000000000000000000000000..6de4ba7073663b6662e7439ea80d66b578a5d5ae --- /dev/null +++ b/cmake/cdo_config_features.h.in @@ -0,0 +1,16 @@ +#ifndef CDO_CONFIG_FEATURES_H +#define CDO_CONFIG_FEATURES_H + +#include <string_view> + +/* clang-format off */ +constexpr std::string_view CDO = "@PROJECT_NAME@"; +constexpr std::string_view CXX_VERSION = "@CMAKE_CXX_COMPILER_VERSION@"l +constexpr std::string_view CXX_COMPILER = "@CMAKE_CXX_COMPILER_ID@"; +constexpr std::string_view C_VERSION = "@CMAKE_C_COMPILER_VERSION@"; +constexpr std::string_view C_COMPILER = "@CMAKE_C_COMPILER_ID@"; +constexpr std::string_view F77_COMPILER = "@CMAKE_Fortran_COMPILER_ID@"; +constexpr std::string_view F77_VERSION = "@CMAKE_Fortran_COMPILER_VERSION@"; +/* clang-format on */ + +#endif