message: When using clang to build on GNU/Linux still use the same flag as in
  Summary:
  The linker flag we add for clang assumes it's being built on Apple platform.
  GNU LD does not recognize the -force_load flag.
diff: @@ -89,7 +89,12 @@ function(set_link_whole target_name lib_name)
  message(STATUS "${target_name} will link ${libpath} wholly")
  string(TOLOWER ${CMAKE_CXX_COMPILER_ID} compiler_id)
  if (${compiler_id} MATCHES ".*clang")
  + if (APPLE)
  set_property(TARGET ${target_name} APPEND_STRING PROPERTY LINK_FLAGS "-Wl,-force_load ${libpath} ")
  + else ()
  + # On non-Apple platforms, we always assume that the GNU Linker is used
  + set_property(TARGET ${target_name} APPEND_STRING PROPERTY LINK_FLAGS "-Wl,--whole-archive ${libpath} -Wl,--no-whole-archive")
  + endif ()
  elseif (${compiler_id} STREQUAL "gnu")
  set_property(TARGET ${target_name} APPEND_STRING PROPERTY LINK_FLAGS "-Wl,--whole-archive ${libpath} -Wl,--no-whole-archive")
  elseif (${compiler_id} STREQUAL "msvc")
  