1 From d3284cf35b8d92029cba487a285cdd6aeee16d38 Mon Sep 17 00:00:00 2001
2 From: Joerg Riesmeier <dicom@offis.de>
3 Date: Tue, 1 Feb 2011 09:52:35 +0000
4 Subject: [PATCH 6/6] Added optional support for building shared libraries with CMake.
8 dcmimage/apps/CMakeLists.txt | 3 +--
9 dcmimgle/apps/CMakeLists.txt | 3 +--
10 dcmjpeg/apps/CMakeLists.txt | 5 ++---
11 dcmjpls/apps/CMakeLists.txt | 3 +--
12 dcmpstat/apps/CMakeLists.txt | 8 +-------
13 dcmqrdb/apps/CMakeLists.txt | 4 ++--
14 dcmwlm/apps/CMakeLists.txt | 4 ++--
15 8 files changed, 12 insertions(+), 20 deletions(-)
17 diff --git a/CMakeLists.txt b/CMakeLists.txt
18 index fa5d9ad..010c13c 100644
21 @@ -34,6 +34,8 @@ SET(DCMTK_API_VERSION "${DCMTK_MAJOR_VERSION}.${DCMTK_MINOR_VERSION}")
22 SET(DCMTK_LIBRARY_PROPERTIES VERSION "${DCMTK_PACKAGE_VERSION}" SOVERSION "${DCMTK_API_VERSION}")
23 SET(DCMTK_PACKAGE_VERSION_NUMBER ${DCMTK_MAJOR_VERSION}${DCMTK_MINOR_VERSION}${DCMTK_BUILD_VERSION})
25 +# General build options
26 +OPTION(BUILD_SHARED_LIBS "Build with shared libraries." OFF)
29 OPTION(DCMTK_WITH_CHARLS "Configure DCMTK with support for CHARLS" ON)
30 diff --git a/dcmimage/apps/CMakeLists.txt b/dcmimage/apps/CMakeLists.txt
31 index aad94cf..d3f241f 100644
32 --- a/dcmimage/apps/CMakeLists.txt
33 +++ b/dcmimage/apps/CMakeLists.txt
34 @@ -13,6 +13,5 @@ ENDFOREACH(PROGRAM)
36 # make sure executables are linked to the corresponding libraries
37 FOREACH(PROGRAM dcm2pnm dcmquant dcmscale)
38 - TARGET_LINK_LIBRARIES(${PROGRAM} dcmimage dcmimgle dcmdata oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
39 + TARGET_LINK_LIBRARIES(${PROGRAM} dcmimage dcmimgle dcmdata oflog ofstd ${LIBTIFF_LIBS} ${LIBPNG_LIBS} ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
41 -TARGET_LINK_LIBRARIES(dcm2pnm ${LIBTIFF_LIBS} ${LIBPNG_LIBS})
42 diff --git a/dcmimgle/apps/CMakeLists.txt b/dcmimgle/apps/CMakeLists.txt
43 index 8514a47..440b321 100644
44 --- a/dcmimgle/apps/CMakeLists.txt
45 +++ b/dcmimgle/apps/CMakeLists.txt
46 @@ -13,6 +13,5 @@ ENDFOREACH(PROGRAM)
48 # make sure executables are linked to the corresponding libraries
49 FOREACH(PROGRAM dcmdspfn dcod2lum dconvlum)
50 - TARGET_LINK_LIBRARIES(${PROGRAM} dcmimgle oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
51 + TARGET_LINK_LIBRARIES(${PROGRAM} dcmimgle dcmdata oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
53 -TARGET_LINK_LIBRARIES(dcmdspfn dcmdata)
54 diff --git a/dcmjpeg/apps/CMakeLists.txt b/dcmjpeg/apps/CMakeLists.txt
55 index 9c1f565..b9bc30b 100644
56 --- a/dcmjpeg/apps/CMakeLists.txt
57 +++ b/dcmjpeg/apps/CMakeLists.txt
59 INCLUDE_DIRECTORIES(${dcmjpeg_SOURCE_DIR}/include ${ofstd_SOURCE_DIR}/include ${oflog_SOURCE_DIR}/include ${dcmdata_SOURCE_DIR}/include ${dcmimgle_SOURCE_DIR}/include ${dcmimage_SOURCE_DIR}/include ${dcmjpeg_SOURCE_DIR}/libijg8 ${dcmjpeg_SOURCE_DIR}/libijg12 ${dcmjpeg_SOURCE_DIR}/libijg16 ${ZLIB_INCDIR} ${LIBTIFF_INCDIR} ${LIBPNG_INCDIR})
61 # declare directories containing used libraries
62 -LINK_DIRECTORIES(${dcmjpeg_BINARY_DIR} ${ofstd_BINARY_DIR} ${oflog_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmimgle_BINARY_DIR} ${dcmimage_BINARY_DIR} ${ZLIB_LIBDIR} ${LIBTIFF_LIBDIR} ${LIBPNG_LIBDIR})
63 +LINK_DIRECTORIES(${dcmjpeg_BINARY_DIR} ${ofstd_BINARY_DIR} ${oflog_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmimgle_BINARY_DIR} ${dcmimage_BINARY_DIR} ${ZLIB_LIBDIR} ${LIBTIFF_LIBDIR} ${LIBPNG_LIBDIR})
66 FOREACH(PROGRAM dcmcjpeg dcmdjpeg dcmj2pnm dcmmkdir)
67 @@ -16,6 +16,5 @@ ENDFOREACH(PROGRAM)
69 # make sure executables are linked to the corresponding libraries
70 FOREACH(PROGRAM dcmcjpeg dcmdjpeg dcmj2pnm dcmmkdir)
71 - TARGET_LINK_LIBRARIES(${PROGRAM} dcmjpeg ijg8 ijg12 ijg16 dcmimage dcmimgle dcmdata oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
72 + TARGET_LINK_LIBRARIES(${PROGRAM} dcmjpeg ijg8 ijg12 ijg16 dcmimage dcmimgle dcmdata oflog ofstd ${LIBTIFF_LIBS} ${LIBPNG_LIBS} ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
74 -TARGET_LINK_LIBRARIES(dcmj2pnm ${LIBTIFF_LIBS} ${LIBPNG_LIBS})
75 diff --git a/dcmjpls/apps/CMakeLists.txt b/dcmjpls/apps/CMakeLists.txt
76 index 45abcb9..41fc329 100644
77 --- a/dcmjpls/apps/CMakeLists.txt
78 +++ b/dcmjpls/apps/CMakeLists.txt
79 @@ -16,6 +16,5 @@ ENDFOREACH(PROGRAM)
81 # make sure executables are linked to the corresponding libraries
82 FOREACH(PROGRAM dcmcjpls dcmdjpls dcml2pnm)
83 - TARGET_LINK_LIBRARIES(${PROGRAM} dcmjpls ${CHARLS_LIBS} dcmimage dcmimgle dcmdata oflog ofstd ofstd ${ZLIB_LIBS} ${THREAD_LIBS} ${WIN32_STD_LIBRARIES})
84 + TARGET_LINK_LIBRARIES(${PROGRAM} dcmjpls ${CHARLS_LIBS} dcmimage dcmimgle dcmdata oflog ofstd ofstd ${LIBTIFF_LIBS} ${LIBPNG_LIBS} ${ZLIB_LIBS} ${THREAD_LIBS} ${WIN32_STD_LIBRARIES})
86 -TARGET_LINK_LIBRARIES(dcml2pnm ${LIBTIFF_LIBS} ${LIBPNG_LIBS})
87 diff --git a/dcmpstat/apps/CMakeLists.txt b/dcmpstat/apps/CMakeLists.txt
88 index e795197..48398a8 100644
89 --- a/dcmpstat/apps/CMakeLists.txt
90 +++ b/dcmpstat/apps/CMakeLists.txt
91 @@ -17,11 +17,5 @@ ENDFOREACH(PROGRAM)
93 # make sure executables are linked to the corresponding libraries
94 FOREACH(PROGRAM dcmmkcrv dcmmklut dcmp2pgm dcmprscp dcmprscu dcmpsmk dcmpschk dcmpsprt dcmpsrcv dcmpssnd)
95 - TARGET_LINK_LIBRARIES(${PROGRAM} dcmpstat dcmimgle dcmqrdb dcmnet dcmdata oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
97 -FOREACH(PROGRAM dcmmklut dcmp2pgm dcmprscp dcmprscu dcmpschk dcmpsmk dcmpsprt dcmpsrcv dcmpssnd)
98 - TARGET_LINK_LIBRARIES(${PROGRAM} dcmsr)
100 -FOREACH(PROGRAM dcmp2pgm dcmprscp dcmprscu dcmpsprt dcmpsrcv dcmpssnd)
101 - TARGET_LINK_LIBRARIES(${PROGRAM} dcmtls dcmdsig ${LIBXML_LIBS} ${OPENSSL_LIBS})
102 + TARGET_LINK_LIBRARIES(${PROGRAM} dcmpstat dcmdsig dcmsr dcmimgle dcmqrdb dcmnet dcmtls dcmdata oflog ofstd ${LIBXML_LIBS} ${OPENSSL_LIBS} ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
104 diff --git a/dcmqrdb/apps/CMakeLists.txt b/dcmqrdb/apps/CMakeLists.txt
105 index 249732c..6be0507 100644
106 --- a/dcmqrdb/apps/CMakeLists.txt
107 +++ b/dcmqrdb/apps/CMakeLists.txt
109 # declare directories containing used libraries
110 -LINK_DIRECTORIES(${dcmqrdb_BINARY_DIR} ${ofstd_BINARY_DIR} ${oflog_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmnet_BINARY_DIR} ${ZLIB_LIBDIR})
111 +LINK_DIRECTORIES(${dcmqrdb_BINARY_DIR} ${ofstd_BINARY_DIR} ${oflog_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmnet_BINARY_DIR} ${ZLIB_LIBDIR} ${OPENSSL_LIBDIR})
113 # declare executables
114 FOREACH(PROGRAM dcmqrscp dcmqridx dcmqrti)
115 @@ -13,5 +13,5 @@ ENDFOREACH(PROGRAM)
117 # make sure executables are linked to the corresponding libraries
118 FOREACH(PROGRAM dcmqrscp dcmqridx dcmqrti)
119 - TARGET_LINK_LIBRARIES(${PROGRAM} dcmqrdb dcmnet dcmdata oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
120 + TARGET_LINK_LIBRARIES(${PROGRAM} dcmqrdb dcmnet dcmdata oflog ofstd ${OPENSSL_LIBS} ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
122 diff --git a/dcmwlm/apps/CMakeLists.txt b/dcmwlm/apps/CMakeLists.txt
123 index 445881f..13865ca 100644
124 --- a/dcmwlm/apps/CMakeLists.txt
125 +++ b/dcmwlm/apps/CMakeLists.txt
127 INCLUDE_DIRECTORIES(${dcmtls_SOURCE_DIR}/include)
129 # declare directories containing used libraries
130 -LINK_DIRECTORIES(${dcmwlm_BINARY_DIR} ${ofstd_BINARY_DIR} ${oflog_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmtls_BINARY_DIR} ${dcmnet_BINARY_DIR} ${ZLIB_LIBDIR})
131 +LINK_DIRECTORIES(${dcmwlm_BINARY_DIR} ${ofstd_BINARY_DIR} ${oflog_BINARY_DIR} ${dcmdata_BINARY_DIR} ${dcmtls_BINARY_DIR} ${dcmnet_BINARY_DIR} ${ZLIB_LIBDIR} ${OPENSSL_LIBDIR})
133 # declare executables
134 ADD_EXECUTABLE(wlmscpfs wlmscpfs wlcefs)
135 @@ -11,4 +11,4 @@ ADD_EXECUTABLE(wlmscpfs wlmscpfs wlcefs)
136 INSTALL_TARGETS(${INSTALL_BINDIR} wlmscpfs)
138 # make sure executables are linked to the corresponding libraries
139 -TARGET_LINK_LIBRARIES(wlmscpfs dcmwlm dcmnet dcmtls dcmdata oflog ofstd ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})
140 +TARGET_LINK_LIBRARIES(wlmscpfs dcmwlm dcmnet dcmtls dcmdata oflog ofstd ${OPENSSL_LIBS} ${ZLIB_LIBS} ${WIN32_STD_LIBRARIES} ${THREAD_LIBS})