Template:VTKQtCMakeLists

From KitwarePublic
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

CMakeLists.txt

<syntaxhighlight lang="cmake"> cmake_minimum_required(VERSION 2.8)

if(POLICY CMP0020)

 cmake_policy(SET CMP0020 NEW)

endif()

PROJECT({{{1}}})

find_package(VTK REQUIRED) include(${VTK_USE_FILE})

if(${VTK_VERSION} VERSION_GREATER "6" AND VTK_QT_VERSION VERSION_GREATER "4")

 # Instruct CMake to run moc automatically when needed.
 set(CMAKE_AUTOMOC ON)
 find_package(Qt5Widgets REQUIRED QUIET)

else()

 find_package(Qt4 REQUIRED)
 include(${QT_USE_FILE})

endif()

include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})

file(GLOB UI_FILES *.ui) file(GLOB QT_WRAP *.h) file(GLOB CXX_FILES *.cxx)

if(${VTK_VERSION} VERSION_GREATER "6" AND VTK_QT_VERSION VERSION_GREATER "4")

 qt5_wrap_ui(UISrcs ${UI_FILES} )
 # CMAKE_AUTOMOC in ON so the MocHdrs will be automatically wrapped.
 add_executable({{{1}}} MACOSX_BUNDLE
   ${CXX_FILES} ${UISrcs} ${QT_WRAP})
 qt5_use_modules({{{1}}} Core Gui)
 target_link_libraries({{{1}}} ${VTK_LIBRARIES})

else()

 QT4_WRAP_UI(UISrcs ${UI_FILES})
 QT4_WRAP_CPP(MOCSrcs ${QT_WRAP})
 add_executable({{{1}}} MACOSX_BUNDLE ${CXX_FILES} ${UISrcs} ${MOCSrcs})
 if(VTK_LIBRARIES)
   if(${VTK_VERSION} VERSION_LESS "6")
     target_link_libraries({{{1}}} ${VTK_LIBRARIES} QVTK)
   else()
     target_link_libraries({{{1}}} ${VTK_LIBRARIES})
   endif()
 else()
   target_link_libraries({{{1}}} vtkHybrid QVTK vtkViews ${QT_LIBRARIES})
 endif()

endif()

</syntaxhighlight>

Download and Build {{{1}}}

Click here to download {{{1}}}. and its CMakeLists.txt file.

Once the tarball {{{1}}}.tar has been downloaded and extracted,

cd {{{1}}}/build

This example requires Qt and VTK.

  • If VTK and Qt are installed:
cmake ..
  • If VTK is not installed but compiled on your system, you will need to specify the path to your VTK build:
cmake -DVTK_DIR:PATH=/home/me/vtk_build ..
  • If Qt is not found on your system, you will need to tell CMake where to find qmake:
cmake -DQT_QMAKE_EXECUTABLE:FILEPATH=/usr/something/qmake  ..

Build the project:

make

and run it:

./{{{1}}}

WINDOWS USERS PLEASE NOTE: Be sure to add the VTK bin directory to your path. This will resolve the VTK dll's at run time. You may also need to add a Qt related path.