]> Creatis software - gdcm.git/blob - src/CMakeLists.txt
* ENH: Update CMake stuff for accessing gdcm from CMake (4 third party lib)
[gdcm.git] / src / CMakeLists.txt
1 #-----------------------------------------------------------------------------\r
2 # Build jpeg lib first:\r
3 SUBDIRS(jpeg)\r
4 \r
5 # "jpeglib.h" is defined here:\r
6 INCLUDE_DIRECTORIES(\r
7   ${GDCM_SOURCE_DIR}/src/jpeg/libijg8\r
8   #${GDCM_SOURCE_DIR}/jpeg/libijg12 #all files have been renamed, appending 12\r
9   #${GDCM_SOURCE_DIR}/jpeg/ljpg     # JPEG lib from xmedcom \r
10 )\r
11 \r
12 SET(libgdcm_la_SOURCES\r
13         gdcmException.cxx\r
14         gdcmUtil.cxx\r
15         gdcmHeader.cxx\r
16         gdcmHeaderHelper.cxx\r
17         gdcmElValue.cxx\r
18         gdcmDictEntry.cxx\r
19         gdcmDict.cxx\r
20         gdcmDictSet.cxx\r
21         gdcmElValSet.cxx\r
22         gdcmHeaderIdo.cxx\r
23         gdcmFile.cxx\r
24         gdcmVR.cxx\r
25         gdcmTS.cxx\r
26         gdcmJpeg.cxx\r
27         gdcmJpeg12.cxx\r
28         gdcmJpeg2000.cxx\r
29         gdcmRLE.cxx\r
30         gdcmParse.cxx\r
31 )\r
32 #-----------------------------------------------------------------------------\r
33 # Why one should not use ADD_DEFINITIONS\r
34 # http://www.cmake.org/pipermail/cmake/2003-September/004286.html\r
35 \r
36 #-----------------------------------------------------------------------------\r
37 # __STDC_LIMIT_MACROS -> Refer to stdint.h\r
38 # http://www.cmake.org/pipermail/cmake/2003-October/004369.html\r
39 # http://www.cmake.org/pipermail/cmake/2003-October/004373.html\r
40 \r
41 SET(GDCM_COMPILE_FLAGS\r
42   "-D__STDC_LIMIT_MACROS  -DPUB_DICT_PATH=\\\"${CMAKE_INSTALL_PREFIX}${GDCM_DATA_DIR}\\\""\r
43   )\r
44 \r
45 # SunOS + old gcc fixes:\r
46 \r
47 INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake)\r
48 IF(CMAKE_NO_ANSI_STRING_STREAM)\r
49 SET(GDCM_COMPILE_FLAGS\r
50   "${GDCM_COMPILE_FLAGS} -DGDCM_NO_ANSI_STRING_STREAM"\r
51   )\r
52 ENDIF(CMAKE_NO_ANSI_STRING_STREAM)\r
53 \r
54 #INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityC.cmake)\r
55 #INCLUDE (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)\r
56 \r
57 INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)\r
58 CHECK_INCLUDE_FILE("stdint.h"    CMAKE_HAVE_STDINT_H)\r
59 \r
60 #MESSAGE(STATUS ${CMAKE_NO_ANSI_STRING_STREAM})\r
61 IF(NOT CMAKE_HAVE_STDINT_H)\r
62 SET(GDCM_COMPILE_FLAGS\r
63   "${GDCM_COMPILE_FLAGS} -DHAVE_NO_STDINT_H"\r
64   )\r
65 ENDIF(NOT CMAKE_HAVE_STDINT_H)\r
66 \r
67 SET_SOURCE_FILES_PROPERTIES(${libgdcm_la_SOURCES}\r
68   PROPERTIES\r
69   COMPILE_FLAGS ${GDCM_COMPILE_FLAGS}\r
70 )\r
71 \r
72 ADD_LIBRARY(gdcm ${libgdcm_la_SOURCES} )\r
73 IF(UNIX)\r
74   TARGET_LINK_LIBRARIES(gdcm \r
75     gdcmijpeg8 \r
76     gdcmijpeg12\r
77     gdcmjpeg     # JPEG lib from xmedcom \r
78   )\r
79 ELSE(UNIX)\r
80   TARGET_LINK_LIBRARIES(gdcm \r
81     gdcmijpeg8 \r
82     gdcmijpeg12\r
83     gdcmjpeg\r
84     Wsock32.lib   #doesn't exist on cygwin\r
85   )\r
86 ENDIF(UNIX)\r
87 \r
88 #The following is not working because when a header file is not found it tries \r
89 #to find one in the binary dir\r
90 #INSTALL_FILES(/include .h ${libgdcm_la_SOURCES})\r
91 #INSTALL_FILES(/include FILES gdcmIdo.h iddcmjpeg.h)\r
92 INSTALL_FILES(/include "\\.h$")\r
93 \r
94 INSTALL_TARGETS(/lib/ gdcm)\r