X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=97d52ff3fa5b16fc328eaccdb42b0bd61e5e3d2b;hb=3d5417d682ae768bf6393f1b0d1f6b1a1755e0bd;hp=d1ed48acf920919462f47ef3eb936f4dfab48f51;hpb=c3c3da5217b6eb255db9c0424f22d4e01250901e;p=cpPlugins.git diff --git a/CMakeLists.txt b/CMakeLists.txt index d1ed48a..97d52ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,133 +1,47 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8) - -## ============ -## = Policies = -## ============ - -SET( - policies - CMP0015 - CMP0020 - CMP0042 - ) -FOREACH(policy ${policies}) - IF(POLICY ${policy}) - CMAKE_POLICY(SET ${policy} NEW) - ENDIF(POLICY ${policy}) -ENDFOREACH(policy) +INCLUDE(cmake/cpPlugins_Policies.cmake) ## ================ ## = Project name = ## ================ PROJECT(cpPlugins) -SET(prj_MAJOR_VERSION "0") -SET(prj_MINOR_VERSION "0") -SET(prj_RELEASE_VERSION "1") -SET( - prj_VERSION - "${prj_MAJOR_VERSION}.${prj_MINOR_VERSION}.${prj_RELEASE_VERSION}" - ) +SET(prj_MAJ_VER "0") +SET(prj_MIN_VER "1") +SET(prj_REL_VER "0") +SET(prj_VER "${prj_MAJ_VER}.${prj_MIN_VER}.${prj_REL_VER}") +SET(prj_sVER "${prj_MAJ_VER}") ## =========== ## = Options = ## =========== -OPTION(USE_QT4 "Build Qt4-based code" OFF) OPTION(BUILD_EXAMPLES "Build examples" OFF) -OPTION(BUILD_SHARED_LIBRARIES "Build libraries as shared" OFF) -IF(BUILD_SHARED_LIBRARIES) - SET(LIBRARY_TYPE SHARED) -ELSE(BUILD_SHARED_LIBRARIES) - SET(LIBRARY_TYPE STATIC) -ENDIF(BUILD_SHARED_LIBRARIES) - ## ======================== ## = Packages and options = ## ======================== -# Prepare header to build shared libs (windows) -INCLUDE(GenerateExportHeader) - -# Find boost -FIND_PACKAGE(Boost 1.30 COMPONENTS filesystem system REQUIRED) -IF(Boost_FOUND) - INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS}) -ENDIF(Boost_FOUND) - -# Find ITK and VTK -FIND_PACKAGE(ITK REQUIRED) -FIND_PACKAGE(VTK REQUIRED) - -INCLUDE(${ITK_USE_FILE}) -INCLUDE(${VTK_USE_FILE}) - -# 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) +INCLUDE(cmake/cpPlugins_Options.cmake) +INCLUDE(cmake/cpPlugins_KitwareTools.cmake) +INCLUDE(cmake/cpPlugins_Qt4Tools.cmake) -SET(QT4_FOUND "0") -IF(USE_QT4) - FIND_PACKAGE(Qt4 REQUIRED) - INCLUDE(${QT_USE_FILE}) - - ## 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) - -## ================================================ -## = Do not allow to build inside the source tree = -## ================================================ - -IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR}) - MESSAGE(FATAL_ERROR "Building in the source tree is not allowed.") -ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR}) - -## ===================================== -## = Where to put executables and libs = -## ===================================== - -SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}) -SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}) -MARK_AS_ADVANCED( - CMAKE_BACKWARDS_COMPATIBILITY - EXECUTABLE_OUTPUT_PATH - LIBRARY_OUTPUT_PATH - ) - -## ============================== -## = Subdirs containing headers = -## ============================== +## ======================= +## = Include directories = +## ======================= INCLUDE_DIRECTORIES( + ${PROJECT_SOURCE_DIR} + ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/lib - ${PROJECT_SOURCE_DIR}/lib/third_party - ${PROJECT_SOURCE_DIR}/lib/third_party/ItkVtkGlue ${PROJECT_BINARY_DIR}/lib + ${PROJECT_SOURCE_DIR}/plugins + ${PROJECT_BINARY_DIR}/plugins + ${PROJECT_SOURCE_DIR}/lib/third_party ${PROJECT_BINARY_DIR}/lib/third_party - ${PROJECT_BINARY_DIR}/lib/third_party/ItkVtkGlue + ${PROJECT_SOURCE_DIR}/lib/ItkVtkGlue + ${PROJECT_BINARY_DIR}/lib/ItkVtkGlue ) -IF(WIN32 OR APPLE) - INCLUDE_DIRECTORIES( - ${PROJECT_SOURCE_DIR}/lib/third_party/glext - ) -ENDIF(WIN32 OR APPLE) ## =========================== ## = Subdirs containing code = @@ -136,6 +50,7 @@ ENDIF(WIN32 OR APPLE) SUBDIRS( cmake lib + plugins appli )