X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=16233ddf8ac8e1a01f283964e2cf3094fe9fdef1;hb=7c7bc497af96e7b5845be9a2fc277036ec752be9;hp=1d6af7523fb31f826af49c1c257f5c6c7556fabc;hpb=ab179c6d27a7b6952d52a10da584a9e4acddbf24;p=cpPlugins.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d6af75..16233dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,20 +1,20 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +CMAKE_MINIMUM_REQUIRED(VERSION 2.8) -# for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003") -IF( - COMMAND cmake_policy AND - ${CMAKE_MAJOR_VERSION} EQUAL 2 AND - ${CMAKE_MINOR_VERSION} GREATER 4 - ) - CMAKE_POLICY(SET CMP0003 NEW) - CMAKE_POLICY(SET CMP0005 NEW) - CMAKE_POLICY(SET CMP0011 NEW) - CMAKE_POLICY(SET CMP0012 NEW) -ENDIF( - COMMAND cmake_policy AND - ${CMAKE_MAJOR_VERSION} EQUAL 2 AND - ${CMAKE_MINOR_VERSION} GREATER 4 +## ============ +## = Policies = +## ============ + +SET( + policies + CMP0015 + CMP0020 + CMP0042 ) +FOREACH(policy ${policies}) + IF(POLICY ${policy}) + CMAKE_POLICY(SET ${policy} NEW) + ENDIF(POLICY ${policy}) +ENDFOREACH(policy) ## ================ ## = Project name = @@ -40,34 +40,42 @@ OPTION(BUILD_EXAMPLES "Build examples" OFF) ## = Packages and options = ## ======================== +# Prepare header to build shared libs (windows) INCLUDE(GenerateExportHeader) -FIND_PACKAGE(VTK REQUIRED) +# Find ITK and VTK FIND_PACKAGE(ITK REQUIRED) +FIND_PACKAGE(VTK REQUIRED) + INCLUDE(${ITK_USE_FILE}) +INCLUDE(${VTK_USE_FILE}) -## Check for required modules -IF(NOT ITKVtkGlue_LOADED) - MESSAGE(FATAL_ERROR "ITKVtkGlue module is required but not available.") -ENDIF(NOT ITKVtkGlue_LOADED) +# Do not use itk-vtk glue --> problems ahead!!! +IF(ITKVtkGlue_LOADED) + MESSAGE(FATAL_ERROR "ITKVtkGlue module is available. Please re-compile your ITK without it. It could lead to nasty compilation problems... Just waiting for Kitware to solve it.") +ENDIF(ITKVtkGlue_LOADED) +SET(QT4_FOUND "0") IF(USE_QT4) FIND_PACKAGE(Qt4 REQUIRED) INCLUDE(${QT_USE_FILE}) - ## Check for required modules - IF(NOT vtkGUISupportQt_LOADED) - MESSAGE( - FATAL_ERROR - "vtkGUISupportQt module is required but not available." - ) - ENDIF(NOT vtkGUISupportQt_LOADED) - IF(NOT vtkGUISupportQtOpenGL_LOADED) - MESSAGE( - FATAL_ERROR - "vtkGUISupportQtOpenGL module is required but not available." - ) - ENDIF(NOT vtkGUISupportQtOpenGL_LOADED) + ## Check for required vtk-qt4 modules + SET( + vtk_required_modules + vtkGUISupportQt + vtkGUISupportQtOpenGL + ) + FOREACH(vtk_module ${vtk_required_modules}) + IF(NOT ${vtk_module}_LOADED) + MESSAGE( + FATAL_ERROR + "${vtk_module} module is required but not available." + ) + SET(QT4_FOUND "0") + ENDIF(NOT ${vtk_module}_LOADED) + ENDFOREACH(vtk_module) + SET(QT4_FOUND "1") ENDIF(USE_QT4) ## ================================================ @@ -75,7 +83,7 @@ ENDIF(USE_QT4) ## ================================================ IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR}) - MESSAGE(FATAL_ERROR "Building in the source tree is not allowed") + MESSAGE(FATAL_ERROR "Building in the source tree is not allowed.") ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR}) ## ===================================== @@ -97,14 +105,16 @@ MARK_AS_ADVANCED( INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib ${PROJECT_SOURCE_DIR}/lib/third_party + ${PROJECT_SOURCE_DIR}/lib/third_party/ItkVtkGlue ${PROJECT_BINARY_DIR}/lib ${PROJECT_BINARY_DIR}/lib/third_party + ${PROJECT_BINARY_DIR}/lib/third_party/ItkVtkGlue ) -IF(WIN32) +IF(WIN32 OR APPLE) INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/lib/third_party/glext ) -ENDIF(WIN32) +ENDIF(WIN32 OR APPLE) ## =========================== ## = Subdirs containing code =