diff --git a/GraspPlanning/CMakeLists.txt b/GraspPlanning/CMakeLists.txt
index a8b50bee21b60835552b10e7a83d3d95a7fb8bf4..24f49b501e2fd8f5e9214da9306c1b226fae1b4a 100644
--- a/GraspPlanning/CMakeLists.txt
+++ b/GraspPlanning/CMakeLists.txt
@@ -16,7 +16,7 @@ MACRO(ADD_GRASPSTUDIO_TEST TEST_NAME)
             ADD_DEFINITIONS(-DBOOST_TEST_DYN_LINK)
         endif (NOT Boost_USE_STATIC_LIBS)
     	ADD_EXECUTABLE(${TEST_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.cpp)
-    	TARGET_LINK_LIBRARIES(${TEST_NAME} VirtualRobot Saba GraspStudio ${Simox_EXTERNAL_LIBRARIES})
+        TARGET_LINK_LIBRARIES(${TEST_NAME} PRIVATE VirtualRobot Saba GraspStudio ${Simox_EXTERNAL_LIBRARIES})
     	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_TEST_DIR})
     	SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "GraspStudio Tests")
         ADD_TEST(NAME Saba_${TEST_NAME}
@@ -98,7 +98,7 @@ ADD_DEFINITIONS(${Simox_EXTERNAL_LIBRARY_FLAGS})
 
 ADD_LIBRARY (GraspStudio SHARED ${SOURCES} ${INCLUDES})
 
-TARGET_LINK_LIBRARIES (GraspStudio Saba VirtualRobot ${Simox_EXTERNAL_LIBRARIES} ${QHULL_LIBRARIES})
+TARGET_LINK_LIBRARIES (GraspStudio PUBLIC Saba VirtualRobot ${Simox_EXTERNAL_LIBRARIES} ${QHULL_LIBRARIES})
 
 # .DLL path
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
diff --git a/MotionPlanning/CMakeLists.txt b/MotionPlanning/CMakeLists.txt
index 35ecf635c5401e60927e723c3d2768b8aba5de45..1948434c7f6f0bfee63954fd9af942c79ec809f4 100644
--- a/MotionPlanning/CMakeLists.txt
+++ b/MotionPlanning/CMakeLists.txt
@@ -23,7 +23,7 @@ MACRO(ADD_SABA_TEST TEST_NAME)
     endif (NOT Boost_USE_STATIC_LIBS)
     ADD_DEFINITIONS(${Simox_EXTERNAL_LIBRARY_FLAGS})
     ADD_EXECUTABLE(${TEST_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.cpp)
-    TARGET_LINK_LIBRARIES(${TEST_NAME} VirtualRobot Saba ${Simox_EXTERNAL_LIBRARIES} ${Boost_TEST_LIB})
+    TARGET_LINK_LIBRARIES(${TEST_NAME} PRIVATE VirtualRobot Saba ${Simox_EXTERNAL_LIBRARIES} ${Boost_TEST_LIB})
     SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_TEST_DIR})
     SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "Saba Tests")
     ADD_TEST(NAME Saba_${TEST_NAME}
@@ -95,7 +95,7 @@ ADD_DEFINITIONS(${Simox_EXTERNAL_LIBRARY_FLAGS})
 
 ADD_LIBRARY (Saba SHARED ${SOURCES} ${INCLUDES})
 #MESSAGE(STATUS "VirtualRobot_ROBOT_LINK_LIBRARIES:" ${VirtualRobot_EXTERNAL_LIBRARIES})
-TARGET_LINK_LIBRARIES (Saba VirtualRobot ${Simox_EXTERNAL_LIBRARIES})
+TARGET_LINK_LIBRARIES (Saba PUBLIC VirtualRobot ${Simox_EXTERNAL_LIBRARIES})
 
 # .DLL path
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
diff --git a/SimDynamics/CMakeLists.txt b/SimDynamics/CMakeLists.txt
index d93890fc29a3ac0186976ca1f580bbfe39c7019a..cbb4b54b4c2a06bd47c20216b76de6699ea968a1 100644
--- a/SimDynamics/CMakeLists.txt
+++ b/SimDynamics/CMakeLists.txt
@@ -134,7 +134,7 @@ MACRO(ADD_SIMDYNAMICS_TEST TEST_NAME)
     ADD_DEFINITIONS(-DBOOST_TEST_DYN_LINK)
   endif (NOT Boost_USE_STATIC_LIBS)
   ADD_EXECUTABLE(${TEST_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.cpp)
-  TARGET_LINK_LIBRARIES(${TEST_NAME} VirtualRobot Saba GraspStudio SimDynamics ${Simox_EXTERNAL_LIBRARIES} ${SimDynamics_PHYSICS_LIBRARIES} ${Boost_TEST_LIB})
+  TARGET_LINK_LIBRARIES(${TEST_NAME} PRIVATE VirtualRobot Saba GraspStudio SimDynamics ${Simox_EXTERNAL_LIBRARIES} ${SimDynamics_PHYSICS_LIBRARIES} ${Boost_TEST_LIB})
   SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_TEST_DIR})
   SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "SimDynamics Tests")
   ADD_TEST(NAME SimDynamics_${TEST_NAME}
@@ -229,10 +229,10 @@ if (SimDynamics_DYNAMICSENGINE)
 
   ADD_LIBRARY (SimDynamics SHARED ${SOURCES} ${INCLUDES})
   if (SimDynamics_BULLET_OpenGL)
-	TARGET_LINK_LIBRARIES (SimDynamics BulletOpenGLSupport)
+    TARGET_LINK_LIBRARIES (SimDynamics PUBLIC BulletOpenGLSupport)
 	SET (SimDynamics_BULLET_OpenGL TRUE PARENT_SCOPE) # inform parent scope about BulletOpenGLSupport
   ENDIF(SimDynamics_BULLET_OpenGL)
-  TARGET_LINK_LIBRARIES (SimDynamics ${Simox_EXTERNAL_LIBRARIES} VirtualRobot ${SimDynamics_PHYSICS_LIBRARIES})
+  TARGET_LINK_LIBRARIES (SimDynamics PUBLIC ${Simox_EXTERNAL_LIBRARIES} VirtualRobot ${SimDynamics_PHYSICS_LIBRARIES})
 
   # .DLL path
   SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
diff --git a/VirtualRobot/CMakeLists.txt b/VirtualRobot/CMakeLists.txt
index 1c3c69ddaff92cbe8371529a9cf190a9b415a520..e3c3b55fca869383dc97b5950e80ae6d5f3bfd34 100644
--- a/VirtualRobot/CMakeLists.txt
+++ b/VirtualRobot/CMakeLists.txt
@@ -36,7 +36,7 @@ MACRO(ADD_VR_TEST TEST_NAME)
         ADD_DEFINITIONS(-DBOOST_TEST_DYN_LINK)
     endif (NOT Boost_USE_STATIC_LIBS)
     ADD_EXECUTABLE(${TEST_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.cpp)
-    TARGET_LINK_LIBRARIES(${TEST_NAME} VirtualRobot ${Simox_EXTERNAL_LIBRARIES} ${Boost_TEST_LIB})
+    TARGET_LINK_LIBRARIES(${TEST_NAME} PRIVATE VirtualRobot ${Simox_EXTERNAL_LIBRARIES} ${Boost_TEST_LIB})
     SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_TEST_DIR})
     SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES FOLDER "VirtualRobot Tests")
     ADD_TEST(NAME VirtualRobot_${TEST_NAME}
diff --git a/VirtualRobot/examples/Simox2Mjcf/CMakeLists.txt b/VirtualRobot/examples/Simox2Mjcf/CMakeLists.txt
index c99d34c8295b0db7bbdbcb66dc2340b0298c37a9..c5eced7f21ef61d66ff355252275073d3bec3e1a 100644
--- a/VirtualRobot/examples/Simox2Mjcf/CMakeLists.txt
+++ b/VirtualRobot/examples/Simox2Mjcf/CMakeLists.txt
@@ -31,7 +31,7 @@ if (Boost_FOUND)
     # source: https://stackoverflow.com/a/3500721
     target_compile_definitions(${PROJECT_NAME} PRIVATE -DBOOST_NO_CXX11_SCOPED_ENUMS)
     
-    target_link_libraries(${PROJECT_NAME} ${LIBS})
+    target_link_libraries(${PROJECT_NAME} PRIVATE ${LIBS})
     
     
     #######################################################################################
diff --git a/VirtualRobot/examples/loadRobot/CMakeLists.txt b/VirtualRobot/examples/loadRobot/CMakeLists.txt
index 22bb2841fb1c9fe4133ef67bf18a9915fec7be8d..c09c20c43137994325cb51c8537973527bd42c29 100644
--- a/VirtualRobot/examples/loadRobot/CMakeLists.txt
+++ b/VirtualRobot/examples/loadRobot/CMakeLists.txt
@@ -4,7 +4,7 @@ ADD_EXECUTABLE(${PROJECT_NAME} loadRobot.cpp)
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
 SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
 
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot)
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE VirtualRobot)
   
   
 #######################################################################################
diff --git a/VirtualRobot/examples/loadURDFRobot/CMakeLists.txt b/VirtualRobot/examples/loadURDFRobot/CMakeLists.txt
index c5f9fa93324bd76873ce367ed5a598c76063e5be..d900a34aed9e32f78a65d5356d593e145079ae3b 100644
--- a/VirtualRobot/examples/loadURDFRobot/CMakeLists.txt
+++ b/VirtualRobot/examples/loadURDFRobot/CMakeLists.txt
@@ -17,7 +17,7 @@ if (tinyxml_library AND URDF_FOUND)
   SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
   SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
 
-  TARGET_LINK_LIBRARIES(${PROJECT_NAME} VirtualRobot ${URDFDOM_LIBRARIES})
+  TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE VirtualRobot ${URDFDOM_LIBRARIES})
   
   
   #######################################################################################