diff --git a/CMakeLists.txt b/CMakeLists.txt
index d21c82cf04ebfca91d09273f67cbdd103d6887f6..472bdb6e50dd3b6faea74635d7c044c2ab722c10 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,6 +22,7 @@ SET(PROJECT_DESCRIPTION "Corba server for gepetto-viewer")
 SET(PROJECT_URL "https://github.com/Gepetto/${PROJECT_NAME}")
 
 SET(PROJECT_USE_CMAKE_EXPORT TRUE)
+SET(PROJECT_USE_KEYWORD_LINK_LIBRARIES TRUE)
 SET(CXX_DISABLE_WERROR true)
 
 INCLUDE(cmake/base.cmake)
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 7a43031a96071ee0305add4f477b5e4dfb9cd772..9e72699928ff76aae02854a56be83fb71d88f347 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -19,7 +19,7 @@ SET(LIBRARY_NAME ${PROJECT_NAME})
 
 MACRO(ADD_EXAMPLE NAME SOURCE)
     ADD_EXECUTABLE (${NAME} ${SOURCE})
-    TARGET_LINK_LIBRARIES(${NAME} ${LIBRARY_NAME})
+    TARGET_LINK_LIBRARIES(${NAME} PRIVATE ${LIBRARY_NAME})
     PKG_CONFIG_USE_DEPENDENCY(${NAME} omniORB4)
 ENDMACRO()
 
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 93fc34f220229867975803e86056368d9565b3fc..b8db955a25bbbc9d3440432704a5662935cd7058 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -119,10 +119,10 @@ TARGET_INCLUDE_DIRECTORIES(${LIBRARY_NAME} PRIVATE ${CMAKE_BINARY_DIR}/src)
 ADD_DEPENDENCIES (${LIBRARY_NAME} generate_idl_cpp)
 ADD_DEPENDENCIES (${LIBRARY_NAME} generate_idl_python)
 IF(NOT CLIENT_ONLY)
-  TARGET_LINK_LIBRARIES(${LIBRARY_NAME} gepetto-viewer::gepetto-viewer)
+  TARGET_LINK_LIBRARIES(${LIBRARY_NAME} PUBLIC gepetto-viewer::gepetto-viewer)
 ENDIF(NOT CLIENT_ONLY)
 PKG_CONFIG_USE_DEPENDENCY(${LIBRARY_NAME} omniORB4)
-TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${QT_LIBRARIES})
+TARGET_LINK_LIBRARIES(${LIBRARY_NAME} PUBLIC ${QT_LIBRARIES})
 
 INSTALL(TARGETS ${PROJECT_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION lib)