diff --git a/CMakeLists.txt b/CMakeLists.txt
index 669b72380508c6ffbbde207798a75ff36537cdb7..37b8fc6779886c4016e96eb584ff74694cbe0867 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,7 +24,6 @@ option(ENABLE_ASAN "Enable ASan (AddressSanitizer) for runtime analysis of memor
 ##############################################
 # Import utils CMakeLists
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
-include(PybindModuleCreation)
 
 if(CMAKE_COMPILER_IS_GNUCXX AND COVERAGE)
     Include(CodeCoverage)
@@ -79,6 +78,7 @@ endif()
 
 # PYTHON BINDING
 if (PYBIND)
+    include(PybindModuleCreation)
     find_package(Python REQUIRED)
     if (${Python_VERSION_MAJOR} LESS 3)
         MESSAGE(FATAL_ERROR "Unsupported Python version. Python 3.0.0+ is required")
@@ -87,6 +87,8 @@ if (PYBIND)
 
     # Handles Python + pybind11 headers dependencies
     target_link_libraries(${module_name}
+        PRIVATE
+            Python::Python
         PUBLIC
             pybind11::pybind11
         )