]> Creatis software - gdcm.git/blob - src/CMakeLists.txt
6325c3be8974511f3c302101cfa57375cc34a95a
[gdcm.git] / src / CMakeLists.txt
1 #-----------------------------------------------------------------------------
2 # Rebuild gdcm whenever a file starting with gdcm* is modified
3 INCLUDE_REGULAR_EXPRESSION("^gdcm.*$")
4
5 SET(GDCM_LIBRARIES gdcm CACHE INTERNAL "libraries for GDCM")
6
7 SET(OPJ_PREFIX gdcm)
8 SUBDIRS(
9   gdcmjpeg
10   #gdcmmpeg2
11   #gdcmjpegls
12   gdcmopenjpeg
13   )
14
15 # "jpeglib.h" is defined here:
16 INCLUDE_DIRECTORIES(
17   ${GDCM_SOURCE_DIR}/src
18   ${GDCM_SOURCE_DIR}/src/gdcmmpeg2/src/mpeg2dec
19   ${GDCM_BINARY_DIR} #for gdcmConfigure.h
20   ${GDCM_BINARY_DIR}/src #for gdcmjpeg 8, 12 and 16 
21   ${GDCM_SOURCE_DIR}/src/gdcmopenjpeg/libopenjpeg
22 )
23
24 SET(GDCM_SOURCES
25    gdcmArgMgr.cxx
26    gdcmBase.cxx
27    gdcmCallbackCommand.cxx
28    gdcmCommand.cxx
29    gdcmCommandManager.cxx
30    gdcmDataEntry.cxx
31    gdcmDebug.cxx
32    gdcmDicomDir.cxx
33    gdcmDicomDirElement.cxx
34    gdcmDicomDirImage.cxx
35    gdcmDicomDirMeta.cxx
36    gdcmDicomDirObject.cxx
37    gdcmDicomDirPatient.cxx
38    gdcmDicomDirVisit.cxx
39    gdcmDicomDirSerie.cxx
40    gdcmDicomDirStudy.cxx
41    gdcmDict.cxx
42    gdcmDictEntry.cxx
43    gdcmDictGroupName.cxx
44    gdcmDictSet.cxx
45    gdcmDirList.cxx
46    gdcmDocEntry.cxx
47    gdcmDocEntryArchive.cxx
48    gdcmDocEntrySet.cxx
49    gdcmDocument.cxx
50    gdcmElementSet.cxx
51    gdcmException.cxx
52    gdcmFile.cxx
53    gdcmFileHelper.cxx
54    gdcmGlobal.cxx
55    gdcmJPEGFragment.cxx
56    gdcmJPEGFragmentsInfo.cxx
57    gdcmJpeg8.cxx
58    gdcmJpeg12.cxx
59    gdcmJpeg16.cxx
60    gdcmJpeg2000.cxx
61    #gdcmMpeg.cxx
62    gdcmOrientation.cxx
63    gdcmPixelReadConvert.cxx
64    gdcmPixelWriteConvert.cxx
65    gdcmRefCounter.cxx
66    gdcmRLEFrame.cxx
67    gdcmRLEFramesInfo.cxx
68    gdcmSeqEntry.cxx
69    gdcmSerieHelper.cxx
70    gdcmSQItem.cxx
71    gdcmTS.cxx
72    gdcmUtil.cxx
73    gdcmValidator.cxx
74    gdcmVR.cxx
75    ${GDCM_BINARY_DIR}/src/gdcmDefaultDicts.cxx
76    )
77
78 # Since OpenJPEG does not used configured headers we have to 
79 # do the -D alternative
80 IF(NOT BUILD_SHARED_LIBS)
81  SET_SOURCE_FILES_PROPERTIES(
82    ${GDCM_SOURCE_DIR}/src/gdcmJpeg2000.cxx
83    COMPILE_FLAGS -DOPJ_STATIC)
84 ENDIF(NOT BUILD_SHARED_LIBS)
85
86 ADD_LIBRARY(gdcm ${GDCM_SOURCES})
87 TARGET_LINK_LIBRARIES(gdcm 
88   gdcmjpeg8 
89   gdcmjpeg12
90   gdcmjpeg16
91   #gdcmmpeg2
92   gdcmopenjpeg
93 )
94 IF(WIN32)
95   IF(NOT BORLAND)
96     TARGET_LINK_LIBRARIES(gdcm wsock32 snmpapi)
97   ENDIF(NOT BORLAND)
98 ENDIF(WIN32)
99
100 # Need nsl to resolve gethostbyname on SunOS-5.8
101 # and socket also
102 IF(CMAKE_SYSTEM MATCHES "SunOS.*")
103   TARGET_LINK_LIBRARIES(gdcm socket nsl)
104 ENDIF(CMAKE_SYSTEM MATCHES "SunOS.*")
105
106 IF(NOT GDCM_INSTALL_NO_DEVELOPMENT)
107   # Install header file used to construct the lib
108   #INSTALL_FILES(
109   #  ${GDCM_INSTALL_INCLUDE_DIR} .h ${GDCM_SOURCES})
110   INSTALL_FILES(${GDCM_INSTALL_INCLUDE_DIR} "\\.h$")
111 ENDIF(NOT GDCM_INSTALL_NO_DEVELOPMENT)
112
113 IF(NOT GDCM_INSTALL_NO_LIBRARIES)
114   #Install the target itself
115   INSTALL_TARGETS(
116     ${GDCM_INSTALL_LIB_DIR}
117     RUNTIME_DIRECTORY ${GDCM_INSTALL_BIN_DIR}
118     ${GDCM_LIBRARIES})
119 ENDIF(NOT GDCM_INSTALL_NO_LIBRARIES)
120