]> Creatis software - cpPlugins.git/blob - CMakeLists.txt
Some project updates
[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   FIND_LIBRARY(
53     VTK_USES_QT
54     NAMES vtkGUISupportQt-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}
55     HINTS ${VTK_LIBRARY_DIRS}
56     PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64
57     )
58   FIND_LIBRARY(
59     VTK_USES_QT_OPENGL
60     vtkGUISupportQtOpenGL-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}
61     HINTS ${VTK_LIBRARY_DIRS}
62     PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64
63     )
64   MARK_AS_ADVANCED(FORCE VTK_USES_QT)
65   MARK_AS_ADVANCED(FORCE VTK_USES_QT_OPENGL)
66   IF(VTK_USES_QT AND VTK_USES_QT_OPENGL)
67     FIND_PACKAGE(Qt4 REQUIRED)
68     INCLUDE(${QT_USE_FILE})
69   ELSE(VTK_USES_QT AND VTK_USES_QT_OPENGL)
70     MESSAGE(FATAL_ERROR "VTK ${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION} was not compiled with Qt4 support!")
71   ENDIF(VTK_USES_QT AND VTK_USES_QT_OPENGL)
72 ENDIF(USE_QT4)
73
74 ## ================================================
75 ## = Do not allow to build inside the source tree =
76 ## ================================================
77
78 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
79   MESSAGE(FATAL_ERROR "Building in the source tree is not allowed")
80 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
81
82 ## =====================================
83 ## = Where to put executables and libs =
84 ## =====================================
85
86 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
87 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
88 MARK_AS_ADVANCED(
89   CMAKE_BACKWARDS_COMPATIBILITY
90   EXECUTABLE_OUTPUT_PATH
91   LIBRARY_OUTPUT_PATH
92   )
93
94 ## ==============================
95 ## = Subdirs containing headers =
96 ## ==============================
97
98 INCLUDE_DIRECTORIES(
99   ${PROJECT_SOURCE_DIR}/lib
100   ${PROJECT_SOURCE_DIR}/lib/third_party
101   ${PROJECT_BINARY_DIR}/lib
102   ${PROJECT_BINARY_DIR}/lib/third_party
103   )
104 IF(WIN32)
105   INCLUDE_DIRECTORIES(
106     ${PROJECT_SOURCE_DIR}/lib/third_party/glext
107     )
108 ENDIF(WIN32)
109
110 ## ===========================
111 ## = Subdirs containing code =
112 ## ===========================
113
114 SUBDIRS(
115   cmake
116   lib
117   appli
118   )
119
120 ## eof - $RCSfile$