]>
Commit | Line | Data |
---|---|---|
d163e5a5 JB |
1 | From c20efddd5eee01bb5db0aeaac8fc0b64abf6d6cf Mon Sep 17 00:00:00 2001 |
2 | From: Mario Ceresa <mrceresa@gmail.com> | |
3 | Date: Sun, 20 Mar 2011 14:27:14 +0100 | |
4 | Subject: [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 | ||
15 | diff --git a/CMake/3rdparty.cmake b/CMake/3rdparty.cmake | |
16 | index 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 | ||
43 | diff --git a/CMake/FindCharLS.cmake b/CMake/FindCharLS.cmake | |
44 | new file mode 100644 | |
45 | index 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 | + ) | |
83 | diff --git a/CMakeLists.txt b/CMakeLists.txt | |
84 | index 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) | |
95 | diff --git a/dcmjpls/apps/CMakeLists.txt b/dcmjpls/apps/CMakeLists.txt | |
96 | index 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}) | |
107 | diff --git a/dcmjpls/libsrc/CMakeLists.txt b/dcmjpls/libsrc/CMakeLists.txt | |
108 | index 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 | -- | |
119 | 1.7.4 | |
120 |