From f6eaa58c569f21f53ca3db64adcc9bfe78d4ba98 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 14 Sep 2007 11:06:12 +0000 Subject: [PATCH] From Andy Skinner, added support for ot-soversion-OpenThreads.dll dll naming under Windows --- CMakeModules/OsgMacroUtils.cmake | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/CMakeModules/OsgMacroUtils.cmake b/CMakeModules/OsgMacroUtils.cmake index 9c4a73e79..4f63ac0d8 100644 --- a/CMakeModules/OsgMacroUtils.cmake +++ b/CMakeModules/OsgMacroUtils.cmake @@ -277,6 +277,7 @@ MACRO(SETUP_COMMANDLINE_EXAMPLE EXAMPLE_NAME) ENDMACRO(SETUP_COMMANDLINE_EXAMPLE) +# Takes two optional arguments -- osg prefix and osg version MACRO(HANDLE_MSVC_DLL) #this is a hack... the build place is set to lib/ by LIBARARY_OUTPUT_PATH equal to OUTPUT_LIBDIR #the .lib will be crated in ../ so going straight in lib by the IMPORT_PREFIX property @@ -284,7 +285,24 @@ MACRO(HANDLE_MSVC_DLL) #it is hardcoded, we should compute OUTPUT_BINDIR position relative to OUTPUT_LIBDIR ... to be implemented #changing bin to something else breaks this hack #the dll are versioned by prefixing the name with osg${OPENSCENEGRAPH_SOVERSION}- + + # LIB_PREFIX: use "osg" by default, else whatever we've been given. + IF(${ARGC} GREATER 0) + SET(LIB_PREFIX ${ARGV0}) + ELSE(${ARGC} GREATER 0) + SET(LIB_PREFIX osg) + ENDIF(${ARGC} GREATER 0) + + # LIB_SOVERSION: use OSG's soversion by default, else whatever we've been given + IF(${ARGC} GREATER 1) + SET(LIB_SOVERSION ${ARGV1}) + ELSE(${ARGC} GREATER 1) + SET(LIB_SOVERSION ${OPENSCENEGRAPH_SOVERSION}) + ENDIF(${ARGC} GREATER 1) - SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX "../../bin/osg${OPENSCENEGRAPH_SOVERSION}-") - SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES IMPORT_PREFIX "../") + SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX "../../bin/${LIB_PREFIX}${LIB_SOVERSION}-") + SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES IMPORT_PREFIX "../") + +# SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX "../../bin/osg${OPENSCENEGRAPH_SOVERSION}-") +# SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES IMPORT_PREFIX "../") ENDMACRO(HANDLE_MSVC_DLL)