]> Creatis software - cpPlugins.git/blob - CMakeLists.txt
Image visualization objects updated
[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(VTK REQUIRED)
46 FIND_PACKAGE(ITK REQUIRED)
47 INCLUDE(${ITK_USE_FILE})
48
49 ## Check for required modules
50 IF(NOT ITKVtkGlue_LOADED)
51   MESSAGE(FATAL_ERROR "ITKVtkGlue module is required but not available.")
52 ENDIF(NOT ITKVtkGlue_LOADED)
53
54 IF(USE_QT4)
55   FIND_PACKAGE(Qt4 REQUIRED)
56   INCLUDE(${QT_USE_FILE})
57
58   ## Check for required modules
59   IF(NOT vtkGUISupportQt_LOADED)
60     MESSAGE(
61       FATAL_ERROR
62       "vtkGUISupportQt module is required but not available."
63       )
64   ENDIF(NOT vtkGUISupportQt_LOADED)
65   IF(NOT vtkGUISupportQtOpenGL_LOADED)
66     MESSAGE(
67       FATAL_ERROR
68       "vtkGUISupportQtOpenGL module is required but not available."
69       )
70   ENDIF(NOT vtkGUISupportQtOpenGL_LOADED)
71 ENDIF(USE_QT4)
72
73 ## ================================================
74 ## = Do not allow to build inside the source tree =
75 ## ================================================
76
77 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
78   MESSAGE(FATAL_ERROR "Building in the source tree is not allowed")
79 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
80
81 ## =====================================
82 ## = Where to put executables and libs =
83 ## =====================================
84
85 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
86 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
87 MARK_AS_ADVANCED(
88   CMAKE_BACKWARDS_COMPATIBILITY
89   EXECUTABLE_OUTPUT_PATH
90   LIBRARY_OUTPUT_PATH
91   )
92
93 ## ==============================
94 ## = Subdirs containing headers =
95 ## ==============================
96
97 INCLUDE_DIRECTORIES(
98   ${PROJECT_SOURCE_DIR}/lib
99   ${PROJECT_SOURCE_DIR}/lib/third_party
100   ${PROJECT_BINARY_DIR}/lib
101   ${PROJECT_BINARY_DIR}/lib/third_party
102   )
103 IF(WIN32)
104   INCLUDE_DIRECTORIES(
105     ${PROJECT_SOURCE_DIR}/lib/third_party/glext
106     )
107 ENDIF(WIN32)
108
109 ## ===========================
110 ## = Subdirs containing code =
111 ## ===========================
112
113 SUBDIRS(
114   cmake
115   lib
116   appli
117   )
118
119 ## eof - $RCSfile$