VTK/Tutorials/CMakeListsFileForQt4
CMakeLists.txt
<source lang=cmake> project(application)
cmake_minimum_required(VERSION 2.8.0)
find_package(VTK) include(${VTK_USE_FILE})
find_package(Qt4 REQUIRED) include(${QT_USE_FILE})
- support for out-of-source build
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
)
set(SRC
optionsDialog.h optionsDialog.cpp main.cpp mainwindow.h mainwindow.cpp application.qrc
)
set(MOC optionsDialog.h mainwindow.h ) set(UI optionsDialog.ui mainwindow.ui) set(RCC application.qrc )
qt4_wrap_cpp(MOC_GENERATED ${MOC}) qt4_wrap_ui(UI_GENERATED ${UI}) qt4_add_resources(RCC_GENERATED ${RCC})
source_group("Form Files" FILES ${UI} ) source_group("Resource Files" FILES ${RCC} ) source_group("Generated Files" FILES ${MOC_GENERATED} ${UI_GENERATED} ${RCC_GENERATED} )
add_executable(application WIN32
${SRC} ${MOC_GENERATED} ${UI_GENERATED} ${RCC_GENERATED} )
target_link_libraries(application ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY} QVTK vtkHybrid)
</source>
Here is a line by line break down of what is going on:
This will prevent annoying cmake warnings about "you must specifiy a minimum required version". <source lang=cmake> cmake_minimum_required(VERSION 2.6) </source>
Name the project. <source lang=cmake> PROJECT(Test) </source>
Tell cmake that this project needs to use VTK. <source lang=cmake> FIND_PACKAGE(VTK REQUIRED) INCLUDE(${VTK_USE_FILE}) </source>
Tell cmake we want to compile Test.cpp into a binary called Test. <source lang=cmake> ADD_EXECUTABLE(Test Test.cpp) </source>
Tell cmake we need to link Test against vtkHybrid. This is the "catch all" VTK library. If you don't know what to link to, most of the time vtkHybrid will have what you need. <source lang=cmake> TARGET_LINK_LIBRARIES(Test vtkHybrid) </source>