1# Finish the setup. This should be run after all modules.
2
3if(BUILD_SINGLE_SHARED_LIBRARY)
4  # Collect the object files of all libraries in all modules.
5  # The variable ${DCMTK_ALL_LIBRARIES} is set by DCMTK_ADD_LIBRARY().
6  set(LIBS)
7  foreach(LIB ${DCMTK_ALL_LIBRARIES})
8    set(LIBS ${LIBS} $<TARGET_OBJECTS:${LIB}>)
9  endforeach()
10
11  # Build a single "everything-library".
12  # The library dependencies are collected by DCMTK_TARGET_LINK_LIBRARIES().
13  add_library(dcmtk SHARED ${LIBS})
14  target_link_libraries(dcmtk ${DCMTK_LIBRARY_DEPENDENCIES})
15  set_target_properties(dcmtk PROPERTIES ${DCMTK_LIBRARY_PROPERTIES})
16
17  # Export target for build tree
18  set_property(GLOBAL APPEND PROPERTY DCMTK_LIBRARY_TARGETS dcmtk)
19
20  # Declare installation files. Also export libs and executables to DCMTKTargets.cmake.
21  install(TARGETS dcmtk
22          EXPORT DCMTKTargets
23          COMPONENT lib
24          RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
25          LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
26          ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
27endif()
28