108 lines
3.2 KiB
CMake
108 lines
3.2 KiB
CMake
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
|
|
) |