Newer
Older
project(scm_io)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/modules)
#find_package(netCDF-Fortran REQUIRED
# HINTS /usr/local/lib/cmake/netCDF/)
#set(HDF5_USE_STATIC_LIBRARIES YES)
#find_package(hdf5 REQUIRED HINTS /usr/local/lib/cmake/hdf5/)
set(dialect " -free -fimplicit-none ")
set(bounds "-free -fimplicit-none ")
set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} ${bounds} -g -fbacktrace -O0 -fcheck=all")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${dialect}")
add_library(lib_scm_io ${src_io})
#NetCDF handling
execute_process (
COMMAND bash -c "nc-config --fflags | grep -Eo '^[^ ]+' | tr -d '\n'"
OUTPUT_VARIABLE netcdf_inc
)
cmake_path(SET netcfd_inc_dir " ${netcdf_inc}" )
message("CMake path is ${netcdf_inc}")
target_compile_options(lib_scm_io PRIVATE ${netcdf_inc})
#include_directories(${netcdf_inc})
execute_process (
COMMAND bash -c "nc-config --flibs | tr -d '\n'"
OUTPUT_VARIABLE temp
)
separate_arguments(netcdff_libs UNIX_COMMAND "${temp}")
execute_process (
COMMAND bash -c "nc-config --libs | tr -d '\n'"
OUTPUT_VARIABLE temp
)
separate_arguments(netcdf_libs UNIX_COMMAND "${temp}")
#target_include_directories(lib_scm_io PRIVATE ${netCDF_INCLUDE_DIR})
#target_link_libraries(lib_scm_io PRIVATE netCDF::netcdff)
#target_link_libraries(lib_scm_io PRIVATE hdf5)
add_executable(test_netcdf_io src/test_netcdf.f90)
target_link_options(test_netcdf_io PRIVATE ${netcdff_libs})
target_link_options(test_netcdf_io PRIVATE ${netcdf_libs})
target_link_libraries(test_netcdf_io lib_scm_io)