]> Creatis software - cpPlugins.git/blob - CMakeLists.txt
...
[cpPlugins.git] / CMakeLists.txt
1 ## =========================================================================
2 ## @author Leonardo Florez-Valencia (florez-l@javeriana.edu.co)
3 ## =========================================================================
4
5 cmake_minimum_required(VERSION 3.0)
6
7 ## == Basic project configuration
8 set(prj_NAME cpPlugins)
9 set(prj_MAJ 1)
10 set(prj_MIN 0)
11 set(prj_REL 0)
12
13 ## == Project definition
14 project(${prj_NAME} VERSION "${prj_MAJ}.${prj_MIN}.${prj_REL}")
15
16 ## == Project policies
17 set(_policies CMP0015 CMP0020 CMP0042 CMP0053)
18 foreach(_p ${_policies})
19   if(POLICY ${_p})
20     cmake_policy(SET ${_p} NEW)
21   endif(POLICY ${_p})
22 endforeach(_p)
23 cmake_policy(SET CMP0006 OLD)
24
25 ## == Some general configuration
26 include(cmake/cpPlgDefinitions.cmake)
27 include(cmake/cpPlgFunctions.cmake)
28
29 ## == User could choose not to build
30 option(cpPlugins_BUILD "Build targets." OFF)
31 if(cpPlugins_BUILD)
32
33   ## == Find ITK
34   find_package(ITK CONFIG REQUIRED)
35   include(${ITK_USE_FILE})
36
37   ## == Find VTK, only if linked against ITK
38   set(cpPlugins_USE_VTK 0)
39   if(ITKVtkGlue_LOADED)
40     find_package(VTK CONFIG REQUIRED)
41     include(${VTK_USE_FILE})
42     set(cpPlugins_USE_VTK 1)
43   endif(ITKVtkGlue_LOADED)
44
45   ## == Find Qt5, only if linked against VTK
46   set(cpPlugins_USE_Qt5 0)
47   if(VTK_FOUND)
48     if(Qt5_DIR)
49       find_package(Qt5 CONFIG REQUIRED COMPONENTS Widgets)
50       set(CMAKE_INCLUDE_CURRENT_DIR ON)
51       set(CMAKE_AUTOMOC ON)
52       set(cpPlugins_USE_Qt5 1)
53     endif(Qt5_DIR)
54   endif(VTK_FOUND)
55
56   ## == Build packages
57   subdirs(appli lib)
58
59 endif(cpPlugins_BUILD)
60
61 ## == Installation commands
62 include(cmake/cpPlgInstallCommands.cmake)
63
64 ## == CMake scripts
65 subdirs(cmake)
66
67 ## eof - $RCSfile$