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 SET(CMAKE_CONFIGURATION_TYPES
\r
27 SET(CMAKE_BUILD_TYPE_INIT Debug)
\r
29 # Deals with problem on SunOS:
\r
30 # ostrstream vs. ostringstream
\r
32 #SET(GDCM_NO_ANSI_STRING_STREAM
\r
33 # ${CMAKE_NO_ANSI_STRING_STREAM}
\r
35 #CONFIGURE_FILE(${GDCM_SOURCE_DIR}/src/gdcmCommon.h.in
\r
36 # ${GDCM_BINARY_DIR}/src/gdcmCommon.h @ONLY IMMEDIATE)
\r
38 #-----------------------------------------------------------------------------
\r
39 # Output directories.
\r
40 #Put all stuff in one single dir for Win32, otherwise dll are a pain:
\r
41 IF(WIN32 AND GDCM_BUILD_SHARED_LIBS)
\r
42 SET(OUTPUT_LIB_DIR ${GDCM_SOURCE_DIR}/bin)
\r
43 ELSE(WIN32 AND GDCM_BUILD_SHARED_LIBS)
\r
44 SET(OUTPUT_LIB_DIR ${GDCM_SOURCE_DIR}/lib)
\r
45 ENDIF(WIN32 AND GDCM_BUILD_SHARED_LIBS)
\r
47 SET (EXECUTABLE_OUTPUT_PATH ${GDCM_SOURCE_DIR}/bin CACHE PATH "Single output directory for building all executables.")
\r
48 SET (LIBRARY_OUTPUT_PATH ${OUTPUT_LIB_DIR} CACHE PATH "Single output directory for building all libraries.")
\r
49 MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)
\r
50 SET(GDCM_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}")
\r
51 SET(GDCM_EXECUTABLE_PATH "${EXECUTABLE_OUTPUT_PATH}")
\r
53 #-----------------------------------------------------------------------------
\r
54 # Build directory on which many applications depend
\r
61 #-----------------------------------------------------------------------------
\r
62 # Add the testing directories
\r
63 OPTION(GDCM_BUILD_TESTING "Test the project" ON)
\r
64 IF(GDCM_BUILD_TESTING)
\r
66 INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
\r
68 ENDIF(GDCM_BUILD_TESTING)
\r
71 #-----------------------------------------------------------------------------
\r
72 OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF)
\r
78 INCLUDE(${VTK_USE_FILE})
\r
83 #-----------------------------------------------------------------------------
\r
84 OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF)
\r
86 IF(GDCM_WRAP_PYTHON)
\r
87 # Search Python libs:
\r
88 FIND_PACKAGE(PythonLibs)
\r
89 # If PythonLibs found
\r
92 ENDIF(PYTHON_LIBRARY)
\r
93 ENDIF(GDCM_WRAP_PYTHON)
\r
95 #-----------------------------------------------------------------------------
\r
96 OPTION(GDCM_DOXYGEN "Build source documentation using doxygen." OFF)
\r
100 FIND_PACKAGE(Doxygen)
\r
104 ENDIF(GDCM_DOXYGEN)
\r
106 #-----------------------------------------------------------------------------
\r
107 # Configure files with settings for use by the build.
\r
108 # for third party to access gdcm through cmake
\r
109 # to be rewritten to include only the necessary
\r
112 ${GDCM_SOURCE_DIR}/gdcmConfig.cmake.in
\r
113 ${GDCM_BINARY_DIR}/gdcmConfig.cmake @ONLY IMMEDIATE
\r
116 # Export uor build settings and library
\r
117 # dependencies for the use by the user projects.
\r
119 ${CMAKE_ROOT}/Modules/CMakeExportBuildSettings.cmake)
\r
121 CMAKE_EXPORT_BUILD_SETTINGS(
\r
122 ${GDCM_BINARY_DIR}/gdcmBuildSettings.cmake
\r
125 EXPORT_LIBRARY_DEPENDENCIES(
\r
126 ${GDCM_BINARY_DIR}/gdcmLibraryDepends.cmake
\r
129 # Intall the packaging files for use by FIND_PACKAGE(GDCM) in user projects.
\r
130 INSTALL_FILES(/lin/gdcm FILES
\r
131 ${GDCM_SOURCE_DIR}/gdcmUse.cmake
\r
132 ${GDCM_BINARY_DIR}/gdcmConfig.cmake
\r
133 ${GDCM_BINARY_DIR}/gdcmBuildSettings.cmake
\r
134 ${GDCM_BINARY_DIR}/gdcmLibraryDepends.cmake
\r
137 #-----------------------------------------------------------------------------
\r
138 # Copy / paste from old m4 script:
\r
152 # $(MAKE) dist distdir=$(PACKAGE)-$(VERSION)
\r
155 # $(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"`
\r