86 lines
2.9 KiB
CMake
86 lines
2.9 KiB
CMake
cmake_minimum_required(VERSION 2.8)
|
|
set(PROJECT_NAME CACHE STRING "project" )
|
|
option(ENABLE_QT "ENABLE QT" ON)
|
|
project(OmegaV)
|
|
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)
|
|
|
|
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(Qt5_DIR "D:/Qt/Qt5.12.0/5.12.0/msvc2017_64/lib/cmake/Qt5")
|
|
#set(ITK_DIR "E:/3-Library/InsightToolkit-4.12.0/ITK/lib/cmake/ITK-4.12")
|
|
set(DCMTK_DIR "D:/Libs/binary/DCMTK/cmake")
|
|
|
|
|
|
find_package(DCMTK REQUIRED)
|
|
include_directories(${DCMTK_INCLUDE_DIRS})
|
|
|
|
#
|
|
#set(ITK_RUNTIME_DIRS "E:/3-Library/InsightToolkit-4.12.0/ITK/bin")
|
|
#set(DCMTK_RUNTIME_DIRS "E:/3-Library/Dcmtk-3.6.4/DCMTK/bin")
|
|
#
|
|
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 project_uis ./src/form/*.ui)
|
|
qt5_wrap_ui(ui_FILES ${project_uis})
|
|
file(GLOB project_res ./src/*.qrc)
|
|
|
|
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})
|
|
|
|
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)
|
|
|
|
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()
|
|
|
|
add_subdirectory(thirdparty)
|
|
if(MSVC)
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_ENVIRONMENT "path=${VTK_RUNTIME_DIRS};${Qt5_DIR}/../../../bin/;${DCMTK_RUNTIME_DIRS};${DCM_NETWORK_RUNTIME_DIRS}/$<CONFIG>")
|
|
endif(MSVC)
|
|
|
|
|
|
include_directories(${DCM_NETWORK_INCLUDE_DIRS})
|
|
target_link_libraries(${PROJECT_NAME} dcm_network)
|
|
add_dependencies(${PROJECT_NAME} 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(${PROJECT_NAME} PROPERTIES LINK_FLAGS_RELEASE "/level='requireAdministrator' /uiAccess='false'")
|