project(DIDKit) set (DIDKit_VERSION_MAJOR 1) set (DIDKit_VERSION_MINOR 0) set (DIDKit_VERSION_BUILD 0) set(DIDKit_VERSION "${DIDKit_VERSION_MAJOR}.${DIDKit_VERSION_MINOR}.${DIDKit_VERSION_BUILD}") file(GLOB_RECURSE DIDKit_IO_headers ../src/src/IO/*.h) file(GLOB_RECURSE DIDKit_IO_cpps ../src/src/IO/*.cpp) file(GLOB_RECURSE DIDKit_PACS_headers ../src/src/PACS/*.h) file(GLOB_RECURSE DIDKit_PACS_cpps ../src/src/PACS/*.cpp) file(GLOB_RECURSE DIDKit_Network_headers ../thirdparty/*.h) file(GLOB_RECURSE DIDKit_Network_cpps ./thirdparty/*.cpp) file(GLOB_RECURSE DIDKit_App_headers ./*/*.h) file(GLOB_RECURSE DIDKit_App_cpps ./*/*.cpp) set(DIDKit_BUILD_SHARED_LIBS ON) if (${DIDKit_BUILD_SHARED_LIBS}) include_directories(Defines/) endif() include_directories(../src/src/) include_directories(./App/) add_library(DIDKit SHARED ${DIDKit_IO_headers} ${DIDKit_IO_cpps}) option(BUILD_DIDKit_APP "Build DIDKit App" ON) set(BUILD_DIDKit_APP ON) set(CMAKE_INSTALL_PREFIX D:/Libs/binary/TestLib) find_package(DCMTK REQUIRED) include_directories(${DCMTK_INCLUDE_DIRS}) include_directories(${DCM_NETWORK_INCLUDE_DIRS}) find_package(VTK REQUIRED) include(${VTK_USE_FILE}) target_link_libraries(DIDKit ${DCMTK_LIBRARIES}) target_link_libraries(DIDKit ${VTK_LIBRARIES}) if(${BUILD_DIDKit_APP}) include_directories(${DCM_NETWORK_INCLUDE_DIRS}) file(GLOB_RECURSE DIDKit_UI ./*/*.ui) qt5_wrap_ui(DIDKit_UI_FILES ${DIDKit_UI}) add_executable(DIDKitApp ${DIDKit_IO_headers} ${DIDKit_IO_cpps} ${DIDKit_App_headers} ${project_res} ${DIDKit_App_cpps} ${DIDKit_PACS_headers} ${DIDKit_PACS_cpps} ${DIDKit_Network_headers} ${DIDKit_Network_cpps} ${DIDKit_UI_FILES}) target_link_libraries(DIDKitApp ${DCMTK_LIBRARIES}) target_link_libraries(DIDKitApp ${VTK_LIBRARIES}) target_link_libraries(DIDKitApp dcm_network) add_dependencies(DIDKitApp dcm_network) target_link_libraries(DIDKitApp Qt5::Core Qt5::Widgets Qt5::Gui) endif() set_property(TARGET DIDKit PROPERTY VERSION ${DIDKit_VERSION}) set_property(TARGET DIDKit PROPERTY SOVERSION 1) set_property(TARGET DIDKit PROPERTY INTERFACE_DIDKit_MAJOR_VERSION 1) set_property(TARGET DIDKit APPEND PROPERTY COMPATIBLE_INTERFACE_STRING DIDKit_MAJOR_VERSION) install(TARGETS DIDKit EXPORT DIDKitTargets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) install( FILES ${DIDKit_IO_headers} DESTINATION include/IO COMPONENT Devel ) include(CMakePackageConfigHelpers) write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/DIDKit/DIDKitConfigVersion.cmake" VERSION ${DIDKit_VERSION} COMPATIBILITY AnyNewerVersion ) configure_file( ${CMAKE_CURRENT_LIST_DIR}/cmake/DIDKitConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/DIDKitConfig.cmake @ONLY ) set(ConfigPackageLocation lib/cmake/DIDKit) install(EXPORT DIDKitTargets FILE DIDKitTargets.cmake DESTINATION ${ConfigPackageLocation} ) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/DIDKitConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/DIDKit/DIDKitConfigVersion.cmake" DESTINATION ${ConfigPackageLocation} COMPONENT Devel )