]> Creatis software - gdcm.git/blob - CMakeLists.txt
*ENH/ Update CMakeLists.txt
[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 0)\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 SET(GDCM_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})\r
22 \r
23 SET(CMAKE_CONFIGURATION_TYPES\r
24   Debug\r
25   Release\r
26 )\r
27 SET(CMAKE_BUILD_TYPE_INIT Debug)\r
28 \r
29 #-----------------------------------------------------------------------------\r
30 # Output directories.\r
31 #Put all stuff in one single dir for Win32, otherwise dll are a pain:\r
32 IF(WIN32 AND GDCM_BUILD_SHARED_LIBS)\r
33   SET(OUTPUT_LIB_DIR ${GDCM_SOURCE_DIR}/bin)\r
34 ELSE(WIN32 AND GDCM_BUILD_SHARED_LIBS)\r
35   SET(OUTPUT_LIB_DIR ${GDCM_SOURCE_DIR}/lib)\r
36 ENDIF(WIN32 AND GDCM_BUILD_SHARED_LIBS)\r
37 \r
38 SET (EXECUTABLE_OUTPUT_PATH ${GDCM_SOURCE_DIR}/bin CACHE PATH "Single output directory for building all executables.")\r
39 SET (LIBRARY_OUTPUT_PATH ${OUTPUT_LIB_DIR} CACHE PATH "Single output directory for building all libraries.")\r
40 MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)\r
41 SET(GDCM_LIBRARY_PATH "${LIBRARY_OUTPUT_PATH}")\r
42 SET(GDCM_EXECUTABLE_PATH "${EXECUTABLE_OUTPUT_PATH}")\r
43 \r
44 #-----------------------------------------------------------------------------\r
45 # Build directory on which many applications depend\r
46 SUBDIRS(\r
47   src\r
48   Dicts\r
49   Test\r
50 )\r
51 \r
52 #-----------------------------------------------------------------------------\r
53 OPTION(GDCM_VTK "Build VTK-GDCM Lib." OFF)\r
54 IF(GDCM_VTK)\r
55   # Search VTK\r
56   FIND_PACKAGE(VTK)\r
57   # If vtk found\r
58   IF(VTK_FOUND)\r
59     INCLUDE(${VTK_USE_FILE})\r
60     SUBDIRS(vtk)\r
61   ENDIF(VTK_FOUND)\r
62 ENDIF(GDCM_VTK)\r
63 \r
64 #-----------------------------------------------------------------------------\r
65 OPTION(GDCM_WRAP_PYTHON "Wrap GDCM classes into the Python language." OFF)\r
66 #if wrapping enable\r
67 IF(GDCM_WRAP_PYTHON)\r
68   # Search Python libs:\r
69   FIND_PACKAGE(PythonLibs)\r
70   # If PythonLibs found\r
71   IF(PYTHON_LIBRARY)\r
72     SUBDIRS(gdcmPython)\r
73   ENDIF(PYTHON_LIBRARY)\r
74 ENDIF(GDCM_WRAP_PYTHON)\r
75 \r
76 #-----------------------------------------------------------------------------\r
77 OPTION(GDCM_DOXYGEN "Build source documentation using doxygen." OFF)\r
78 # if doxygen enable\r
79 IF(GDCM_DOXYGEN)\r
80   # Search Doxygen:\r
81   FIND_PACKAGE(Doxygen)\r
82   IF(DOXYGEN)\r
83     SUBDIRS(Doc)\r
84   ENDIF(DOXYGEN)\r
85 ENDIF(GDCM_DOXYGEN)\r
86 \r
87 #-----------------------------------------------------------------------------\r
88 # Configure files with settings for use by the build.\r
89 \r
90 # to be rewritten to include only the necessary\r
91 #CONFIGURE_FILE(${GDCM_SOURCE_DIR}/UseGdcm.cmake.in \r
92 #               ${GDCM_BINARY_DIR}/UseGdcm.cmake COPYONLY IMMEDIATE)\r
93 \r
94 \r
95 #-----------------------------------------------------------------------------\r
96 # Copy / paste from old m4 script:\r
97 \r
98 # EXTRA_DIST = \\r
99 #       AUTHORS \\r
100 #       ChangeLog \\r
101 #       COPYING \\r
102 #       INSTALL \\r
103 #       NEWS \\r
104 #       README \\r
105 #       TODO \\r
106 #       gdcm.spec \\r
107 #       gdcm.dsw\r
108 \r
109 #release:\r
110 #       $(MAKE) dist distdir=$(PACKAGE)-$(VERSION)\r
111 \r
112 #snapshot:\r
113 #       $(MAKE) dist distdir=$(PACKAGE)`date +"%y%m%d"`\r