]> Creatis software - clitk.git/blob - CMakeLists.txt
script to easily create new clitk tools. Does not do vv tools yet
[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 #=========================================================
29 IF(CLITK_BUILD_VV)
30     FIND_PACKAGE(VTK)
31     IF(VTK_FOUND)
32       INCLUDE(${VTK_USE_FILE})
33       LINK_LIBRARIES (
34         vtkCommon
35         vtkRendering
36         vtkIO
37         vtkFiltering
38         vtkGraphics
39         vtkWidgets
40         vtkImaging
41         )
42     ELSE(VTK_FOUND)
43       MESSAGE(FATAL_ERROR
44         "Please set VTK_DIR.")
45     ENDIF(VTK_FOUND)
46 ENDIF(CLITK_BUILD_VV)
47
48 #=========================================================
49 # Find gengetopt
50 FIND_PATH(CLITK_GENGETOPT gengetopt)
51 IF (CLITK_GENGETOPT STREQUAL "CLITK_GENGETOPT-NOTFOUND")
52   MESSAGE("gengetopt not found, please install it (see http://www.gnu.org/software/gengetopt/gengetopt.html)")
53 ENDIF (CLITK_GENGETOPT STREQUAL "CLITK_GENGETOPT-NOTFOUND")
54 #=========================================================
55
56 #=========================================================
57 INCLUDE(cmake/common.cmake)
58 #=========================================================
59
60 #=========================================================
61 # Building in the source tree is forbidden
62 IF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
63   MESSAGE(FATAL_ERROR "Building in the source tree is not allowed ! Quit; remove the file 'CMakeCache.txt' and the folder 'CMakeFiles' an
64 d build outside the sources (for example 'mkdir build ; cmake <CLITK_DIR>'.")
65 ENDIF(PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR})
66 #=========================================================
67
68 #=========================================================
69 OPTION(CLITK_BUILD_VV "Build vv the 4D visualizer (requires VTK and QT)" ON)
70 OPTION(CLITK_BUILD_TOOLS "Build command-line tools" OFF)
71 OPTION(CLITK_EXPERIMENTAL "Enable experimental software and features" OFF)
72 #=========================================================
73
74 include_directories(itk filters ${PROJECT_BINARY_DIR})
75
76 #=========================================================
77 add_subdirectory(common)
78 add_subdirectory(filters)
79
80 IF (CLITK_BUILD_VV)
81   add_subdirectory(vv)
82 ENDIF(CLITK_BUILD_VV)
83
84 IF (CLITK_BUILD_TOOLS)
85   add_subdirectory(tools)
86 ENDIF(CLITK_BUILD_TOOLS)
87
88 #=========================================================