Project

General

Profile

RE: Bug-report: libexiv2 should hide XMP-SDK symbols ยป private_symbol.patch

cmake patch to link external symbols as private - Gilles Caulier, 03 Oct 2015 11:03

View differences:

samples/CMakeLists.txt (working copy)
52 52
    STRING( REPLACE ".cpp" "" target ${entry})
53 53
    ADD_EXECUTABLE( ${target} ${target}.cpp )
54 54
    ADD_TEST( ${target}_test ${target} )
55
    TARGET_LINK_LIBRARIES( ${target} exiv2lib )
55
    TARGET_LINK_LIBRARIES( ${target} PRIVATE exiv2lib ${EXPAT_LIBRARIES})
56 56
    #INSTALL( TARGETS ${target} ${INSTALL_TARGET_STANDARD_ARGS} )
57 57
ENDFOREACH(entry ${SAMPLES})
58 58

  
src/CMakeLists.txt (working copy)
240 240

  
241 241
if ( MSVC )
242 242
    source_group("Header Files" FILES ${LIBEXIV2_HDR} )
243
    TARGET_LINK_LIBRARIES( exiv2lib ${EXPAT_LIBRARIES} )
243
    TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${EXPAT_LIBRARIES} )
244 244
    source_group("Header Files" FILES ${LIBCURL_HDR} )
245
    TARGET_LINK_LIBRARIES( exiv2lib ${CURL_LIBRARIES} )
245
    TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${CURL_LIBRARIES} )
246 246
    source_group("Header Files" FILES ${SSH_HDR} )
247
    TARGET_LINK_LIBRARIES( exiv2lib ${SSH_LIBRARIES} )
247
    TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${SSH_LIBRARIES} )
248 248
else()
249 249
    if ( NOT MINGW )
250
        TARGET_LINK_LIBRARIES( exiv2lib dl ${EXPAT_LIBRARIES} )
251
        TARGET_LINK_LIBRARIES( exiv2lib dl ${CURL_LIBRARIES} )
252
        TARGET_LINK_LIBRARIES( exiv2lib dl ${SSH_LIBRARIES} )
250
        TARGET_LINK_LIBRARIES( exiv2lib PRIVATE dl ${EXPAT_LIBRARIES} )
251
        TARGET_LINK_LIBRARIES( exiv2lib PRIVATE dl ${CURL_LIBRARIES} )
252
        TARGET_LINK_LIBRARIES( exiv2lib PRIVATE dl ${SSH_LIBRARIES} )
253 253
    else()
254
        TARGET_LINK_LIBRARIES( exiv2lib    ${EXPAT_LIBRARIES} )
255
        TARGET_LINK_LIBRARIES( exiv2lib    ${CURL_LIBRARIES} )
256
        TARGET_LINK_LIBRARIES( exiv2lib    ${SSH_LIBRARIES} )
254
        TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${EXPAT_LIBRARIES} )
255
        TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${CURL_LIBRARIES} )
256
        TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${SSH_LIBRARIES} )
257 257
    endif()
258 258
endif()
259 259

  
......
262 262
    if  ( MSVC )
263 263
        LINK_DIRECTORIES(${LIBRARY_OUTPUT_PATH}/$(ConfigurationName))
264 264
    endif(MSVC)
265
    TARGET_LINK_LIBRARIES( exiv2lib xmp )
265
    TARGET_LINK_LIBRARIES( exiv2lib PRIVATE xmp )
266 266
ENDIF()
267 267

  
268 268
IF( EXIV2_ENABLE_PNG )
269 269
    IF( ZLIB_FOUND )
270 270
        IF( MSVC )
271 271
            if ( EXIV2_ENABLE_SHARED )
272
                TARGET_LINK_LIBRARIES( exiv2lib optimized ${ZLIB_LIBRARIES}.lib debug ${ZLIB_LIBRARIES}d.lib )
272
                TARGET_LINK_LIBRARIES( exiv2lib PRIVATE optimized ${ZLIB_LIBRARIES}.lib debug ${ZLIB_LIBRARIES}d.lib )
273 273
            else()
274
                TARGET_LINK_LIBRARIES( exiv2lib optimized zlibstatic.lib debug zlibstaticd.lib )
274
                TARGET_LINK_LIBRARIES( exiv2lib PRIVATE optimized zlibstatic.lib debug zlibstaticd.lib )
275 275
            endif()
276 276
        ELSE()
277
            TARGET_LINK_LIBRARIES( exiv2lib ${ZLIB_LIBRARIES} )
277
            TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${ZLIB_LIBRARIES} )
278 278
        ENDIF()
279 279
    ENDIF()
280 280
ENDIF()
281 281

  
282 282
IF( EXIV2_ENABLE_NLS )
283
    TARGET_LINK_LIBRARIES( exiv2lib ${LIBINTL_LIBRARIES} )
283
    TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${LIBINTL_LIBRARIES} )
284 284
ENDIF( EXIV2_ENABLE_NLS )
285 285

  
286 286
IF( ICONV_FOUND )
287
    TARGET_LINK_LIBRARIES( exiv2lib ${ICONV_LIBRARIES} )
287
    TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${ICONV_LIBRARIES} )
288 288
ENDIF( ICONV_FOUND )
289 289

  
290 290
IF (CYGWIN OR MINGW)
291
    TARGET_LINK_LIBRARIES( exiv2lib psapi )
291
    TARGET_LINK_LIBRARIES( exiv2lib PRIVATE psapi )
292 292
ENDIF(CYGWIN OR MINGW)
293 293

  
294 294

  
......
303 303
# ******************************************************************************
304 304
# connection test application
305 305
ADD_EXECUTABLE( conntest ${CONNTEST} )
306
TARGET_LINK_LIBRARIES( conntest exiv2lib )
306
TARGET_LINK_LIBRARIES( conntest PRIVATE exiv2lib ${CURL_LIBRARIES} ${SSH_LIBRARIES})
307 307

  
308 308
# ******************************************************************************
309 309
# exifprint application
    (1-1/1)