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

src/CMakeLists cleanup: compile defs now used by all three targets, format,...

src/CMakeLists cleanup: compile defs now used by all three targets, format, added uuid, CMOR, json-c linking
parent e2ae69dd
No related branches found
No related tags found
1 merge request!312CMake Improvements and fixes
......@@ -3,6 +3,14 @@ set(VERSION "${CMAKE_PROJECT_VERSION}")
add_subdirectory(lib)
list(APPEND cdo_compile_defintions
restrict=
CDI_SIZE_TYPE=size_t
YAC_FOR_CDO
HAVE_CONFIG_H=1
VERSION="${VERSION}"
PACKAGE_NAME="${PACKAGE_NAME}")
# -------- CDO LIB ------------
list( APPEND cdolib_src_files
after_fctrans.cc
......@@ -343,7 +351,7 @@ target_include_directories(cdolib
PRIVATE
# where the library itself will look for its internal headers
${CMAKE_CURRENT_SOURCE_DIR}/src
PUBLIC
PRIVATE
# where top-level project will look for the library's public headers
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
# where external projects will look for the library's public headers
......@@ -355,8 +363,8 @@ target_include_directories(cdolib PRIVATE "${PROJECT_SOURCE_DIR}/src/mpim_grid"
"${PROJECT_BINARY_DIR}/src"
"${PROJECT_SOURCE_DIR}/libcdi/src"
)
target_link_libraries(cdolib netCDF::netcdf)
target_compile_definitions(cdolib PRIVATE HAVE_CONFIG_H restrict= CDI_SIZE_TYPE=size_t YAC_FOR_CDO)
target_link_libraries(cdolib netCDF::netcdf CMOR::CMOR)
target_compile_definitions(cdolib PRIVATE ${cdo_compile_defintions})
# --------------- CDO OPERATORS --------------------------------
......@@ -587,30 +595,24 @@ list( APPEND cdo_operators_src_files
Splitsel.cc
)
list(APPEND cdo_compile_defs
restrict=
CDI_SIZE_TYPE=size_t
YAC_FOR_CDO
HAVE_CONFIG_H=1
VERSION="${VERSION}"
PACKAGE_NAME="${PACKAGE_NAME}")
add_library(operators ${cdo_operators_src_files})
target_link_libraries(operators PUBLIC cdolib cdilib yac gradsdes healpix )
target_compile_definitions(operators PRIVATE ${cdo_compile_defs})
target_link_libraries(operators PRIVATE cdolib cdilib yac gradsdes healpix CMOR::CMOR )
target_compile_definitions(operators PRIVATE ${cdo_compile_defintions})
target_include_directories(operators PRIVATE
"${PROJECT_SOURCE_DIR}/src/mpim_grid"
"${PROJECT_SOURCE_DIR}/libcdi/src"
"${PROJECT_SOURCE_DIR}/src/")
"${PROJECT_SOURCE_DIR}/src/"
)
# --------------- CDO CLI EXECUTABLE --------------------------------
list( APPEND cdo_src_files cdo.cc)
add_executable(cdo ${cdo_src_files})
target_compile_definitions(cdo PUBLIC ${cdo_compile_defs})
target_compile_definitions(cdo PRIVATE ${cdo_compile_defintions})
target_link_libraries(cdo PUBLIC "$<LINK_LIBRARY:WHOLE_ARCHIVE,operators>")
target_link_libraries(cdo PUBLIC cdolib cdilib yac gradsdes healpix pthread )
target_link_libraries(cdo PRIVATE "$<LINK_LIBRARY:WHOLE_ARCHIVE,operators>")
target_link_libraries(cdo PRIVATE cdolib cdilib yac gradsdes healpix pthread CMOR::CMOR json-c Uuid::uuid)
message(STATUS "VERSION : " ${VERSION})
message(STATUS "PACKAGE_NAME : " ${PACKAGE_NAME})
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