]> Creatis software - clitk.git/blob - CMakeLists.txt
Cleared CMake files, removed LINK_LIBRARIES (deprecated) and prepared for packaging...
[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 ${PROJECT_BINARY_DIR})
61
62 # Select what is compiled
63 ADD_SUBDIRECTORY(common)
64 ADD_SUBDIRECTORY(filters)
65
66 # Compilation options
67 OPTION(CLITK_EXPERIMENTAL "Enable experimental software and features" OFF)
68
69 OPTION(CLITK_BUILD_VV "Build vv the 4D visualizer (requires VTK and QT)" ON)
70 IF (CLITK_BUILD_VV)
71   add_subdirectory(vv)
72 ENDIF(CLITK_BUILD_VV)
73
74 OPTION(CLITK_BUILD_TOOLS "Build command-line tools" OFF)
75 IF (CLITK_BUILD_TOOLS)
76   add_subdirectory(tools)
77 ENDIF(CLITK_BUILD_TOOLS)
78
79 OPTION(CLITK_BUILD_SEGMENTATION "Build segmentation tools" OFF)
80 IF (CLITK_BUILD_SEGMENTATION)
81   add_subdirectory(segmentation)
82 ENDIF (CLITK_BUILD_SEGMENTATION)
83 #=========================================================
84