]> Creatis software - clitk.git/blob - CMakeLists.txt
vv now builds even with all options turned off
[clitk.git] / CMakeLists.txt
1 #=========================================================
2 # CLITK = Command Line ITK
3 cmake_minimum_required(VERSION 2.4)
4 cmake_policy(VERSION 2.4)
5 if(COMMAND cmake_policy)
6     cmake_policy(SET CMP0003 NEW)
7 endif(COMMAND cmake_policy)
8 PROJECT(clitk)
9 #=========================================================
10
11 #=========================================================
12 INCLUDE(cmake/common.cmake)
13 #=========================================================
14
15 #=========================================================
16 # Find ITK (required)
17 FIND_PACKAGE(ITK)
18 IF(ITK_FOUND)
19   INCLUDE(${ITK_USE_FILE})
20 ELSE(ITK_FOUND)
21   MESSAGE(FATAL_ERROR
22           "Cannot build without ITK.  Please set ITK_DIR.")
23 ENDIF(ITK_FOUND)
24 #=========================================================
25
26 #=========================================================
27 # Find VTK (required)
28 FIND_PACKAGE(VTK REQUIRED)
29 IF(VTK_FOUND)
30   INCLUDE(${VTK_USE_FILE})
31 ELSE(VTK_FOUND)
32   MESSAGE(FATAL_ERROR "Please set VTK_DIR.")
33 ENDIF(VTK_FOUND)
34 #=========================================================
35
36 #=========================================================
37 # Find gengetopt
38 FIND_PATH(CLITK_GENGETOPT gengetopt)
39 IF (CLITK_GENGETOPT STREQUAL "CLITK_GENGETOPT-NOTFOUND")
40   MESSAGE("gengetopt not found, please install it (see http://www.gnu.org/software/gengetopt/gengetopt.html)")
41 ENDIF (CLITK_GENGETOPT STREQUAL "CLITK_GENGETOPT-NOTFOUND")
42 #=========================================================
43
44 #=========================================================
45 # Building in the source tree is forbidden
46 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
47   MESSAGE(FATAL_ERROR "Building in the source tree is not allowed ! Quit; remove the file 'CMakeCache.txt' and the folder 'CMakeFiles' an
48 d build outside the sources (for example 'mkdir build ; cmake <CLITK_DIR>'.")
49 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
50 #=========================================================
51
52 #=========================================================
53 # Remove some MS Visual c++ flags
54 IF(MSVC)
55   ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS)
56 ENDIF(MSVC)
57 #=========================================================
58
59 #=========================================================
60 INCLUDE_DIRECTORIES(itk filters segmentation registration tools ${PROJECT_BINARY_DIR})
61
62 # Select what is compiled
63 ADD_SUBDIRECTORY(common)
64 add_subdirectory(tools)
65 add_subdirectory(segmentation)
66
67 # Compilation options
68 OPTION(CLITK_EXPERIMENTAL "Enable experimental software and features" OFF)
69 OPTION(CLITK_BUILD_TOOLS "Build command-line tools" OFF)
70 OPTION(CLITK_BUILD_SEGMENTATION "Build segmentation tools" OFF)
71
72 OPTION(CLITK_BUILD_REGISTRATION "Build command-line registration tools" OFF)
73 IF (CLITK_BUILD_REGISTRATION)
74   add_subdirectory(registration)
75 ENDIF(CLITK_BUILD_REGISTRATION)
76
77 OPTION(CLITK_BUILD_VV "Build vv the 4D visualizer (requires VTK and QT)" ON)
78 IF (CLITK_BUILD_VV)
79   add_subdirectory(vv)
80 ENDIF(CLITK_BUILD_VV)
81
82 #=========================================================
83