message (WARNING "${PIO_FILESYSTEM_HINTS} not valid option for PIO_FILESYSTEM_HINTS; use gpfs or lustre.")
 
cmake_minimum_required (VERSION 2.8.12)
project (PIOF Fortran)
include (CheckFunctionExists)
include (ExternalProject)
include (LibCheck)
#==============================================================================
#  DEFINE THE TARGET
#==============================================================================
set (PIO_Fortran_SRCS pio_nf.F90
                      pio.F90
                      pio_kinds.F90
                      pio_types.F90
                      piolib_mod.F90 
                      pio_support.F90)
set (PIO_GenF90_SRCS pionfatt_mod.F90
                     pionfput_mod.F90
                     pionfget_mod.F90
                     piodarray.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)
endif ()
# 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")