Files
DCMV/DIDKit/CMakeLists.txt
2022-09-28 13:28:10 +08:00

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
)