]> Creatis software - gdcm.git/blob - CMakeLists.txt
ENH: Now Example is an option, ON by default
[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_VERSION_MAJOR 0)\r
7 SET(GDCM_VERSION_MINOR 4)\r
8 SET(GDCM_VERSION_PATCH 1)\r
9 SET(GDCM_VERSION "${GDCM_VERSION_MAJOR}.${GDCM_VERSION_MINOR}")\r
10 SET(GDCM_VERSION_FULL "${GDCM_VERSION}.${GDCM_VERSION_PATCH}")\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 \r
24 #-----------------------------------------------------------------------------\r
25 SET (EXECUTABLE_OUTPUT_PATH ${GDCM_BINARY_DIR}/bin CACHE PATH "Single output directory for building all executables.")\r
26 SET (LIBRARY_OUTPUT_PATH ${GDCM_BINARY_DIR}/bin CACHE PATH "Single output directory for building all libraries.")\r
27 MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)\r
28 \r
29 #-----------------------------------------------------------------------------\r
30 # Build directory on which many applications depend\r
31 SUBDIRS(\r
32   src\r
33   Dicts\r
34 )\r
35 #-----------------------------------------------------------------------------\r
36 # Example subdir:\r
37 \r
38 OPTION(BUILD_EXAMPLES "Build GDCM examples." ON)\r
39 IF(BUILD_EXAMPLES)\r
40   SUBDIRS(Example)\r
41 ENDIF(BUILD_EXAMPLES)\r
42 \r
43 #-----------------------------------------------------------------------------\r
44 # Adding GDCM_DATA_ROOT\r
45 FIND_PATH(GDCM_DATA_ROOT gdcm-ACR-LibIDO.acr\r
46   ${GDCM_SOURCE_DIR}/../gdcmData \r
47   $ENV{GDCM_DATA}\r
48   $ENV{PUB_DICT_PATH}/../../gdcmData\r
49 )\r
50 \r
51 # Set the place for the public dictionary, must be set before gdcmConfigure.h\r
52 SET( GDCM_PUB_DICT_PATH "${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}")\r
53 \r
54 #-----------------------------------------------------------------------------\r
55 # SunOS + old gcc fixes:\r
56 INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake)\r
57 IF(CMAKE_NO_ANSI_STRING_STREAM)\r
58   SET(GDCM_NO_ANSI_STRING_STREAM 1)\r
59 ENDIF(CMAKE_NO_ANSI_STRING_STREAM)\r
60 \r
61 INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)\r
62 CHECK_INCLUDE_FILE("stdint.h" CMAKE_HAVE_STDINT_H)\r
63 \r
64 CONFIGURE_FILE(${GDCM_SOURCE_DIR}/gdcmConfigure.h.in\r
65                ${GDCM_BINARY_DIR}/gdcmConfigure.h @ONLY IMMEDIATE)\r
66 \r
67 INSTALL_FILES(/include .h gdcmConfigure.h)\r
68 \r
69 #-----------------------------------------------------------------------------\r
70 # Add the testing directories\r
71 OPTION(BUILD_TESTING "Build testing." ON)\r
72 \r
73 IF(BUILD_TESTING)\r
74   ENABLE_TESTING()\r
75   INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)\r
76   SUBDIRS(Test)\r
77 ENDIF(BUILD_TESTING)\r
78 \r
79 \r
80 #-----------------------------------------------------------------------------\r
81 OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF)\r
82 IF(GDCM_VTK)\r
83   # Search VTK\r
84   FIND_PACKAGE(VTK)\r
85   # If vtk found\r
86   IF(VTK_FOUND)\r
87     INCLUDE(${VTK_USE_FILE})\r
88     SUBDIRS(vtk)\r
89   ENDIF(VTK_FOUND)\r
90 ENDIF(GDCM_VTK)\r
91 \r
92 #-----------------------------------------------------------------------------\r
93 OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF)\r
94 #if wrapping enable\r
95 IF(GDCM_WRAP_PYTHON)\r
96   # Search Python libs:\r
97   FIND_PACKAGE(PythonLibs)\r
98   # If PythonLibs found\r
99   IF(PYTHON_LIBRARY)\r
100     SUBDIRS(gdcmPython)\r
101   ENDIF(PYTHON_LIBRARY)\r
102 ENDIF(GDCM_WRAP_PYTHON)\r
103 \r
104 #-----------------------------------------------------------------------------\r
105 OPTION(GDCM_DOXYGEN "Build source documentation using doxygen." OFF)\r
106 # if doxygen enable\r
107 IF(GDCM_DOXYGEN)\r
108   # Search Doxygen:\r
109   FIND_PACKAGE(Doxygen)\r
110   IF(DOXYGEN)\r
111     SUBDIRS(Doc)\r
112   ENDIF(DOXYGEN)\r
113 ENDIF(GDCM_DOXYGEN)\r
114 \r