2 CMAKE_MINIMUM_REQUIRED(VERSION 1.8)
\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 0)
\r
9 SET(GDCM_VERSION "${GDCM_VERSION_MAJOR}.${GDCM_VERSION_MINOR}")
\r
10 SET(GDCM_VERSION_FULL "${GDCM_VERSION}.${GDCM_VERSION_PATCH}")
\r
12 #-----------------------------------------------------------------------------
\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
18 #-----------------------------------------------------------------------------
\r
19 # Build shared lib by default
\r
20 OPTION(BUILD_SHARED_LIBS "Build GDCM with shared libraries." ON)
\r
21 SET(GDCM_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
\r
23 #-----------------------------------------------------------------------------
\r
24 # Does not work as of 2004/04/05
\r
25 #SET(CMAKE_CONFIGURATION_TYPES
\r
29 #SET(CMAKE_BUILD_TYPE_INIT Debug)
\r
31 #-----------------------------------------------------------------------------
\r
32 # Output directories.
\r
33 #Put all stuff in one single dir for Win32, otherwise dll are a pain:
\r
34 #IF(WIN32 AND GDCM_BUILD_SHARED_LIBS)
\r
35 # SET(OUTPUT_LIB_DIR ${GDCM_SOURCE_DIR}/bin)
\r
36 #ELSE(WIN32 AND GDCM_BUILD_SHARED_LIBS)
\r
37 # SET(OUTPUT_LIB_DIR ${GDCM_SOURCE_DIR}/lib)
\r
38 #ENDIF(WIN32 AND GDCM_BUILD_SHARED_LIBS)
\r
40 #SET (EXECUTABLE_OUTPUT_PATH ${GDCM_SOURCE_DIR}/bin CACHE PATH "Single output directory for building all executables.")
\r
41 #SET (LIBRARY_OUTPUT_PATH ${OUTPUT_LIB_DIR} CACHE PATH "Single output directory for building all libraries.")
\r
42 #MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)
\r
43 SET(GDCM_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}")
\r
44 SET(GDCM_EXECUTABLE_PATH "${EXECUTABLE_OUTPUT_PATH}")
\r
46 #-----------------------------------------------------------------------------
\r
47 # Build directory on which many applications depend
\r
54 #-----------------------------------------------------------------------------
\r
55 # Adding GDCM_DATA_ROOT
\r
56 FIND_PATH(GDCM_DATA_ROOT gdcm-ACR-LibIDO.acr
\r
57 ${GDCM_SOURCE_DIR}/../gdcmData
\r
59 $ENV{PUB_DICT_PATH}/../../gdcmData
\r
62 #-----------------------------------------------------------------------------
\r
63 # Deals with problem on SunOS:
\r
64 # ostrstream vs. ostringstream
\r
66 #-----------------------------------------------------------------------------
\r
67 # Why one should not use ADD_DEFINITIONS
\r
68 # http://www.cmake.org/pipermail/cmake/2003-September/004286.html
\r
70 #-----------------------------------------------------------------------------
\r
71 # __STDC_LIMIT_MACROS -> Refer to stdint.h
\r
72 # http://www.cmake.org/pipermail/cmake/2003-October/004369.html
\r
73 # http://www.cmake.org/pipermail/cmake/2003-October/004373.html
\r
75 #SET(GDCM_COMPILE_FLAGS "-D__STDC_LIMIT_MACROS -DPUB_DICT_PATH=\\\"${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}\\\"" )
\r
77 SET( GDCM_PUB_DICT_PATH "${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}")
\r
79 # SunOS + old gcc fixes:
\r
80 INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake)
\r
81 IF(CMAKE_NO_ANSI_STRING_STREAM)
\r
82 SET(GDCM_NO_ANSI_STRING_STREAM 1)
\r
83 ENDIF(CMAKE_NO_ANSI_STRING_STREAM)
\r
85 INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
\r
86 CHECK_INCLUDE_FILE("stdint.h" CMAKE_HAVE_STDINT_H)
\r
88 IF(NOT CMAKE_HAVE_STDINT_H)
\r
89 SET(GDCM_HAVE_NO_STDINT_H 1)
\r
90 ENDIF(NOT CMAKE_HAVE_STDINT_H)
\r
92 CONFIGURE_FILE(${GDCM_SOURCE_DIR}/gdcmConfigure.h.in
\r
93 ${GDCM_BINARY_DIR}/gdcmConfigure.h @ONLY IMMEDIATE)
\r
95 INSTALL_FILES(/include .h gdcmConfigure.h)
\r
97 #-----------------------------------------------------------------------------
\r
98 # Add the testing directories
\r
99 OPTION(GDCM_BUILD_TESTING "Test the project" ON)
\r
100 IF(GDCM_BUILD_TESTING)
\r
102 INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
\r
104 ENDIF(GDCM_BUILD_TESTING)
\r
107 #-----------------------------------------------------------------------------
\r
108 OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF)
\r
114 INCLUDE(${VTK_USE_FILE})
\r
119 #-----------------------------------------------------------------------------
\r
120 OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF)
\r
121 #if wrapping enable
\r
122 IF(GDCM_WRAP_PYTHON)
\r
123 # Search Python libs:
\r
124 FIND_PACKAGE(PythonLibs)
\r
125 # If PythonLibs found
\r
127 SUBDIRS(gdcmPython)
\r
128 ENDIF(PYTHON_LIBRARY)
\r
129 ENDIF(GDCM_WRAP_PYTHON)
\r
131 #-----------------------------------------------------------------------------
\r
132 OPTION(GDCM_DOXYGEN "Build source documentation using doxygen." OFF)
\r
133 # if doxygen enable
\r
136 FIND_PACKAGE(Doxygen)
\r
140 ENDIF(GDCM_DOXYGEN)
\r
142 #-----------------------------------------------------------------------------
\r
143 # Configure files with settings for use by the build.
\r
144 # for third party to access gdcm through cmake
\r
145 # to be rewritten to include only the necessary
\r
148 ${GDCM_SOURCE_DIR}/gdcmConfig.cmake.in
\r
149 ${GDCM_BINARY_DIR}/gdcmConfig.cmake @ONLY IMMEDIATE
\r
152 # Export our build settings and library
\r
153 # dependencies for the use by the user projects.
\r
155 ${CMAKE_ROOT}/Modules/CMakeExportBuildSettings.cmake)
\r
157 CMAKE_EXPORT_BUILD_SETTINGS(
\r
158 ${GDCM_BINARY_DIR}/gdcmBuildSettings.cmake
\r
161 EXPORT_LIBRARY_DEPENDENCIES(
\r
162 ${GDCM_BINARY_DIR}/gdcmLibraryDepends.cmake
\r
165 # Intall the packaging files for use by FIND_PACKAGE(GDCM) in user projects.
\r
166 INSTALL_FILES(/lin/gdcm FILES
\r
167 ${GDCM_SOURCE_DIR}/gdcmUse.cmake
\r
168 ${GDCM_BINARY_DIR}/gdcmConfig.cmake
\r
169 ${GDCM_BINARY_DIR}/gdcmBuildSettings.cmake
\r
170 ${GDCM_BINARY_DIR}/gdcmLibraryDepends.cmake
\r