File: class_loader_hide_library_symbols.cmake

package info (click to toggle)
ros-class-loader 2.9.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 412 kB
  • sloc: cpp: 2,286; xml: 30; makefile: 4
file content (18 lines) | stat: -rw-r--r-- 614 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# hides all symbols of a library
function(class_loader_hide_library_symbols target)
  set(version_script
    "${CMAKE_CURRENT_BINARY_DIR}/class_loader_hide_library_symbols__${target}.script")
  file(WRITE "${version_script}"
    "    {
      local:
        *;
    };"
  )
  # checks if the linker supports version script
  include(TestCXXAcceptsFlag)
  check_cxx_accepts_flag("-Wl,--version-script,\"${version_script}\"" LD_ACCEPTS_VERSION_SCRIPT)
  if(LD_ACCEPTS_VERSION_SCRIPT)
    set_target_properties(
      ${target} PROPERTIES LINK_FLAGS "-Wl,-version-script=\"${version_script}\"")
  endif()
endfunction()