VTK/Tutorials/CMakeListsFileForQt4: Difference between revisions
Line 46: | Line 46: | ||
Here is the descriptions for selected lines: | Here is the descriptions for selected lines: | ||
Make cmake to find VTK and Qt4 library and include UseVTK.cmake and UseQt4.cmake, | Make cmake to find VTK and Qt4 library and include UseVTK.cmake and UseQt4.cmake, | ||
where useful settings are defined. | where useful settings are defined. | ||
<source lang=cmake> | <source lang=cmake> | ||
find_package(VTK REQUIRED) | find_package(VTK REQUIRED) | ||
Line 57: | Line 55: | ||
find_package(Qt4 REQUIRED) | find_package(Qt4 REQUIRED) | ||
include(${QT_USE_FILE}) | include(${QT_USE_FILE}) | ||
</source> | |||
Tell cmake to include additional header directories for out-of-sorce build | |||
<source lang=cmake> | |||
# support for out-of-source build | |||
INCLUDE_DIRECTORIES( | |||
${CMAKE_CURRENT_BINARY_DIR} | |||
${CMAKE_CURRENT_SOURCE_DIR} | |||
) | |||
</source> | |||
Make cmake to define SRC for all source files, | |||
MOC for meta-compiling (class with Q_OBJECT), | |||
UI for form files,RCC for resource files. | |||
<source lang=cmake> | |||
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 ) | |||
</source> | </source> | ||
Revision as of 09:04, 1 July 2010
CMakeLists.txt
<source lang=cmake> project(application)
cmake_minimum_required(VERSION 2.8.0)
find_package(VTK REQUIRED) 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 the descriptions for selected lines:
Make cmake to find VTK and Qt4 library and include UseVTK.cmake and UseQt4.cmake, where useful settings are defined. <source lang=cmake> find_package(VTK REQUIRED) include(${VTK_USE_FILE})
find_package(Qt4 REQUIRED) include(${QT_USE_FILE}) </source>
Tell cmake to include additional header directories for out-of-sorce build <source lang=cmake>
- support for out-of-source build
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
) </source>
Make cmake to define SRC for all source files, MOC for meta-compiling (class with Q_OBJECT), UI for form files,RCC for resource files.
<source lang=cmake> 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 ) </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>