]> Creatis software - cpPlugins.git/blob - CMakeLists.txt
Merge branch 'master' of ssh://git.creatis.insa-lyon.fr/cpPlugins
[cpPlugins.git] / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
2
3 # for CMake 2.6 corrected behaviour (see "cmake --help-policy CMP0003")
4 IF(
5     COMMAND cmake_policy AND
6     ${CMAKE_MAJOR_VERSION} EQUAL 2 AND
7     ${CMAKE_MINOR_VERSION} GREATER 4
8     )
9   CMAKE_POLICY(SET CMP0003 NEW)
10   CMAKE_POLICY(SET CMP0005 NEW)
11   CMAKE_POLICY(SET CMP0011 NEW)
12   CMAKE_POLICY(SET CMP0012 NEW)
13 ENDIF(
14   COMMAND cmake_policy AND
15   ${CMAKE_MAJOR_VERSION} EQUAL 2 AND
16   ${CMAKE_MINOR_VERSION} GREATER 4
17   )
18
19 ## ================
20 ## = Project name =
21 ## ================
22
23 PROJECT(cpPlugins)
24 SET(prj_MAJOR_VERSION   "0")
25 SET(prj_MINOR_VERSION   "0")
26 SET(prj_RELEASE_VERSION "1")
27 SET(
28   prj_VERSION
29   "${prj_MAJOR_VERSION}.${prj_MINOR_VERSION}.${prj_RELEASE_VERSION}"
30   )
31
32 ## ===========
33 ## = Options =
34 ## ===========
35
36 OPTION(USE_QT4 "Build Qt4-based code" OFF)
37 OPTION(BUILD_EXAMPLES "Build examples" OFF)
38
39 ## ========================
40 ## = Packages and options =
41 ## ========================
42
43 INCLUDE(GenerateExportHeader)
44
45 FIND_PACKAGE(ITK REQUIRED)
46 INCLUDE(${ITK_USE_FILE})
47
48 FIND_PACKAGE(VTK REQUIRED)
49 INCLUDE(${VTK_USE_FILE})
50
51 IF(USE_QT4)
52   IF(NOT WIN32)
53   FIND_LIBRARY(
54     VTK_USES_QT
55     NAMES vtkGUISupportQt-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}
56     HINTS ${VTK_LIBRARY_DIRS}
57     PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64
58     )
59   FIND_LIBRARY(
60     VTK_USES_QT_OPENGL
61     vtkGUISupportQtOpenGL-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}
62     HINTS ${VTK_LIBRARY_DIRS}
63     PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64
64     )
65   MARK_AS_ADVANCED(FORCE VTK_USES_QT)
66   MARK_AS_ADVANCED(FORCE VTK_USES_QT_OPENGL)
67   IF(VTK_USES_QT AND VTK_USES_QT_OPENGL)
68     FIND_PACKAGE(Qt4 REQUIRED)
69     INCLUDE(${QT_USE_FILE})
70   ELSE(VTK_USES_QT AND VTK_USES_QT_OPENGL)
71     MESSAGE(FATAL_ERROR "VTK ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION} was not compiled with Qt4 support!")
72   ENDIF(VTK_USES_QT AND VTK_USES_QT_OPENGL)
73   ELSE(NOT WIN32)
74     FIND_PACKAGE(Qt4 REQUIRED)
75     INCLUDE(${QT_USE_FILE})
76   ENDIF(NOT WIN32)
77 ENDIF(USE_QT4)
78
79 ## ================================================
80 ## = Do not allow to build inside the source tree =
81 ## ================================================
82
83 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
84   MESSAGE(FATAL_ERROR "Building in the source tree is not allowed")
85 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
86
87 ## =====================================
88 ## = Where to put executables and libs =
89 ## =====================================
90
91 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
92 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
93 MARK_AS_ADVANCED(
94   CMAKE_BACKWARDS_COMPATIBILITY
95   EXECUTABLE_OUTPUT_PATH
96   LIBRARY_OUTPUT_PATH
97   )
98
99 ## ==============================
100 ## = Subdirs containing headers =
101 ## ==============================
102
103 INCLUDE_DIRECTORIES(
104   ${PROJECT_SOURCE_DIR}/lib
105   ${PROJECT_SOURCE_DIR}/lib/third_party
106   ${PROJECT_BINARY_DIR}/lib
107   ${PROJECT_BINARY_DIR}/lib/third_party
108   )
109 IF(WIN32)
110   INCLUDE_DIRECTORIES(
111     ${PROJECT_SOURCE_DIR}/lib/third_party/glext
112     )
113 ENDIF(WIN32)
114
115 ## ===========================
116 ## = Subdirs containing code =
117 ## ===========================
118
119 SUBDIRS(
120   cmake
121   lib
122   appli
123   )
124
125 ## eof - $RCSfile$