X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=CMakeLists.txt;h=d584f6e8ba961be5af0d887443142a28eba79432;hb=260cab51b762d995e771b1f3f6de1667ca4d19d2;hp=fc0442238b259aca44a3e6c2eab0996ca18c745d;hpb=0c22ea8a82db915fa32f09c6b68c7bc3d1a3b92b;p=cpPlugins.git diff --git a/CMakeLists.txt b/CMakeLists.txt index fc04422..d584f6e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,120 +1,50 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) - -# 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 - ) - -## ================ -## = 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}" - ) - -## =========== -## = Options = -## =========== - -OPTION(USE_QT4 "Build Qt4-based code" OFF) -OPTION(BUILD_EXAMPLES "Build examples" OFF) +CMAKE_MINIMUM_REQUIRED(VERSION 3.0) ## ======================== -## = Packages and options = +## == Project definition == ## ======================== -INCLUDE(GenerateExportHeader) +SET(prj_NAME cpPlugins) +SET(prj_MAJ_VERSION 0) +SET(prj_MIN_VERSION 1) +SET(prj_REL_VERSION 0) +SET(_subdirs cmake bash lib tools plugins appli) +SET(_policies CMP0015 CMP0020 CMP0042) -FIND_PACKAGE(ITK REQUIRED) -INCLUDE(${ITK_USE_FILE}) +## ========================== +## == Some useful policies == +## ========================== -FIND_PACKAGE(VTK REQUIRED) -INCLUDE(${VTK_USE_FILE}) +FOREACH(_p ${_policies}) + IF(POLICY ${_p}) + CMAKE_POLICY(SET ${_p} NEW) + ENDIF(POLICY ${_p}) +ENDFOREACH(_p) -IF(USE_QT4) - FIND_LIBRARY( - VTK_USES_QT - NAMES vtkGUISupportQt-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION} - HINTS ${VTK_LIBRARY_DIRS} - PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64 - ) - FIND_LIBRARY( - VTK_USES_QT_OPENGL - vtkGUISupportQtOpenGL-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION} - HINTS ${VTK_LIBRARY_DIRS} - PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64 - ) - MARK_AS_ADVANCED(FORCE VTK_USES_QT) - MARK_AS_ADVANCED(FORCE VTK_USES_QT_OPENGL) - IF(VTK_USES_QT AND VTK_USES_QT_OPENGL) - FIND_PACKAGE(Qt4 REQUIRED) - INCLUDE(${QT_USE_FILE}) - ELSE(VTK_USES_QT AND VTK_USES_QT_OPENGL) - MESSAGE(FATAL_ERROR "VTK ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION} was not compiled with Qt4 support!") - ENDIF(VTK_USES_QT AND VTK_USES_QT_OPENGL) -ENDIF(USE_QT4) - -## ================================================ -## = Do not allow to build inside the source tree = -## ================================================ +## =========================== +## == Project configuration == +## =========================== -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}) +PROJECT(${prj_NAME}) +SET(prj_VERSION"${prj_MAJ_VERSION}.${prj_MIN_VERSION}.${prj_REL_VERSION}") +SET(prj_SHORT_VERSION "${prj_MAJ_VERSION}") ## ===================================== -## = Where to put executables and libs = +## == Functions, packages and options == ## ===================================== -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( - ${PROJECT_SOURCE_DIR}/lib - ${PROJECT_SOURCE_DIR}/lib/third_party - ${PROJECT_BINARY_DIR}/lib - ${PROJECT_BINARY_DIR}/lib/third_party - ) -IF(WIN32) - INCLUDE_DIRECTORIES( - ${PROJECT_SOURCE_DIR}/lib/third_party/glext - ) -ENDIF(WIN32) +INCLUDE(cmake/BaseConfig.cmake) +INCLUDE(cmake/Options.cmake) +INCLUDE(cmake/KitwareTools.cmake) +INCLUDE(cmake/QtTools.cmake) +INCLUDE(cmake/Functions.cmake) ## =========================== -## = Subdirs containing code = +## == Build different parts == ## =========================== -SUBDIRS( - cmake - lib - appli - ) +FOREACH(_s ${_subdirs}) + SUBDIRS(${_s}) +ENDFOREACH(_s) ## eof - $RCSfile$