From da3326b7a377c986eb0584f296ca687bc689c44e Mon Sep 17 00:00:00 2001
From: Oliver Heidmann <oliver.heidmann@mpimet.mpg.de>
Date: Thu, 6 Mar 2025 11:31:38 +0100
Subject: [PATCH] fixed handling for linking if libraries are not found/enabled

---
 src/CMakeLists.txt | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index d7605765e..22605eafa 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -339,7 +339,7 @@ list( APPEND cdolib_src_files
   etopo.dat temp.dat mask.dat
 )
 
-add_library(cdolib
+target_sources(cdolib PRIVATE
   ${cdolib_src_files}
 )
 
@@ -359,7 +359,7 @@ target_include_directories(cdolib PRIVATE "${PROJECT_SOURCE_DIR}/src/mpim_grid"
   "${PROJECT_BINARY_DIR}/src"
   "${PROJECT_SOURCE_DIR}/libcdi/src"
 )
-target_link_libraries(cdolib Threads::Threads netCDF::netcdf CMOR::CMOR)
+target_link_libraries(cdolib Threads::Threads netCDF::netcdf)
 target_compile_definitions(cdolib PRIVATE ${cdo_compile_definitions})
 
 
@@ -591,9 +591,8 @@ list( APPEND cdo_operators_src_files
   Splitsel.cc
 )
 
-
-add_library(operators ${cdo_operators_src_files})
-target_link_libraries(operators PRIVATE  cdolib cdilib yac gradsdes healpix CMOR::CMOR )
+target_sources(operators PRIVATE ${cdo_operators_src_files})
+target_link_libraries(operators PUBLIC cdolib cdilib yac gradsdes healpix)
 target_compile_definitions(operators PRIVATE ${cdo_compile_definitions})
 
 target_include_directories(operators PRIVATE
@@ -603,12 +602,13 @@ target_include_directories(operators PRIVATE
 )
 # --------------- CDO CLI EXECUTABLE --------------------------------
 list( APPEND cdo_src_files cdo.cc)
-add_executable(cdo ${cdo_src_files})
+
+target_sources(cdo PRIVATE ${cdo_src_files})
 
 target_compile_definitions(cdo PRIVATE ${cdo_compile_definitions})
 
 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)
+target_link_libraries(cdo PRIVATE cdolib cdilib yac gradsdes healpix pthread)
 
 message(STATUS "VERSION : "  ${VERSION})
 message(STATUS "PACKAGE_NAME : "  ${PACKAGE_NAME})
-- 
GitLab