]> Creatis software - clitk.git/blob - CMakeLists.txt
mechanism for hiding experimental stuff in vv
[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 #IF(CMAKE_COMPILER_IS_GNUCXX)
11 #  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native")
12 #  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ")
13 #ENDIF(CMAKE_COMPILER_IS_GNUCXX)
14 IF(MSVC)
15   ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS)
16 ENDIF(MSVC)
17 #=========================================================
18 # Find ITK (required)
19 FIND_PACKAGE(ITK)
20 IF(ITK_FOUND)
21   INCLUDE(${ITK_USE_FILE})
22   LINK_LIBRARIES(ITKBasicFilters)
23 ELSE(ITK_FOUND)
24   MESSAGE(FATAL_ERROR
25           "Cannot build without ITK.  Please set ITK_DIR.")
26 ENDIF(ITK_FOUND)
27 #=========================================================
28 IF(CLITK_BUILD_VV)
29     FIND_PACKAGE(VTK)
30     IF(VTK_FOUND)
31       INCLUDE(${VTK_USE_FILE})
32       LINK_LIBRARIES (
33         vtkCommon
34         vtkRendering
35         vtkIO
36         vtkFiltering
37         vtkGraphics
38         vtkWidgets
39         vtkImaging
40         )
41     ELSE(VTK_FOUND)
42       MESSAGE(FATAL_ERROR
43         "Please set VTK_DIR.")
44     ENDIF(VTK_FOUND)
45 ENDIF(CLITK_BUILD_VV)
46
47 #=========================================================
48 # Find gengetopt
49 FIND_PATH(CLITK_GENGETOPT gengetopt)
50 IF (CLITK_GENGETOPT STREQUAL "CLITK_GENGETOPT-NOTFOUND")
51   MESSAGE("gengetopt not found, please install it (see http://www.gnu.org/software/gengetopt/gengetopt.html)")
52 ENDIF (CLITK_GENGETOPT STREQUAL "CLITK_GENGETOPT-NOTFOUND")
53 #=========================================================
54
55 #=========================================================
56 INCLUDE(cmake/common.cmake)
57 #=========================================================
58
59 #=========================================================
60 # Building in the source tree is forbidden
61 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
62   MESSAGE(FATAL_ERROR "Building in the source tree is not allowed ! Quit; remove the file 'CMakeCache.txt' and the folder 'CMakeFiles' an
63 d build outside the sources (for example 'mkdir build ; cmake <CLITK_DIR>'.")
64 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
65 #=========================================================
66
67 #=========================================================
68 OPTION(CLITK_BUILD_VV "Build vv the 4D visualizer (requires VTK and QT)" ON)
69 OPTION(CLITK_BUILD_TOOLS "Build command-line tools" OFF)
70 OPTION(CLITK_EXPERIMENTAL "Enable experimental software and features" OFF)
71 #=========================================================
72
73 include_directories(itk filters ${PROJECT_BINARY_DIR})
74
75 #=========================================================
76 add_subdirectory(common)
77 add_subdirectory(filters)
78
79 IF (CLITK_BUILD_VV)
80   add_subdirectory(vv)
81 ENDIF(CLITK_BUILD_VV)
82
83 IF (CLITK_BUILD_TOOLS)
84   add_subdirectory(tools)
85 ENDIF(CLITK_BUILD_TOOLS)
86
87 #=========================================================