cmake_minimum_required(VERSION 3.3 FATAL_ERROR) foreach(p CMP0071 # 3.10: Let AUTOMOC and AUTOUIC process GENERATED files ) if(POLICY ${p}) cmake_policy(SET ${p} NEW) endif() endforeach() project(QtVTKRenderWindows) find_package(VTK COMPONENTS vtkCommonCore vtkFiltersSources vtkGUISupportQt vtkIOImage vtkInteractionImage ) include(${VTK_USE_FILE}) if("${VTK_QT_VERSION}" STREQUAL "") message(FATAL_ERROR "VTK was not built with Qt") endif() # Set your files and resources here set( Srcs QtVTKRenderWindowsApp.cxx QtVTKRenderWindows.cxx) set( Hdrs QtVTKRenderWindows.h ) set( MOC_Hdrs QtVTKRenderWindows.h ) set( UIs QtVTKRenderWindows.ui ) include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ) # Instruct CMake to run moc automatically when needed. set(CMAKE_AUTOMOC ON) if(VTK_QT_VERSION VERSION_GREATER "4") find_package(Qt5 COMPONENTS Widgets REQUIRED QUIET) qt5_wrap_ui(UI_Srcs ${UIs}) # CMAKE_AUTOMOC in ON so the MocHdrs will be automatically wrapped. add_executable(QtVTKRenderWindows ${Srcs} ${Hdrs} ${UI_Srcs} ${MOC_Hdrs}) qt5_use_modules(QtVTKRenderWindows Core Gui Widgets) target_link_libraries(QtVTKRenderWindows ${VTK_LIBRARIES}) else() find_package(Qt4 REQUIRED) include(${QT_USE_FILE}) # Use what VTK built with set(QT_QMAKE_EXECUTABLE ${VTK_QT_QMAKE_EXECUTABLE} CACHE FILEPATH "") set(QT_MOC_EXECUTABLE ${VTK_QT_MOC_EXECUTABLE} CACHE FILEPATH "") set(QT_UIC_EXECUTABLE ${VTK_QT_UIC_EXECUTABLE} CACHE FILEPATH "") qt4_wrap_ui(UI_Srcs ${UIs}) add_executable(QtVTKRenderWindows ${Srcs} ${Hdrs} ${UI_Srcs} ${MOC_Hdrs}) target_link_libraries(QtVTKRenderWindows ${QT_LIBRARIES} ${VTK_LIBRARIES}) endif()