]> Creatis software - gdcm.git/blob - CMakeLists.txt
ENH: New support for cmake 2.0.1
[gdcm.git] / CMakeLists.txt
1 PROJECT(GDCM)\r
2 CMAKE_MINIMUM_REQUIRED(VERSION 1.8)\r
3 \r
4 #-----------------------------------------------------------------------------\r
5 # GDCM version number, usefull for packaging and doxygen doc:\r
6 SET(GDCM_MAJOR_VERSION 0)\r
7 SET(GDCM_MINOR_VERSION 4)\r
8 SET(GDCM_BUILD_VERSION 1)\r
9 SET(GDCM_VERSION \r
10     "${GDCM_MAJOR_VERSION}.${GDCM_MINOR_VERSION}.${GDCM_BUILD_VERSION}")\r
11 \r
12 #-----------------------------------------------------------------------------\r
13 # datadir in CMake:\r
14 SET(GDCM_DATA_DIR "/share/gdcm/" CACHE INTERNAL \r
15   "Install location for data (relative to prefix).")\r
16 MARK_AS_ADVANCED(GDCM_DATA_DIR)\r
17 \r
18 #-----------------------------------------------------------------------------\r
19 # Build shared lib by default\r
20 OPTION(BUILD_SHARED_LIBS "Build GDCM with shared libraries." ON)\r
21 \r
22 OPTION(GDCM_DEBUG "Turn verbosity of some statement ON." OFF)\r
23 MARK_AS_ADVANCED(GDCM_DEBUG)\r
24 \r
25 #-----------------------------------------------------------------------------\r
26 SET (EXECUTABLE_OUTPUT_PATH ${GDCM_BINARY_DIR}/bin CACHE PATH "Single output directory for building all executables.")\r
27 SET (LIBRARY_OUTPUT_PATH ${GDCM_BINARY_DIR}/bin CACHE PATH "Single output directory for building all libraries.")\r
28 MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)\r
29 \r
30 #-----------------------------------------------------------------------------\r
31 # Build directory on which many applications depend\r
32 SUBDIRS(\r
33   src\r
34   Dicts\r
35 )\r
36 #-----------------------------------------------------------------------------\r
37 # Example subdir:\r
38 \r
39 OPTION(BUILD_EXAMPLES "Build GDCM examples." ON)\r
40 IF(BUILD_EXAMPLES)\r
41   SUBDIRS(Example)\r
42 ENDIF(BUILD_EXAMPLES)\r
43 \r
44 #-----------------------------------------------------------------------------\r
45 # Adding GDCM_DATA_ROOT\r
46 FIND_PATH(GDCM_DATA_ROOT gdcm-ACR-LibIDO.acr\r
47   ${GDCM_SOURCE_DIR}/../gdcmData \r
48   $ENV{GDCM_DATA}\r
49   $ENV{PUB_DICT_PATH}/../../gdcmData\r
50 )\r
51 \r
52 # Set the place for the public dictionary, must be set before gdcmConfigure.h\r
53 SET( GDCM_PUB_DICT_PATH "${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}")\r
54 \r
55 #-----------------------------------------------------------------------------\r
56 # SunOS + old gcc fixes:\r
57 INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake)\r
58 IF(CMAKE_NO_ANSI_STRING_STREAM)\r
59   SET(GDCM_NO_ANSI_STRING_STREAM 1)\r
60 ENDIF(CMAKE_NO_ANSI_STRING_STREAM)\r
61 \r
62 INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)\r
63 CHECK_INCLUDE_FILE("stdint.h" CMAKE_HAVE_STDINT_H)\r
64 \r
65 CONFIGURE_FILE(${GDCM_SOURCE_DIR}/gdcmConfigure.h.in\r
66                ${GDCM_BINARY_DIR}/gdcmConfigure.h @ONLY IMMEDIATE)\r
67 \r
68 INSTALL_FILES(/include .h gdcmConfigure.h)\r
69 \r
70 #-----------------------------------------------------------------------------\r
71 # Add the testing directories\r
72 OPTION(BUILD_TESTING "Build testing." ON)\r
73 \r
74 IF(BUILD_TESTING)\r
75   ENABLE_TESTING()\r
76   INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)\r
77   MARK_AS_ADVANCED(DART_ROOT)\r
78   SUBDIRS(Test)\r
79 ENDIF(BUILD_TESTING)\r
80 \r
81 \r
82 #-----------------------------------------------------------------------------\r
83 OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF)\r
84 IF(GDCM_VTK)\r
85   # Search VTK\r
86   FIND_PACKAGE(VTK)\r
87   # If vtk found\r
88   IF(VTK_FOUND)\r
89     INCLUDE(${VTK_USE_FILE})\r
90     SUBDIRS(vtk)\r
91   ENDIF(VTK_FOUND)\r
92 ENDIF(GDCM_VTK)\r
93 \r
94 #-----------------------------------------------------------------------------\r
95 OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF)\r
96 #if wrapping enable\r
97 IF(GDCM_WRAP_PYTHON)\r
98   # Search Python libs:\r
99   FIND_PACKAGE(PythonLibs)\r
100   # If PythonLibs found\r
101   IF(PYTHON_LIBRARY)\r
102     SUBDIRS(gdcmPython)\r
103   ENDIF(PYTHON_LIBRARY)\r
104 ENDIF(GDCM_WRAP_PYTHON)\r
105 \r
106 #-----------------------------------------------------------------------------\r
107 OPTION(GDCM_DOXYGEN "Build source documentation using doxygen." OFF)\r
108 # if doxygen enable\r
109 IF(GDCM_DOXYGEN)\r
110   # Search Doxygen:\r
111   FIND_PACKAGE(Doxygen)\r
112   IF(DOXYGEN)\r
113     SUBDIRS(Doc)\r
114   ENDIF(DOXYGEN)\r
115 ENDIF(GDCM_DOXYGEN)\r
116 \r