diff --git a/CMakeLists.txt b/CMakeLists.txt index 5644a3c6f5ac7429a974c8a7da073f7aef266396..0e8ed06348e288a2d70fc6f60673f3ff63304097 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ cmake_minimum_required(VERSION 3.18) project( mtime VERSION 1.2.2 - LANGUAGES Fortran C + LANGUAGES C Fortran ) option(BUILD_TESTING "Build tests" ON) @@ -29,24 +29,22 @@ include(GNUInstallDirs) add_subdirectory(src) -include(CTest) -if(BUILD_TESTING) - add_subdirectory(test) -else() - # Allow for 'make test' even if the tests are disabled: - enable_testing() +if(MTIME_BUILD_DOCS) + add_subdirectory(doc) endif() if(MTIME_BUILD_EXAMPLES) add_subdirectory(examples) endif() -if(MTIME_BUILD_DOCS) - add_subdirectory(doc) +include(CTest) +if(BUILD_TESTING) + add_subdirectory(test) +else() + # Allow for 'make test' even if the tests are disabled: + enable_testing() endif() -export(EXPORT mtime-targets FILE ${PROJECT_BINARY_DIR}/mtime-targets.cmake) - include(CMakePackageConfigHelpers) configure_package_config_file( ${PROJECT_SOURCE_DIR}/cmake/config.cmake.in @@ -61,10 +59,12 @@ write_basic_package_version_file( COMPATIBILITY SameMajorVersion ) -install(EXPORT mtime-targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/mtime/cmake) - install( FILES ${PROJECT_BINARY_DIR}/mtime-config.cmake ${PROJECT_BINARY_DIR}/mtime-config-version.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/mtime/cmake ) + +export(EXPORT mtime-targets FILE ${PROJECT_BINARY_DIR}/mtime-targets.cmake) + +install(EXPORT mtime-targets DESTINATION ${CMAKE_INSTALL_LIBDIR}/mtime/cmake) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 73faed75f4997dff2c387d89e85ed14dd5890efb..4cb3a6a28f3d0727b0323d985eddc8b25cca0e8f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -64,11 +64,11 @@ add_library(mtime::mtime ALIAS mtime) set(Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mod) set_target_properties( mtime - PROPERTIES Fortran_PREPROCESS ON - Fortran_MODULE_DIRECTORY ${Fortran_MODULE_DIRECTORY} - C_STANDARD 99 + PROPERTIES C_STANDARD 99 C_STANDARD_REQUIRED ON PUBLIC_HEADER "${public_headers}" + Fortran_PREPROCESS ON + Fortran_MODULE_DIRECTORY ${Fortran_MODULE_DIRECTORY} EXPORT_NAME mtime::mtime VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}