--- aux/broker/CMakeLists.txt.orig	2016-11-16 22:53:56 UTC
+++ aux/broker/CMakeLists.txt
@@ -2,7 +2,32 @@ project(broker C CXX)
 cmake_minimum_required(VERSION 2.8)
 include(cmake/CommonCMakeConfig.cmake)
 
-find_package(CAF COMPONENTS core io REQUIRED)
+set(ENABLE_SHARED true)
+
+if ( ENABLE_STATIC_ONLY )
+    set(ENABLE_STATIC true)
+    set(ENABLE_SHARED false)
+endif ()
+
+if ( ENABLE_STATIC )
+    set(CAF_STATIC_ONLY true)
+    find_package(CAF COMPONENTS core io REQUIRED)
+    set(LINK_CAF_STATIC ${CAF_LIBRARIES})
+endif ()
+if ( ENABLE_SHARED )
+	unset(CAF_STATIC_ONLY CACHE)
+	unset(CAF_FOUND CACHE)
+	unset(CAF_LIBRARIES CACHE)
+	unset(CAF_LIBRARY_CORE CACHE)
+	unset(CAF_STATIC_ONLY)
+	unset(CAF_FOUND)
+	unset(CAF_LIBRARIES)
+	unset(CAF_LIBRARY_CORE)
+	unset(CAF_LIBRARY_IO)
+unset(CAF_LIBRARY_IO CACHE)
+    find_package(CAF COMPONENTS core io REQUIRED)
+    set(LINK_CAF_SHARED ${CAF_LIBRARIES})
+endif ()
 
 # Check for required CAF version.
 set(CAF_VERSION_REQUIRED 0.14)
@@ -23,7 +48,6 @@ if ( ( CAF_VERSION VERSION_LESS ${CAF_VE
 endif ()
 
 include_directories(BEFORE ${CAF_INCLUDE_DIRS})
-set(LINK_LIBS ${LINK_LIBS} ${CAF_LIBRARIES})
 
 find_package(RocksDB)
 
@@ -50,12 +74,6 @@ set(BROKER_VERSION
     ${BROKER_VERSION_MAJOR}.${BROKER_VERSION_MINOR}.${BROKER_VERSION_PATCH})
 # The SO number shall increase only if binary interface changes.
 set(BROKER_SOVERSION 0)
-set(ENABLE_SHARED true)
-
-if ( ENABLE_STATIC_ONLY )
-    set(ENABLE_STATIC true)
-    set(ENABLE_SHARED false)
-endif ()
 
 include(RequireCXX11)
 
@@ -147,21 +165,23 @@ if ( ENABLE_SHARED )
                           # MACOSX_RPATH).
                           INSTALL_NAME_DIR "@rpath"
                           OUTPUT_NAME broker)
-    target_link_libraries(broker ${LINK_LIBS})
+		  target_link_libraries(broker ${LINK_LIBS} ${LINK_CAF_SHARED})
     install(TARGETS broker DESTINATION ${INSTALL_LIB_DIR})
 endif ()
 
 if ( ENABLE_STATIC )
     add_library(brokerStatic STATIC ${BROKER_SRC})
     set_target_properties(brokerStatic PROPERTIES OUTPUT_NAME broker)
-    target_link_libraries(brokerStatic ${LINK_LIBS})
+    target_link_libraries(brokerStatic ${LINK_LIBS} ${LINK_CAF_STATIC})
     install(TARGETS brokerStatic DESTINATION ${INSTALL_LIB_DIR})
 endif ()
 
 add_subdirectory(bindings)
 
-enable_testing()
-add_subdirectory(tests)
+if ( !ENABLE_SHARED )
+    enable_testing()
+    add_subdirectory(tests)
+endif ()
 
 string(TOUPPER ${CMAKE_BUILD_TYPE} BuildType)
 
