From 3ec1a5618f95491a0c0451eee6390a2cd2883f88 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Thu, 11 Feb 2010 11:13:01 +0000 Subject: [PATCH] From Wang Rui, "Just a minor fix of the src/osgDB/CMakeLists.txt, change: SET(COMPRESSION_LIBRARIES ${ZLIB_LIBRARY}) ... LINK_EXTERNAL(${LIB_NAME} ${OSGDB_PLATFORM_SPECIFIC_LIBRARIES}) to SET(COMPRESSION_LIBRARIES ZLIB_LIBRARY) ... LINK_EXTERNAL(${LIB_NAME} ${OSGDB_PLATFORM_SPECIFIC_LIBRARIES} ${COMPRESSION_LIBRARIES}) LINK_WITH_VARIABLES(${LIB_NAME} ${COMPRESSION_LIBRARIES}) I notice that the LINK_EXTERNAL macro won't distinguish between debug and release dependences, which means that osgDB will use the release version of zlib for all build configurations. Under Win32, this will cause a manifest problem: all applications using osgDB may complain "failed to start because msvcr80.dll was not found" or similar messages. This change will make it back to normal." --- src/osgDB/CMakeLists.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/osgDB/CMakeLists.txt b/src/osgDB/CMakeLists.txt index 6f53f93b1..89c2c7d28 100644 --- a/src/osgDB/CMakeLists.txt +++ b/src/osgDB/CMakeLists.txt @@ -126,7 +126,7 @@ ENDIF() IF( ZLIB_FOUND ) ADD_DEFINITIONS( -DUSE_ZLIB ) INCLUDE_DIRECTORIES( ${ZLIB_INCLUDE_DIR} ) - SET(COMPRESSION_LIBRARIES ${ZLIB_LIBRARY}) + SET(COMPRESSION_LIBRARIES ZLIB_LIBRARY) ENDIF() ADD_DEFINITIONS(-DOSG_PLUGIN_EXTENSION=${CMAKE_SHARED_MODULE_SUFFIX}) @@ -135,7 +135,8 @@ LINK_INTERNAL(${LIB_NAME} osg OpenThreads ) -LINK_EXTERNAL(${LIB_NAME} ${OSGDB_PLATFORM_SPECIFIC_LIBRARIES} ${COMPRESSION_LIBRARIES}) +LINK_EXTERNAL(${LIB_NAME} ${OSGDB_PLATFORM_SPECIFIC_LIBRARIES}) +LINK_WITH_VARIABLES(${LIB_NAME} ${COMPRESSION_LIBRARIES}) LINK_CORELIB_DEFAULT(${LIB_NAME}) IF( ZLIB_FOUND )