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 #SET(GDCM_NO_ANSI_STRING_STREAM
\r
67 # ${CMAKE_NO_ANSI_STRING_STREAM}
\r
69 CONFIGURE_FILE(${GDCM_SOURCE_DIR}/gdcmConfigure.h.in
\r
70 ${GDCM_BINARY_DIR}/gdcmConfigure.h @ONLY IMMEDIATE)
\r
72 #-----------------------------------------------------------------------------
\r
73 # Add the testing directories
\r
74 OPTION(GDCM_BUILD_TESTING "Test the project" ON)
\r
75 IF(GDCM_BUILD_TESTING)
\r
77 INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
\r
79 ENDIF(GDCM_BUILD_TESTING)
\r
82 #-----------------------------------------------------------------------------
\r
83 OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF)
\r
89 INCLUDE(${VTK_USE_FILE})
\r
94 #-----------------------------------------------------------------------------
\r
95 OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF)
\r
97 IF(GDCM_WRAP_PYTHON)
\r
98 # Search Python libs:
\r
99 FIND_PACKAGE(PythonLibs)
\r
100 # If PythonLibs found
\r
102 SUBDIRS(gdcmPython)
\r
103 ENDIF(PYTHON_LIBRARY)
\r
104 ENDIF(GDCM_WRAP_PYTHON)
\r
106 #-----------------------------------------------------------------------------
\r
107 OPTION(GDCM_DOXYGEN "Build source documentation using doxygen." OFF)
\r
108 # if doxygen enable
\r
111 FIND_PACKAGE(Doxygen)
\r
115 ENDIF(GDCM_DOXYGEN)
\r
117 #-----------------------------------------------------------------------------
\r
118 # Configure files with settings for use by the build.
\r
119 # for third party to access gdcm through cmake
\r
120 # to be rewritten to include only the necessary
\r
123 ${GDCM_SOURCE_DIR}/gdcmConfig.cmake.in
\r
124 ${GDCM_BINARY_DIR}/gdcmConfig.cmake @ONLY IMMEDIATE
\r
127 # Export uor build settings and library
\r
128 # dependencies for the use by the user projects.
\r
130 ${CMAKE_ROOT}/Modules/CMakeExportBuildSettings.cmake)
\r
132 CMAKE_EXPORT_BUILD_SETTINGS(
\r
133 ${GDCM_BINARY_DIR}/gdcmBuildSettings.cmake
\r
136 EXPORT_LIBRARY_DEPENDENCIES(
\r
137 ${GDCM_BINARY_DIR}/gdcmLibraryDepends.cmake
\r
140 # Intall the packaging files for use by FIND_PACKAGE(GDCM) in user projects.
\r
141 INSTALL_FILES(/lin/gdcm FILES
\r
142 ${GDCM_SOURCE_DIR}/gdcmUse.cmake
\r
143 ${GDCM_BINARY_DIR}/gdcmConfig.cmake
\r
144 ${GDCM_BINARY_DIR}/gdcmBuildSettings.cmake
\r
145 ${GDCM_BINARY_DIR}/gdcmLibraryDepends.cmake
\r
148 #-----------------------------------------------------------------------------
\r
149 # Copy / paste from old m4 script:
\r
163 # $(MAKE) dist distdir=$(PACKAGE)-$(VERSION)
\r
166 # $(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"`
\r