From 5c780aada06920279d6ea4fee3704250ec6eabbc Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Tue, 27 Mar 2007 21:44:02 +0000 Subject: [PATCH] From Luigi Calori, "here is a patch to use Mike 3rdParty dependencies It should not be introusive to any other palatform apart MSVC, but in order to link to debug-specific libs I had to change plugins CMakeLists to differentiate debug/release linkage, I have used the same macro used in core libs Now the macro used for plugin and examples linking test for existance of TARGET_LIBRARIES_VARS that holds the names of the variables that have to be used for linking" --- CMakeLists.txt | 7 +++++-- CMakeModules/OsgMacroUtils.cmake | 8 +++++--- examples/osgGLUTkeyboardmouse/CMakeLists.txt | 4 ++-- examples/osgGLUTsimple/CMakeLists.txt | 3 ++- examples/osgsimpleviewerGLUT/CMakeLists.txt | 3 ++- src/osgPlugins/freetype/CMakeLists.txt | 2 +- src/osgPlugins/gif/CMakeLists.txt | 3 +-- src/osgPlugins/jpeg/CMakeLists.txt | 3 +-- src/osgPlugins/png/CMakeLists.txt | 3 +-- src/osgPlugins/tiff/CMakeLists.txt | 3 +-- 10 files changed, 21 insertions(+), 18 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7921ed4b7..7bc1684b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,8 +9,8 @@ SET(CMAKE_MODULE_PATH "${OpenSceneGraph_SOURCE_DIR}/CMakeModules;${CMAKE_MODULE_ # Mainly for Windows as a convenience. This will find a directory in parallel with the # OSG source that contains 3rd party headers and libraries. # Use of relative paths in CMake is ill-advised, but don't know of any alternatives in this case -SET(CMAKE_INCLUDE_PATH "${OpenSceneGraph_SOURCE_DIR}/../3rdParty/include;${CMAKE_INCLUDE_PATH}") -SET(CMAKE_LIBRARY_PATH "${OpenSceneGraph_SOURCE_DIR}/../3rdParty/lib;${CMAKE_LIBRARY_PATH}") +#SET(CMAKE_INCLUDE_PATH "${OpenSceneGraph_SOURCE_DIR}/../3rdParty/include;${CMAKE_INCLUDE_PATH}") +#SET(CMAKE_LIBRARY_PATH "${OpenSceneGraph_SOURCE_DIR}/../3rdParty/lib;${CMAKE_LIBRARY_PATH}") IF(USING_OSG_OP_OT_TRIPLE_SET) SET(CMAKE_INCLUDE_PATH "${OpenSceneGraph_SOURCE_DIR}/../../3rdParty/include;${CMAKE_INCLUDE_PATH}") SET(CMAKE_LIBRARY_PATH "${OpenSceneGraph_SOURCE_DIR}/../../3rdParty/lib;${CMAKE_LIBRARY_PATH}") @@ -107,6 +107,9 @@ ENDIF(WIN32) ################################################################################ # 3rd Party Dependency Stuff +IF(MSVC) + INCLUDE(Find3rdPartyDependencies) +ENDIF(MSVC) # Common to all platforms: FIND_PACKAGE(FreeType) diff --git a/CMakeModules/OsgMacroUtils.cmake b/CMakeModules/OsgMacroUtils.cmake index 70b255b95..7fd7e33e5 100644 --- a/CMakeModules/OsgMacroUtils.cmake +++ b/CMakeModules/OsgMacroUtils.cmake @@ -82,13 +82,15 @@ MACRO(SETUP_LINK_LIBRARIES) ENDFOREACH(LINKLIB) FOREACH(LINKLIB ${TARGET_LIBRARIES}) - TARGET_LINK_LIBRARIES(${TARGET_TARGETNAME} optimized ${LINKLIB} debug "${LINKLIB}${CMAKE_DEBUG_POSTFIX}") + TARGET_LINK_LIBRARIES(${TARGET_TARGETNAME} optimized ${LINKLIB} debug "${LINKLIB}${CMAKE_DEBUG_POSTFIX}") ENDFOREACH(LINKLIB) FOREACH(LINKLIB ${TARGET_EXTERNAL_LIBRARIES}) - TARGET_LINK_LIBRARIES(${TARGET_TARGETNAME} ${LINKLIB}) + TARGET_LINK_LIBRARIES(${TARGET_TARGETNAME} ${LINKLIB}) ENDFOREACH(LINKLIB) - + IF(TARGET_LIBRARIES_VARS) + LINK_WITH_VARIABLES(${TARGET_TARGETNAME} ${TARGET_LIBRARIES_VARS}) + ENDIF(TARGET_LIBRARIES_VARS) ENDMACRO(SETUP_LINK_LIBRARIES) ############################################################################################ diff --git a/examples/osgGLUTkeyboardmouse/CMakeLists.txt b/examples/osgGLUTkeyboardmouse/CMakeLists.txt index 207a09d77..1595f6d27 100644 --- a/examples/osgGLUTkeyboardmouse/CMakeLists.txt +++ b/examples/osgGLUTkeyboardmouse/CMakeLists.txt @@ -1,6 +1,6 @@ SET(TARGET_SRC osgGLUTkeyboardmouse.cpp ) - -SET(TARGET_EXTERNAL_LIBRARIES ${GLUT_glut_LIBRARY} ) +INCLUDE_DIRECTORIES( ${GLUT_INCLUDE_DIR} ) +SET(TARGET_LIBRARIES_VARS GLUT_glut_LIBRARY ) #### end var setup ### SETUP_EXAMPLE(osgGLUTkeyboardmouse) diff --git a/examples/osgGLUTsimple/CMakeLists.txt b/examples/osgGLUTsimple/CMakeLists.txt index 9c51f9f13..628dc3a89 100644 --- a/examples/osgGLUTsimple/CMakeLists.txt +++ b/examples/osgGLUTsimple/CMakeLists.txt @@ -1,6 +1,7 @@ SET(TARGET_SRC osgGLUTsimple.cpp ) -SET(TARGET_EXTERNAL_LIBRARIES ${GLUT_glut_LIBRARY} ) +INCLUDE_DIRECTORIES( ${GLUT_INCLUDE_DIR} ) +SET(TARGET_LIBRARIES_VARS GLUT_glut_LIBRARY ) #### end var setup ### SETUP_EXAMPLE(osgGLUTsimple) diff --git a/examples/osgsimpleviewerGLUT/CMakeLists.txt b/examples/osgsimpleviewerGLUT/CMakeLists.txt index b7b1b74a7..b7852a5b8 100644 --- a/examples/osgsimpleviewerGLUT/CMakeLists.txt +++ b/examples/osgsimpleviewerGLUT/CMakeLists.txt @@ -1,6 +1,7 @@ SET(TARGET_SRC osgsimpleviewerGLUT.cpp ) -SET(TARGET_EXTERNAL_LIBRARIES ${GLUT_glut_LIBRARY} ) +INCLUDE_DIRECTORIES( ${GLUT_INCLUDE_DIR} ) +SET(TARGET_LIBRARIES_VARS GLUT_glut_LIBRARY ) #### end var setup ### SETUP_EXAMPLE(osgsimpleviewerGLUT) diff --git a/src/osgPlugins/freetype/CMakeLists.txt b/src/osgPlugins/freetype/CMakeLists.txt index aa9eeed0c..3492b0a19 100644 --- a/src/osgPlugins/freetype/CMakeLists.txt +++ b/src/osgPlugins/freetype/CMakeLists.txt @@ -10,6 +10,6 @@ SET(TARGET_SRC FreeTypeFont.cpp FreeTypeLibrary.cpp ReaderWriterFreeType.cpp ) SET(TARGET_H FreeTypeFont.h FreeTypeLibrary.h ) SET(TARGET_ADDED_LIBRARIES osgText ) -SET(TARGET_EXTERNAL_LIBRARIES ${FREETYPE_LIBRARY} ) +SET(TARGET_LIBRARIES_VARS FREETYPE_LIBRARY ) #### end var setup ### SETUP_PLUGIN(freetype) diff --git a/src/osgPlugins/gif/CMakeLists.txt b/src/osgPlugins/gif/CMakeLists.txt index 8344151ce..70741706b 100644 --- a/src/osgPlugins/gif/CMakeLists.txt +++ b/src/osgPlugins/gif/CMakeLists.txt @@ -2,11 +2,10 @@ INCLUDE_DIRECTORIES( ${GIFLIB_INCLUDE_DIR} ) - LINK_DIRECTORIES( ${GIFLIB_DIR}/lib ) SET(TARGET_SRC ReaderWriterGIF.cpp ) -SET(TARGET_EXTERNAL_LIBRARIES ${GIFLIB_LIBRARY} ) +SET(TARGET_LIBRARIES_VARS GIFLIB_LIBRARY ) #### end var setup ### SETUP_PLUGIN(gif) diff --git a/src/osgPlugins/jpeg/CMakeLists.txt b/src/osgPlugins/jpeg/CMakeLists.txt index 0e985bb8c..dba3be847 100644 --- a/src/osgPlugins/jpeg/CMakeLists.txt +++ b/src/osgPlugins/jpeg/CMakeLists.txt @@ -2,10 +2,9 @@ INCLUDE_DIRECTORIES( ${JPEG_INCLUDE_DIR} ) - LINK_DIRECTORIES( ${JPEG_DIR}/lib ) SET(TARGET_SRC ReaderWriterJPEG.cpp ) -SET(TARGET_EXTERNAL_LIBRARIES ${JPEG_LIBRARY} ) +SET(TARGET_LIBRARIES_VARS JPEG_LIBRARY ) #### end var setup ### SETUP_PLUGIN(jpeg) diff --git a/src/osgPlugins/png/CMakeLists.txt b/src/osgPlugins/png/CMakeLists.txt index 5fc72b8fc..fbb5c360a 100644 --- a/src/osgPlugins/png/CMakeLists.txt +++ b/src/osgPlugins/png/CMakeLists.txt @@ -2,11 +2,10 @@ INCLUDE_DIRECTORIES( ${PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} ) -LINK_DIRECTORIES( ${ZLIB_DIR}/lib ${PNG_DIR}/lib ) SET(TARGET_SRC ReaderWriterPNG.cpp ) -SET(TARGET_EXTERNAL_LIBRARIES ${PNG_LIBRARY} ${ZLIB_LIBRARY} ) +SET(TARGET_LIBRARIES_VARS PNG_LIBRARY ZLIB_LIBRARY ) #### end var setup ### SETUP_PLUGIN(png) diff --git a/src/osgPlugins/tiff/CMakeLists.txt b/src/osgPlugins/tiff/CMakeLists.txt index 7ac5443db..4c423c5d6 100644 --- a/src/osgPlugins/tiff/CMakeLists.txt +++ b/src/osgPlugins/tiff/CMakeLists.txt @@ -2,10 +2,9 @@ INCLUDE_DIRECTORIES( ${TIFF_INCLUDE_DIR} ) - LINK_DIRECTORIES( ${TIFF_DIR}/lib ) SET(TARGET_SRC ReaderWriterTIFF.cpp ) -SET(TARGET_EXTERNAL_LIBRARIES ${TIFF_LIBRARY} ) +SET(TARGET_LIBRARIES_VARS TIFF_LIBRARY) #### end var setup ### SETUP_PLUGIN(tiff)