]> git.pld-linux.org Git - packages/dcmtk.git/blame - dcmtk-0004-Use-system-charls.patch
- build shared libraries using Fedora patches over cmake build suite
[packages/dcmtk.git] / dcmtk-0004-Use-system-charls.patch
CommitLineData
d163e5a5
JB
1From c20efddd5eee01bb5db0aeaac8fc0b64abf6d6cf Mon Sep 17 00:00:00 2001
2From: Mario Ceresa <mrceresa@gmail.com>
3Date: Sun, 20 Mar 2011 14:27:14 +0100
4Subject: [PATCH 4/6] Use system charls
5
6---
7 CMake/3rdparty.cmake | 17 +++++++++++++++++
8 CMake/FindCharLS.cmake | 34 ++++++++++++++++++++++++++++++++++
9 CMakeLists.txt | 1 +
10 dcmjpls/apps/CMakeLists.txt | 2 +-
11 dcmjpls/libsrc/CMakeLists.txt | 2 +-
12 5 files changed, 54 insertions(+), 2 deletions(-)
13 create mode 100644 CMake/FindCharLS.cmake
14
15diff --git a/CMake/3rdparty.cmake b/CMake/3rdparty.cmake
16index 74ce78f..36956ce 100755
17--- a/CMake/3rdparty.cmake
18+++ b/CMake/3rdparty.cmake
19@@ -197,6 +197,23 @@ ELSE(WIN32)
20 SET(WITH_ZLIB 1)
21 ENDIF(NOT ZLIB_LIBS)
22 ENDIF(DCMTK_WITH_ZLIB)
23+
24+ # Find charls
25+
26+ SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake)
27+
28+ IF(DCMTK_WITH_CHARLS)
29+ FIND_PACKAGE(CharLS)
30+ INCLUDE_DIRECTORIES(${CHARLS_INCLUDE_DIRS})
31+ SET(CHARLS_LIBS ${CHARLS_LIBRARIES})
32+ IF (NOT CHARLS_LIBS)
33+ MESSAGE(STATUS "Warning: CharLS not found. Cannot build!")
34+ ELSE(NOT CHARLS_LIBS)
35+ MESSAGE(STATUS "Info: DCMTK CHARLS support will be enabled")
36+ SET(WITH_CHARLS 1)
37+ ENDIF(NOT CHARLS_LIBS)
38+ ENDIF(DCMTK_WITH_CHARLS)
39+
40
41 ENDIF(WIN32)
42
43diff --git a/CMake/FindCharLS.cmake b/CMake/FindCharLS.cmake
44new file mode 100644
45index 0000000..eaa45b7
46--- /dev/null
47+++ b/CMake/FindCharLS.cmake
48@@ -0,0 +1,34 @@
49+FIND_PATH(CHARLS_INCLUDE_DIR CharLS/interface.h
50+/usr/local/include
51+/usr/include
52+)
53+
54+FIND_LIBRARY(CHARLS_LIBRARY
55+ NAMES CharLS
56+ PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64
57+ )
58+
59+
60+IF (CHARLS_LIBRARY AND CHARLS_INCLUDE_DIR)
61+ SET(CHARLS_LIBRARIES ${CHARLS_LIBRARY})
62+ SET(CHARLS_INCLUDE_DIRS ${CHARLS_INCLUDE_DIR})
63+ SET(CHARLS_FOUND "YES")
64+ELSE (CHARLS_LIBRARY AND CHARLS_INCLUDE_DIR)
65+ SET(CHARLS_FOUND "NO")
66+ENDIF (CHARLS_LIBRARY AND CHARLS_INCLUDE_DIR)
67+
68+
69+IF (CHARLS_FOUND)
70+ IF (NOT CHARLS_FIND_QUIETLY)
71+ MESSAGE(STATUS "Found CHARLS: ${CHARLS_LIBRARIES}")
72+ ENDIF (NOT CHARLS_FIND_QUIETLY)
73+ELSE (CHARLS_FOUND)
74+ IF (CHARLS_FIND_REQUIRED)
75+ MESSAGE(FATAL_ERROR "Could not find CHARLS library")
76+ ENDIF (CHARLS_FIND_REQUIRED)
77+ENDIF (CHARLS_FOUND)
78+
79+MARK_AS_ADVANCED(
80+ CHARLS_LIBRARIES
81+ CHARLS_INCLUDE_DIR
82+ )
83diff --git a/CMakeLists.txt b/CMakeLists.txt
84index 86b7601..fa5d9ad 100644
85--- a/CMakeLists.txt
86+++ b/CMakeLists.txt
87@@ -36,6 +36,7 @@ SET(DCMTK_PACKAGE_VERSION_NUMBER ${DCMTK_MAJOR_VERSION}${DCMTK_MINOR_VERSION}${D
88
89
90 # DCMTK build options
91+OPTION(DCMTK_WITH_CHARLS "Configure DCMTK with support for CHARLS" ON)
92 OPTION(DCMTK_WITH_TIFF "Configure DCMTK with support for TIFF" ON)
93 OPTION(DCMTK_WITH_PNG "Configure DCMTK with support for PNG" ON)
94 OPTION(DCMTK_WITH_XML "Configure DCMTK with support for XML" OFF)
95diff --git a/dcmjpls/apps/CMakeLists.txt b/dcmjpls/apps/CMakeLists.txt
96index d993bc2..45abcb9 100644
97--- a/dcmjpls/apps/CMakeLists.txt
98+++ b/dcmjpls/apps/CMakeLists.txt
99@@ -16,6 +16,6 @@ ENDFOREACH(PROGRAM)
100
101 # make sure executables are linked to the corresponding libraries
102 FOREACH(PROGRAM dcmcjpls dcmdjpls dcml2pnm)
103- TARGET_LINK_LIBRARIES(${PROGRAM} dcmjpls charls dcmimage dcmimgle dcmdata oflog ofstd ofstd ${ZLIB_LIBS} ${THREAD_LIBS} ${WIN32_STD_LIBRARIES})
104+ TARGET_LINK_LIBRARIES(${PROGRAM} dcmjpls ${CHARLS_LIBS} dcmimage dcmimgle dcmdata oflog ofstd ofstd ${ZLIB_LIBS} ${THREAD_LIBS} ${WIN32_STD_LIBRARIES})
105 ENDFOREACH(PROGRAM)
106 TARGET_LINK_LIBRARIES(dcml2pnm ${LIBTIFF_LIBS} ${LIBPNG_LIBS})
107diff --git a/dcmjpls/libsrc/CMakeLists.txt b/dcmjpls/libsrc/CMakeLists.txt
108index 63a2766..9499dd8 100644
109--- a/dcmjpls/libsrc/CMakeLists.txt
110+++ b/dcmjpls/libsrc/CMakeLists.txt
111@@ -1,5 +1,5 @@
112 # declare additional include directories
113-INCLUDE_DIRECTORIES(${dcmjpls_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${dcmjpls_SOURCE_DIR}/libcharls ${ZLIB_INCDIR})
114+INCLUDE_DIRECTORIES(${dcmjpls_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${CHARLS_INCLUDE_DIRS} ${ZLIB_INCDIR})
115
116 # create library from source files
117 ADD_LIBRARY(dcmjpls djcparam djdecode djencode djrparam djcodecd djutils djcodece)
118--
1191.7.4
120
This page took 0.638791 seconds and 4 git commands to generate.