diff --git a/CMakeLists.txt b/CMakeLists.txt index 750f1f8..4401945 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,5 @@ -cmake_minimum_required(VERSION 2.8) -set(PROJECT_NAME CACHE STRING "project" ) -option(ENABLE_QT "ENABLE QT" ON) -project(OmegaV) +cmake_minimum_required(VERSION 3.8) +project(USCTViewer) set(CMAKE_CXX_STANDARD 11) set(CMAKE_INCLUDE_CURRENT_DIR ON) @@ -10,72 +8,59 @@ file(GLOB_RECURSE project_cpps src/*.cpp) file(GLOB_RECURSE project_cxx src/*.cxx) file(GLOB_RECURSE project_cc src/*.cc) -include_directories( - ./src/src/ - ./src/src/base - ./src/src/global - ./src/src/view - ./src/src/view/subview - ) - #set(VTK_DIR "D:/Libs/binary/VTK8.1.2/lib/cmake/vtk-8.2") -set(VTK_DIR "D:/Libs/binary/VTK9.2.2win11/lib/cmake/vtk-9.2") +set(VTK_DIR "D:/Libs/Static/VTK9.2.2win11/lib/cmake/vtk-9.2") set(Qt5_DIR "D:/Qt/Qt5.12.0/5.12.0/msvc2017_64/lib/cmake/Qt5") set(DCMTK_DIR "D:/Libs/binary/DCMTK/cmake") -find_package(DCMTK REQUIRED) -include_directories(${DCMTK_INCLUDE_DIRS}) +find_package(Qt5 COMPONENTS Core Widgets Gui OpenGL LinguistTools REQUIRED) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +file(GLOB_RECURSE project_uis ./src/*.ui) +qt5_wrap_ui(ui_FILES ${project_uis}) + +file(GLOB project_res ./src/*.qrc) +set(TS_FILES + ./src/translations/en_US.ts + ./src/translations/zh_CN.ts) +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}) + + + +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) -set(ENABLE_QT ON) - -source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${project_headers}) -source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${project_cpps}) -source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${project_cxx}) -source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${project_cc}) - -if(ENABLE_QT) - message(${ENABLE_QT}) - find_package(Qt5 COMPONENTS Core Widgets Gui OpenGL REQUIRED) - set(CMAKE_AUTOMOC ON) - set(CMAKE_AUTORCC ON) - file(GLOB_RECURSE project_uis ./src/*.ui) - qt5_wrap_ui(ui_FILES ${project_uis}) - file(GLOB project_res ./src/*.qrc) - set(TS_FILES - ./src/translations/en_US.ts - ./src/translations/zh_CN.ts) - find_package(Qt5 COMPONENTS ${REQUIRED_LIBS} LinguistTools REQUIRED) - 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}) - source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${project_uis}) - source_group(TREE ${CMAKE_SOURCE_DIR} FILES ${project_res}) - - add_executable(${PROJECT_NAME} ${project_headers} ${project_cpps} ${project_cxx} ${project_res} ${project_cc} ${ui_FILES} ${QM_FILES} ) - - target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Widgets Qt5::Gui Qt5::OpenGL) -else(ENABLE_QT) - add_executable(${PROJECT_NAME} ${project_headers} ${project_cpps} ${project_cxx} ${project_cc}) -endif(ENABLE_QT) +target_include_directories(USCTViewer PRIVATE ${DCMTK_INCLUDE_DIRS}) +target_link_libraries(USCTViewer ${DCMTK_LIBRARIES}) find_package(VTK REQUIRED) -include(${VTK_USE_FILE}) -target_link_libraries(${PROJECT_NAME} ${VTK_LIBRARIES}) - -if(DCMTK_LIBRARIES) - target_link_libraries(${PROJECT_NAME} ${DCMTK_LIBRARIES}) -endif() +target_link_libraries(USCTViewer ${VTK_LIBRARIES}) add_subdirectory(thirdparty) -add_subdirectory(DIDKit) +# add_subdirectory(DIDKit) include_directories(${DCM_NETWORK_INCLUDE_DIRS}) -target_link_libraries(${PROJECT_NAME} dcm_network) -add_dependencies(${PROJECT_NAME} dcm_network) +target_link_libraries(USCTViewer dcm_network) +add_dependencies(USCTViewer dcm_network) -set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE") -set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS") + + +set_target_properties(USCTViewer PROPERTIES LINK_FLAGS_DEBUG "/SUBSYSTEM:CONSOLE") +set_target_properties(USCTViewer PROPERTIES LINK_FLAGS_RELEASE "/SUBSYSTEM:WINDOWS") diff --git a/app.rc b/app.rc new file mode 100644 index 0000000..e681731 --- /dev/null +++ b/app.rc @@ -0,0 +1 @@ +IDI_ICON1 ICON "logo.ico" \ No newline at end of file diff --git a/logo.ico b/logo.ico new file mode 100644 index 0000000..c946204 Binary files /dev/null and b/logo.ico differ diff --git a/src/src/main.cpp b/src/src/main.cpp index 254e74a..1d869ee 100644 --- a/src/src/main.cpp +++ b/src/src/main.cpp @@ -64,6 +64,7 @@ int main(int argc, char* argv[]) vtkObject::SetGlobalWarningDisplay(0); { QDicomViewer w; + w.setWindowIcon(QIcon(":/InfiniteViewer/Icon/logo.png")); w.show(); exitCode = a.exec(); } @@ -82,6 +83,7 @@ int main(int argc, char* argv[]) } QApplication::installTranslator(&translator); QDicomViewer w; + w.setWindowIcon(QIcon(":/InfiniteViewer/Icon/logo.png")); w.show(); exitCode = a.exec(); }