cmake_minimum_required (VERSION 2.8.12)
include (CheckFunctionExists)
include (ExternalProject)
#==============================================================================
#==============================================================================
set (PIO_Fortran_SRCS pio_nf.F90
set (PIO_GenF90_SRCS pionfatt_mod.F90
set (PIO_Fortran_MODS ${CMAKE_CURRENT_BINARY_DIR}/pio.mod
${CMAKE_CURRENT_BINARY_DIR}/pio_nf.mod
${CMAKE_CURRENT_BINARY_DIR}/pio_types.mod
${CMAKE_CURRENT_BINARY_DIR}/piolib_mod.mod
${CMAKE_CURRENT_BINARY_DIR}/pionfget_mod.mod
${CMAKE_CURRENT_BINARY_DIR}/pio_kinds.mod
${CMAKE_CURRENT_BINARY_DIR}/pio_support.mod
${CMAKE_CURRENT_BINARY_DIR}/piodarray.mod
${CMAKE_CURRENT_BINARY_DIR}/pionfatt_mod.mod
${CMAKE_CURRENT_BINARY_DIR}/pionfput_mod.mod)
add_library (piof ${PIO_Fortran_SRCS} ${PIO_GenF90_SRCS})
if (NOT PIO_ENABLE_FORTRAN)
set_target_properties(piof PROPERTIES EXCLUDE_FROM_ALL TRUE)
# Include flib source and binary directories (for Fortran modules)
target_include_directories (piof
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
# System and compiler CPP directives
target_compile_definitions (piof
PUBLIC ${CMAKE_SYSTEM_DIRECTIVE})
target_compile_definitions (piof
PUBLIC ${CMAKE_Fortran_COMPILER_DIRECTIVE})
# Compiler-specific compile options
if ("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU")