X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=CMakeLists.txt;h=82cc483b450d28c8d0aadc64ea7dc611fb3b86b1;hb=e4d125bda5275f137ed38c14f7d1a658d70e1f1b;hp=93b62fd5d75099dc56840625f40a6a25c1c00e0a;hpb=adb38e2972e7c2e287e73c7b03db344807729219;p=cpPlugins.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 93b62fd..82cc483 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,76 +1,75 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) -INCLUDE(cmake/cpPlugins_Policies.cmake) -INCLUDE(cmake/cpPlugins_Functions.cmake) +CMAKE_MINIMUM_REQUIRED(VERSION 3.0) -## ================== -## == Project name == -## ================== +## ======================== +## == Project definition == +## ======================== -PROJECT(cpPlugins) -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(BUILD_EXAMPLES "Build examples" OFF) +SET(prj_NAME cpPlugins) +SET(prj_MAJOR_VERSION 0) +SET(prj_MINOR_VERSION 1) +SET(prj_RELEASE_VERSION 0) ## ========================== -## == Packages and options == +## == Some useful policies == ## ========================== -INCLUDE(cmake/cpPlugins_Options.cmake) -INCLUDE(cmake/cpPlugins_KitwareTools.cmake) -INCLUDE(cmake/cpPlugins_Qt4Tools.cmake) +SET(_policies CMP0015 CMP0020 CMP0042) +FOREACH(_p ${_policies}) + IF(POLICY ${_p}) + CMAKE_POLICY(SET ${_p} NEW) + ENDIF(POLICY ${_p}) +ENDFOREACH(_p) -## =================================== -## == Libraries to dynamically load == -## =================================== +## =========================== +## == Project configuration == +## =========================== -SET(cpPlugins_DynLibs) -FOREACH(i ${VTK_LIBRARIES}) - GET_TARGET_PROPERTY(lib_${i} ${i} LOCATION) - LIST(APPEND cpPlugins_DynLibs ${lib_${i}}) -ENDFOREACH(i) -FOREACH(i ${ITK_LIBRARIES}) - GET_TARGET_PROPERTY(lib_${i} ${i} LOCATION) - LIST(APPEND cpPlugins_DynLibs ${lib_${i}}) -ENDFOREACH(i) +PROJECT(${prj_NAME}) +SET( + prj_VERSION + "${prj_MAJOR_VERSION}.${prj_MINOR_VERSION}.${prj_RELEASE_VERSION}" + ) +SET(prj_SHORT_VERSION "${prj_MAJOR_VERSION}") -## ========================= -## == Include directories == -## ========================= +## ===================================== +## == Functions, packages and options == +## ===================================== -INCLUDE_DIRECTORIES( - ${PROJECT_SOURCE_DIR} - ${PROJECT_BINARY_DIR} - ${PROJECT_SOURCE_DIR}/lib - ${PROJECT_BINARY_DIR}/lib - ${PROJECT_SOURCE_DIR}/lib/cpPlugins_Instances - ${PROJECT_BINARY_DIR}/lib/cpPlugins_Instances - ${PROJECT_SOURCE_DIR}/plugins - ${PROJECT_BINARY_DIR}/plugins - ${PROJECT_SOURCE_DIR}/lib/third_party - ${PROJECT_BINARY_DIR}/lib/third_party - ${PROJECT_SOURCE_DIR}/lib/third_party/dirent - ${PROJECT_BINARY_DIR}/lib/third_party/dirent - ${PROJECT_SOURCE_DIR}/lib/ItkVtkGlue - ${PROJECT_BINARY_DIR}/lib/ItkVtkGlue - ) +INCLUDE(cmake/Restrictions.cmake) +INCLUDE(cmake/Options.cmake) +INCLUDE(cmake/Functions.cmake) +INCLUDE(cmake/KitwareTools.cmake) +OPTION(USE_QT4 "Build Qt4-based code" OFF) +INCLUDE(cmake/Qt4Tools.cmake) +IF(USE_QT4) + SET( + cpPlugins_Qt4_VTKWidget QVTKWidget + CACHE STRING "Base Qt4-based vtkRenderWindow" + ) +ENDIF(USE_QT4) -## ============================= -## == Subdirs containing code == -## ============================= +## =========================== +## == Use all valid subdirs == +## =========================== -SUBDIRS( - cmake +SET( + _include_dirs + . lib - plugins - appli + lib/Itk2Vtk + lib/Instances ) +FOREACH(_dir ${_include_dirs}) + INCLUDE_DIRECTORIES( + ${PROJECT_SOURCE_DIR}/${_dir} + ${PROJECT_BINARY_DIR}/${_dir} + ) +ENDFOREACH(_dir) + +## =========================== +## == Build different parts == +## =========================== + +SUBDIRS(appli cmake lib plugins) ## eof - $RCSfile$