2025-07-31 10:04:08 +08:00
|
|
|
cmake_minimum_required(VERSION 3.8)
|
|
|
|
|
project(USCTViewer)
|
2022-01-24 10:13:01 +08:00
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
|
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
|
|
|
|
|
|
file(GLOB_RECURSE project_headers src/*.h)
|
|
|
|
|
file(GLOB_RECURSE project_cpps src/*.cpp)
|
|
|
|
|
file(GLOB_RECURSE project_cxx src/*.cxx)
|
|
|
|
|
file(GLOB_RECURSE project_cc src/*.cc)
|
|
|
|
|
|
2022-11-21 13:28:59 +08:00
|
|
|
#set(VTK_DIR "D:/Libs/binary/VTK8.1.2/lib/cmake/vtk-8.2")
|
2025-08-01 15:40:20 +08:00
|
|
|
set(VTK_DIR "D:/Libs/binary/VTK9.2.2win11/lib/cmake/vtk-9.2")
|
2022-01-24 10:13:01 +08:00
|
|
|
set(Qt5_DIR "D:/Qt/Qt5.12.0/5.12.0/msvc2017_64/lib/cmake/Qt5")
|
2022-02-11 13:28:51 +08:00
|
|
|
set(DCMTK_DIR "D:/Libs/binary/DCMTK/cmake")
|
|
|
|
|
|
2022-01-24 10:13:01 +08:00
|
|
|
|
2025-07-31 10:04:08 +08:00
|
|
|
find_package(Qt5 COMPONENTS Core Widgets Gui OpenGL LinguistTools REQUIRED)
|
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
|
set(CMAKE_AUTORCC ON)
|
2022-01-24 10:13:01 +08:00
|
|
|
|
2025-07-31 10:04:08 +08:00
|
|
|
file(GLOB_RECURSE project_uis ./src/*.ui)
|
|
|
|
|
qt5_wrap_ui(ui_FILES ${project_uis})
|
2022-01-24 10:13:01 +08:00
|
|
|
|
2025-07-31 10:04:08 +08:00
|
|
|
file(GLOB project_res ./src/*.qrc)
|
|
|
|
|
set(TS_FILES
|
2025-06-05 14:42:00 +08:00
|
|
|
./src/translations/en_US.ts
|
|
|
|
|
./src/translations/zh_CN.ts)
|
2025-07-31 10:04:08 +08:00
|
|
|
set_source_files_properties(${TS_FILES} PROPERTIES OUTPUT_LOCATION ${CMAKE_SOURCE_DIR}/src/translations)
|
|
|
|
|
qt5_create_translation(QM_FILES ${project_cpps} ${project_cxx} ${ui_FILES} ${TS_FILES})
|
2022-01-24 10:13:01 +08:00
|
|
|
|
|
|
|
|
|
2025-07-31 10:04:08 +08:00
|
|
|
|
|
|
|
|
add_executable(USCTViewer WIN32 app.rc ${project_headers} ${project_cpps} ${project_cxx} ${project_res} ${project_cc} ${ui_FILES} ${QM_FILES} )
|
|
|
|
|
|
|
|
|
|
target_link_libraries(USCTViewer Qt5::Core Qt5::Widgets Qt5::Gui Qt5::OpenGL)
|
|
|
|
|
|
|
|
|
|
target_include_directories(USCTViewer PRIVATE
|
|
|
|
|
./src/src/
|
|
|
|
|
./src/src/base
|
|
|
|
|
./src/src/global
|
|
|
|
|
./src/src/view
|
|
|
|
|
./src/src/view/subview
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
find_package(DCMTK REQUIRED)
|
|
|
|
|
set(DCM_NETWORK_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/thirdparty/dcm_network)
|
|
|
|
|
set(DCM_NETWORK_RUNTIME_DIRS ${CMAKE_BINARY_DIR}/thirdparty/dcm_network)
|
|
|
|
|
|
|
|
|
|
target_include_directories(USCTViewer PRIVATE ${DCMTK_INCLUDE_DIRS})
|
|
|
|
|
target_link_libraries(USCTViewer ${DCMTK_LIBRARIES})
|
|
|
|
|
|
|
|
|
|
find_package(VTK REQUIRED)
|
|
|
|
|
target_link_libraries(USCTViewer ${VTK_LIBRARIES})
|
2022-01-24 10:13:01 +08:00
|
|
|
|
2022-02-11 13:28:51 +08:00
|
|
|
add_subdirectory(thirdparty)
|
2025-07-31 10:04:08 +08:00
|
|
|
# add_subdirectory(DIDKit)
|
2022-01-24 10:13:01 +08:00
|
|
|
|
2022-02-11 13:28:51 +08:00
|
|
|
|
2022-01-24 10:13:01 +08:00
|
|
|
include_directories(${DCM_NETWORK_INCLUDE_DIRS})
|
2025-07-31 10:04:08 +08:00
|
|
|
target_link_libraries(USCTViewer dcm_network)
|
|
|
|
|
add_dependencies(USCTViewer dcm_network)
|
|
|
|
|
|
|
|
|
|
|
2022-01-24 10:13:01 +08:00
|
|
|
|
2025-07-31 10:04:08 +08:00
|
|
|
set_target_properties(USCTViewer PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE")
|
|
|
|
|
set_target_properties(USCTViewer PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS")
|