diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6091124cef7a44b57b512a8d2df937ee53489111..1bc70579d3b66540ee0a4322a6dc30ade36e477e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,10 +1,9 @@
-
 set(PACKAGE_NAME "cdo")
 set(VERSION "${CMAKE_PROJECT_VERSION}")
 
 add_subdirectory(lib)
 
-
+# -------- CDO LIB ------------
 list( APPEND cdolib_src_files
   after_fctrans.cc
   after_namelist.cc
@@ -351,19 +350,16 @@ target_include_directories(cdolib
   $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
 )
 
-include_directories("${PROJECT_SOURCE_DIR}/src/mpim_grid"
+target_include_directories(cdolib PRIVATE "${PROJECT_SOURCE_DIR}/src/mpim_grid"
   "${PROJECT_SOURCE_DIR}/src"
   "${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_compile_definitions(cdolib PUBLIC HAVE_CONFIG_H restrict= CDI_SIZE_TYPE=size_t YAC_FOR_CDO)
-
-
-list( APPEND cdo_src_files cdo.cc)
 
+# --------------- CDO OPERATORS --------------------------------
 list( APPEND cdo_operators_src_files
   Afterburner.cc
   Arith.cc
@@ -591,24 +587,30 @@ list( APPEND cdo_operators_src_files
   Splitsel.cc
 )
 
-add_library(operators ${cdo_operators_src_files})
-target_link_libraries(operators PUBLIC  cdolib cdilib yac gradsdes healpix )
-
-add_executable(cdo
-  ${cdo_src_files}
-)
-
-target_compile_definitions(cdo PUBLIC
+list(APPEND cdo_compile_defs 
   restrict=
   CDI_SIZE_TYPE=size_t
   YAC_FOR_CDO
   HAVE_CONFIG_H=1
   VERSION="${VERSION}"
-  PACKAGE_NAME="${PACKAGE_NAME}"
-)
+  PACKAGE_NAME="${PACKAGE_NAME}")
 
-message(STATUS "VERSION : "  ${VERSION})
-message(STATUS "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_include_directories(operators PRIVATE
+  "${PROJECT_SOURCE_DIR}/src/mpim_grid"
+  "${PROJECT_SOURCE_DIR}/libcdi/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_link_libraries(cdo PUBLIC "$<LINK_LIBRARY:WHOLE_ARCHIVE,operators>")
 target_link_libraries(cdo PUBLIC cdolib cdilib yac gradsdes healpix pthread )
+
+message(STATUS "VERSION : "  ${VERSION})
+message(STATUS "PACKAGE_NAME : "  ${PACKAGE_NAME})