diff --git a/CMakeModules/SimoxMacros.cmake b/CMakeModules/SimoxMacros.cmake
index 576c71e56dbcf48afe446ac4d665caf965d2e791..b9d5ac25ec560bd6acc01cd48a446283924b6798 100644
--- a/CMakeModules/SimoxMacros.cmake
+++ b/CMakeModules/SimoxMacros.cmake
@@ -34,7 +34,7 @@ function(VirtualRobotApplication name srcs incs)
     INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
     ################################## EXECUTABLE ##############################
     ADD_EXECUTABLE(${name} ${srcs} ${incs})
-    TARGET_LINK_LIBRARIES(${name} VirtualRobot ${Simox_EXTERNAL_LIBRARIES})
+    TARGET_LINK_LIBRARIES(${name} PUBLIC VirtualRobot ${Simox_EXTERNAL_LIBRARIES})
 endfunction()
 
 
@@ -58,7 +58,7 @@ function(VirtualRobotQtApplication name srcs incs mocFiles uiFiles)
     INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
     ################################## EXECUTABLE ##############################
     ADD_EXECUTABLE(${name} ${srcs} ${incs} ${generatedUiFiles} ${generatedMocFiles})
-    TARGET_LINK_LIBRARIES(${name} VirtualRobot ${Simox_EXTERNAL_LIBRARIES})
+    TARGET_LINK_LIBRARIES(${name} PUBLIC VirtualRobot ${Simox_EXTERNAL_LIBRARIES})
 endfunction()
 
 
@@ -89,14 +89,14 @@ endfunction()
 function(SimoxApplication name srcs incs)
     VirtualRobotApplication("${name}" "${srcs}" "${incs}")
     # add Saba and GraspStudio
-    TARGET_LINK_LIBRARIES(${name} GraspStudio Saba)
+    TARGET_LINK_LIBRARIES(${name} PUBLIC GraspStudio Saba)
 endfunction()
 
 
 function(SimoxQtApplication name srcs incs mocFiles uiFiles)
     VirtualRobotQtApplication("${name}" "${srcs}" "${incs}" "${mocFiles}" "${uiFiles}")  
     # add Saba and GraspStudio
-    TARGET_LINK_LIBRARIES(${name} GraspStudio Saba)
+    TARGET_LINK_LIBRARIES(${name} PUBLIC GraspStudio Saba)
 endfunction()
 
 
diff --git a/MotionPlanning/examples/MultiThreadedPlanning/CMakeLists.txt b/MotionPlanning/examples/MultiThreadedPlanning/CMakeLists.txt
index f9b0c90a234276c7cc43f485ae771626149f97b2..778ad0142ad3a5e7553c60bcda394705fcf98b44 100644
--- a/MotionPlanning/examples/MultiThreadedPlanning/CMakeLists.txt
+++ b/MotionPlanning/examples/MultiThreadedPlanning/CMakeLists.txt
@@ -19,7 +19,7 @@ IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
 	)
     
   VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
-  TARGET_LINK_LIBRARIES(${PROJECT_NAME} Saba)
+  TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE Saba)
   
   SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
   SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
diff --git a/SimDynamics/examples/BulletDebugViewer/CMakeLists.txt b/SimDynamics/examples/BulletDebugViewer/CMakeLists.txt
index a806617b639ac53cd32bfdd618df7f1c8eb2aac4..a5cbe5dfab2907e23a1125a8ad4d97d46524116b 100644
--- a/SimDynamics/examples/BulletDebugViewer/CMakeLists.txt
+++ b/SimDynamics/examples/BulletDebugViewer/CMakeLists.txt
@@ -7,7 +7,7 @@ IF (SimDynamics_USE_BULLET_USE_GLUT)
 	message("GLUT_INCLUDE_DIR:${GLUT_INCLUDE_DIR}")
 	# create the executable
 	SimoxApplication(${PROJECT_NAME} "BulletDebugViewerGlut.cpp" "")
-        TARGET_LINK_LIBRARIES(${PROJECT_NAME} SimDynamics BulletOpenGLSupport ${Simox_EXTERNAL_LIBRARIES})
+        TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE SimDynamics BulletOpenGLSupport ${Simox_EXTERNAL_LIBRARIES})
 ELSE(SimDynamics_USE_BULLET_USE_GLUT)
 
 	IF(WIN32)
@@ -18,7 +18,7 @@ ELSE(SimDynamics_USE_BULLET_USE_GLUT)
 		#"Win32BasicDemo.cpp"
 		SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /subsystem:windows")
 		SimoxApplication(${PROJECT_NAME} ${SRC} "")
-		TARGET_LINK_LIBRARIES(${PROJECT_NAME} SimDynamics BulletOpenGLSupport)
+                TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE SimDynamics BulletOpenGLSupport)
 	ELSE(WIN32)
 		MESSAGE (STATUS " * !GLUT only supported on windows so far... Skipping BulletDebugViewer")
 	ENDIF(WIN32)
diff --git a/SimDynamics/examples/SimDynamicsViewer/CMakeLists.txt b/SimDynamics/examples/SimDynamicsViewer/CMakeLists.txt
index 2f2f422327cb25b66c429d77006b50056fa8689c..55140740f352ac5a038b8581592bcec89ffc2cb0 100644
--- a/SimDynamics/examples/SimDynamicsViewer/CMakeLists.txt
+++ b/SimDynamics/examples/SimDynamicsViewer/CMakeLists.txt
@@ -16,7 +16,7 @@ IF(Simox_USE_COIN_VISUALIZATION)
     )
 
     SimoxQtApplication("${PROJECT_NAME}" "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
-    TARGET_LINK_LIBRARIES(${PROJECT_NAME} SimDynamics ${Simox_EXTERNAL_LIBRARIES})
+    TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE SimDynamics ${Simox_EXTERNAL_LIBRARIES})
     
     SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES FOLDER "Examples")
     SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
diff --git a/VirtualRobot/examples/CameraViewer/CMakeLists.txt b/VirtualRobot/examples/CameraViewer/CMakeLists.txt
index fc3599e5350886a85461bfdf3100e27350e42a2c..cddcb8f3bca1c7cdf0b96f4a18fd99d2f18f8bbe 100644
--- a/VirtualRobot/examples/CameraViewer/CMakeLists.txt
+++ b/VirtualRobot/examples/CameraViewer/CMakeLists.txt
@@ -22,7 +22,7 @@ IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
   VirtualRobotQtApplication(${PROJECT_NAME} "${demo_SRCS}" "${demo_INCS}" "${GUI_MOC_HDRS}" "${GUI_UIS}")
 
   if(WIN32)
-  	TARGET_LINK_LIBRARIES(${PROJECT_NAME} opengl32)
+        TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE opengl32)
   endif(WIN32)
 
   SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${Simox_BIN_DIR})
@@ -33,7 +33,7 @@ IF(Simox_VISUALIZATION AND Simox_USE_COIN_VISUALIZATION)
     find_package(OpenGL REQUIRED)
     if(OPENGL_FOUND)
         include_directories(SYSTEM ${OPENGL_INCLUDE_DIR})
-        TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OPENGL_LIBRARIES})
+        TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${OPENGL_LIBRARIES})
     endif(OPENGL_FOUND)