Difference between revisions of "VTK/Tutorials/CMakeListsFileForQt4"

From KitwarePublic
< VTK‎ | Tutorials
Jump to navigationJump to search
(Created page with '== 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) inclu…')
 
Line 5: Line 5:
cmake_minimum_required(VERSION 2.8.0)
cmake_minimum_required(VERSION 2.8.0)


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


Line 45: Line 45:




Here is a line by line break down of what is going on:
Here is the descriptions for selected lines:


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.
Make cmake to find VTK and Qt4 library and include UseVTK.cmake and UseQt4.cmake,
where useful settings are defined.
 
<source lang=cmake>
<source lang=cmake>
PROJECT(Test)
find_package(VTK REQUIRED)
</source>
include(${VTK_USE_FILE})


Tell cmake that this project needs to use VTK.
find_package(Qt4 REQUIRED)
<source lang=cmake>
include(${QT_USE_FILE})
FIND_PACKAGE(VTK REQUIRED)
INCLUDE(${VTK_USE_FILE})
</source>
</source>



Revision as of 09:01, 1 July 2010

CMakeLists.txt

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)


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.

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

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

Tell cmake we want to compile Test.cpp into a binary called Test.

ADD_EXECUTABLE(Test Test.cpp)

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.

TARGET_LINK_LIBRARIES(Test vtkHybrid)