CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7) IF(COMMAND cmake_policy) IF("${CMAKE_VERSION}" VERSION_GREATER "2.6" OR "${CMAKE_VERSION}" VERSION_EQUAL "2.6") CMAKE_POLICY(SET CMP0003 NEW) ENDIF("${CMAKE_VERSION}" VERSION_GREATER "2.6" OR "${CMAKE_VERSION}" VERSION_EQUAL "2.6") IF("${CMAKE_VERSION}" VERSION_GREATER "2.8") CMAKE_POLICY(SET CMP0015 NEW) # NOT AVAILABLE IN 2.8.0 !!! ENDIF("${CMAKE_VERSION}" VERSION_GREATER "2.8") ENDIF(COMMAND cmake_policy) # Add custom cmake modules to cmake search path SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmakemodules" "${CMAKE_MODULE_PATH}") PROJECT(ShadowsQVTKView) # Require at least VTK 6.0 SET(VTK_MIN_VERSION "6.0.0") FIND_PACKAGE(VTK REQUIRED) # NOTE: CMake appears to fail on checking VTK minimum version (at least on win7); ${VTK_MIN_VERSION}) IF(NOT VTK_FOUND) MESSAGE(SEND_ERROR "VTK ${VTK_MIN_VERSION} not found. Please set the VTK_DIR variable.") ELSE(NOT VTK_FOUND) # The version check fails with cmake 2.8.4+linux/windows7, manually perform check IF("${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR}" VERSION_LESS ${VTK_MIN_VERSION}) MESSAGE(SEND_ERROR "VTK ${VTK_MIN_VERSION} not found (version ${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR} provided). Please set the VTK_DIR variable.") ELSE("${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR}" VERSION_LESS ${VTK_MIN_VERSION}) INCLUDE(${VTK_USE_FILE}) ENDIF("${VTK_VERSION_MAJOR}.${VTK_VERSION_MINOR}" VERSION_LESS ${VTK_MIN_VERSION}) ENDIF(NOT VTK_FOUND) # Require Qt 4.8.0 or later SET(QT_MIN_VERSION "4.8.0") SET(QT_USE_QTNETWORK TRUE) SET(QT_USE_QTSQL TRUE) SET(QT_USE_QTTEST TRUE) SET(QT_USE_QTSCRIPT TRUE) SET(QT_USE_QTXML TRUE) FIND_PACKAGE(Qt4 ${QT_MIN_VERSION} REQUIRED QtCore QtGUI QtNetwork QtTest QtSql QtScript QtXml QtOpenGL ) IF(NOT QT4_FOUND) MESSAGE(SEND_ERROR "Qt ${QT_MIN_VERSION} or greater not found. Please set the QT_QMAKE_EXECUTABLE variable.") ENDIF(NOT QT4_FOUND) INCLUDE(${QT_USE_FILE}) # OpenGL FIND_PACKAGE(OpenGL REQUIRED) IF(NOT OPENGL_FOUND) MESSAGE(ERROR " OPENGL not found!") ENDIF(NOT OPENGL_FOUND) INCLUDE_DIRECTORIES(${QT_QTOPENGL_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR}) # Build executable SET(WINBUILDSTR "") IF(WIN32 AND MINGW) SET(WINBUILDSTR "WIN32") # --> the console window won't pop up at startup ELSE(WIN32 AND MINGW) SET(WINBUILDSTR "") ENDIF(WIN32 AND MINGW) INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} ) SET(SHADOW_HDRS ) SET(SHADOW_SRCS ShadowsQVTKView.cxx CompositeView.cxx MainGUI.cxx ) SET(MOC_HDRS CompositeView.h MainGUI.h ) SET(UIS ) QT4_WRAP_CPP(MOC_SRCS ${MOC_HDRS}) QT4_WRAP_UI(UI_SRCS ${UIS}) ADD_EXECUTABLE(ShadowsQVTKView ${WINBUILDSTR} ${SHADOW_HDRS} ${SHADOW_SRCS} ${MOC_HDRS} ${MOC_SRCS} ${UI_SRCS} ) TARGET_LINK_LIBRARIES(ShadowsQVTKView ${VTK_LIBRARIES} ${QT_QTOPENGL_LIBRARY} ${QT_LIBRARIES} )