Skip to content
Snippets Groups Projects
Commit 8abd8f88 authored by Oliver Heidmann's avatar Oliver Heidmann
Browse files

CMakeLists updated, removed scatted defines

parent 17a6ffa8
No related branches found
No related tags found
No related merge requests found
Pipeline #95792 passed
This commit is part of merge request !121. Comments created here will be created in the context of that merge request.
cmake_minimum_required( VERSION 3.30 FATAL_ERROR ) cmake_minimum_required( VERSION 3.30 FATAL_ERROR )
message(VERBOSE "Entering libcdi") message(VERBOSE "Entering libcdi")
project(libcdi VERSION 2.5.1 LANGUAGES C ) project(cdilib VERSION 2.5.1 LANGUAGES C )
set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD 11)
include(CTest) include(CTest)
include(CheckIncludeFile) include(CheckIncludeFile)
# enable default internal libs # enable default internal libs
add_compile_definitions(HAVE_LIBGRIB=1) list(APPEND cdi_compile_defs
add_compile_definitions(HAVE_LIBCGRIBEX=1) HAVE_LIBGRIB=1
add_compile_definitions(HAVE_LIBEXTRA=1) HAVE_LIBCGRIBEX=1
add_compile_definitions(HAVE_LIBSERVICE=1) HAVE_LIBEXTRA=1
add_compile_definitions(HAVE_LIBIEG=1) HAVE_LIBSERVICE=1
HAVE_LIBIEG=1
)
# ecCodes # ecCodes
find_package(eccodes) find_package(eccodes)
if (${eccodes_FOUND}) if (${eccodes_FOUND})
add_compile_definitions(HAVE_LIBGRIB_API=${eccodes_FOUND}) list(APPEND cdi_compile_defs HAVE_LIBGRIB_API=${eccodes_FOUND})
message(VERBOSE "added compile definition HAVE_LIBGRIB_API=${eccodes_FOUND}") message(VERBOSE "added compile definition HAVE_LIBGRIB_API=${eccodes_FOUND}")
else() else()
message(WARNING "netcdf not found, compiling without netcdf") message(WARNING "eccodes not found, compiling without eccodes")
endif () endif ()
# NetCDF # NetCDF
find_package(netCDF COMPONENTS C REQUIRED) find_package(netCDF COMPONENTS C REQUIRED)
check_include_file("netcdf.h" ${netcdf_flag} C) if (TARGET netCDF::netcdf)
if (${netCDF_FOUND}) list(APPEND cdi_compile_defs
message(VERBOSE "added compile definition HAVE_LIBNETCDF=${netCDF_FOUND}") HAVE_LIBNETCDF=${netCDF_FOUND}
message(VERBOSE "added compile definition HAVE_NETCDF4=${netCDF_FOUND}") HAVE_LIBNC_DAP=${netCDF_FOUND}
add_compile_definitions(HAVE_LIBNETCDF=${netCDF_FOUND}) HAVE_NETCDF4=${netCDF_FOUND}
add_compile_definitions(HAVE_NETCDF4=${netCDF_FOUND}) HAVE_LIBGRIB_API=${netCDF_FOUND}
HAVE_LIBGRIB=${netCDF_FOUND}
)
message(VERBOSE "added to list of definitions: ${cdi_compile_defs} ")
else() else()
message(WARNING "netcdf not found, compiling without netcdf") message(WARNING "netcdf not found, compiling without netcdf")
endif () endif ()
message(VERBOSE "looking for config.h in: ${PROJECT_BINARY_DIR}/src") message(VERBOSE "looking for config.h in: ${PROJECT_BINARY_DIR}/src")
include_directories( "${PROJECT_BINARY_DIR}/src/config.h")
#adding subdirectories #adding subdirectories
## lib and general files ## lib and general files
list(APPEND cdi_compile_defs CDI=1 CDI_SIZE_TYPE=size_t PACKAGE_NAME="${PROJECT_NAME}" VERSION="${CMAKE_PROJECT_VERSION}")
add_subdirectory(src) add_subdirectory(src)
## cdi executable
add_subdirectory(app)
#tests #tests
add_subdirectory( tests ) add_subdirectory(app)
add_subdirectory(tests)
...@@ -2,8 +2,11 @@ add_executable(cdi ...@@ -2,8 +2,11 @@ add_executable(cdi
cdi.c printinfo.c cdi.c printinfo.c
) )
target_include_directories(cdi PUBLIC target_include_directories(cdi PRIVATE
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src> $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>
$<INSTALL_INTERFACE:include $<INSTALL_INTERFACE:include
) )
target_link_libraries(cdi PUBLIC cdilib netCDF::netcdf pthread)
target_link_libraries(cdi PRIVATE cdilib netCDF::netcdf pthread)
target_include_directories(cdi PRIVATE "${PROJECT_BINARY_DIR}/src/config.h")
target_compile_definitions(cdi PRIVATE ${cdi_netcdf_definitions})
...@@ -195,7 +195,9 @@ add_library(cdilib ...@@ -195,7 +195,9 @@ add_library(cdilib
# INSTALL_HEADERS_LIST cdi.h # INSTALL_HEADERS_LIST cdi.h
) )
target_link_libraries(cdilib eccodes ${netCDF_LIBRARIES}) target_include_directories(cdilib PRIVATE "${PROJECT_BINARY_DIR}/src/config.h")
target_compile_definitions(cdilib PRIVATE CDI=1) target_link_libraries(cdilib eccodes netCDF::netcdf)
target_compile_definitions(cdilib PRIVATE PACKAGE_NAME="cdilib") target_compile_definitions(cdilib PRIVATE PACKAGE_NAME="${PROJECT_NAME}" VERSION="${CMAKE_PROJECT_VERSION}" ${cdi_compile_defs})
target_compile_definitions(cdilib PRIVATE VERSION="${CMAKE_PROJECT_VERSION}")
add_library(cdilib::cdilib ALIAS cdilib)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment