37 lines
948 B
CMake
37 lines
948 B
CMake
cmake_minimum_required (VERSION 3.28)
|
|
project (LinearInterpolate)
|
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
# Force use of libc++ for mdspan support
|
|
set(CMAKE_CXX_COMPILER "clang++")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ ")
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
find_package(netCDF REQUIRED)
|
|
|
|
add_executable(LinearInterpolate main.cpp
|
|
readdata.cpp
|
|
readdata.h
|
|
vecutils.cpp
|
|
vecutils.h)
|
|
|
|
execute_process(
|
|
COMMAND nc-config --includedir
|
|
OUTPUT_VARIABLE NETCDF_INCLUDE_DIR
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
execute_process(
|
|
COMMAND ncxx4-config --libdir
|
|
OUTPUT_VARIABLE NETCDFCXX_LIB_DIR
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
target_include_directories(LinearInterpolate PUBLIC ${netCDF_INCLUDE_DIR})
|
|
|
|
find_library(NETCDF_LIB NAMES netcdf-cxx4 netcdf_c++4 PATHS ${NETCDFCXX_LIB_DIR} NO_DEFAULT_PATH)
|
|
target_link_libraries(LinearInterpolate ${NETCDF_LIB})
|