cmake_minimum_required(VERSION 3.0) project(ccpp_framework VERSION 5.0.0 LANGUAGES Fortran) #------------------------------------------------------------------------------ # Set package definitions set(PACKAGE "ccpp-framework") set(AUTHORS "Dom Heinzeller" "Grant Firl" "Mike Kavulich" "Steve Goldhaber") string(TIMESTAMP YEAR "%Y") #------------------------------------------------------------------------------ # Set OpenMP flags for C/C++/Fortran if (OPENMP) find_package(OpenMP REQUIRED) set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${OpenMP_Fortran_FLAGS}") endif (OPENMP) #------------------------------------------------------------------------------ # Set a default build type if none was specified if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) message(STATUS "Setting build type to 'Release' as none was specified.") set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE) # Set the possible values of build type for cmake-gui set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "Coverage") endif() #------------------------------------------------------------------------------ # Pass debug/release flag to Fortran files for preprocessor if(CMAKE_BUILD_TYPE STREQUAL "Debug") add_definitions(-DDEBUG) endif() #------------------------------------------------------------------------------ # Request a static build option(BUILD_SHARED_LIBS "Build a static library" OFF) #------------------------------------------------------------------------------ # Add the sub-directories add_subdirectory(src) add_subdirectory(doc)