Hi David,

Thanks for the changes.  I've reviewed them, and think I understand them...
but I can't test them as I have no Windows box, so I'll make the assumption
that you've done the testing and they work... and if they don't the
community with catch the problems, so I'd appreciate if you can could keep
an eye out for reports of problems that might be related to these changes.

Changes now merged and submitted to svn/trunk.

Cheers,
Robert.

On Mon, Mar 1, 2010 at 9:51 PM, David Fries <[email protected]> wrote:

> This improves the out of box detection of the 3rd party libraries for
> Windows.  If the 3rdparty directory isn't available it will use the
> directory names subversion uses such as 3rdParty_win32binaries_vs71
> 3rdParty_win32binaries_vs80sp1 3rdParty_win32binaries_vs90sp1.  That
> helps when as we are building both vs71 and vs80, and probably vs90 in
> the future at the same time in addition to not having to rename the
> directory once it is downloaded.  It also adds the _i suffix to match
> some of the libraries.
>
> --
> David Fries <[email protected]>
> http://fries.net/~david/ <http://fries.net/%7Edavid/> (PGP encryption key
> available)
>
>
> diff --git a/CMakeModules/Find3rdPartyDependencies.cmake
> b/CMakeModules/Find3rdPartyDependencies.cmake
> index 882134a..5557b4b 100644
> --- a/CMakeModules/Find3rdPartyDependencies.cmake
> +++ b/CMakeModules/Find3rdPartyDependencies.cmake
> @@ -3,9 +3,9 @@
>  # all the paramenter are required, in case of lists, use "" in calling
>
>  
> ################################################################################################
>
> -MACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES SEARCHPATHLIST
> DEBUGSUFFIX)
> +MACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES_BASE
> SEARCHPATHLIST DEBUGSUFFIX EXSUFFIX)
>
> -    MESSAGE(STATUS "searching ${DEPNAME}
> -->${INCLUDEFILE}<-->${LIBRARY_NAMES}<-->${SEARCHPATHLIST}<--")
> +    MESSAGE(STATUS "searching ${DEPNAME}
> -->${INCLUDEFILE}<-->${LIBRARY_NAMES_BASE}<-->${SEARCHPATHLIST}<--")
>
>     SET(MY_PATH_INCLUDE )
>     SET(MY_PATH_LIB )
> @@ -22,14 +22,18 @@ MACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES
> SEARCHPATHLIST DEBUGSUFF
>     MARK_AS_ADVANCED("${DEPNAME}_INCLUDE_DIR")
>     #MESSAGE( " ${DEPNAME}_INCLUDE_DIR --> ${${DEPNAME}_INCLUDE_DIR}<--")
>
> -    FIND_LIBRARY("${DEPNAME}_LIBRARY"
> +    SET(LIBRARY_NAMES "")
> +    FOREACH(LIBNAME ${LIBRARY_NAMES_BASE})
> +        LIST(APPEND LIBRARY_NAMES "${LIBNAME}${EXSUFFIX}")
> +    ENDFOREACH(LIBNAME)
> +    FIND_LIBRARY("${DEPNAME}_LIBRARY"
>         NAMES ${LIBRARY_NAMES}
>       PATHS ${MY_PATH_LIB}
>       NO_DEFAULT_PATH
>     )
>     SET(LIBRARY_NAMES_DEBUG "")
> -    FOREACH(LIBNAME ${LIBRARY_NAMES})
> -        LIST(APPEND LIBRARY_NAMES_DEBUG "${LIBNAME}${DEBUGSUFFIX}")
> +    FOREACH(LIBNAME ${LIBRARY_NAMES_BASE})
> +        LIST(APPEND LIBRARY_NAMES_DEBUG
> "${LIBNAME}${DEBUGSUFFIX}${EXSUFFIX}")
>     ENDFOREACH(LIBNAME)
>     FIND_LIBRARY("${DEPNAME}_LIBRARY_DEBUG"
>         NAMES ${LIBRARY_NAMES_DEBUG}
> @@ -46,7 +50,7 @@ MACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES
> SEARCHPATHLIST DEBUGSUFF
>           SET(${DEPNAME}_LIBRARY_DEBUG "${${DEPNAME}_LIBRARY}")
>       ENDIF(NOT ${DEPNAME}_LIBRARY_DEBUG)
>     ENDIF(${DEPNAME}_INCLUDE_DIR AND ${DEPNAME}_LIBRARY)
> -ENDMACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES SEARCHPATHLIST
> DEBUGSUFFIX)
> +ENDMACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE LIBRARY_NAMES_BASE
> SEARCHPATHLIST DEBUGSUFFIX)
>
>
>
>  
> ################################################################################################
> @@ -54,8 +58,8 @@ ENDMACRO(FIND_DEPENDENCY DEPNAME INCLUDEFILE
> LIBRARY_NAMES SEARCHPATHLIST DEBUGS
>
>  
> ################################################################################################
>
>  MACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN)
> -        FIND_DEPENDENCY(TIFF tiff.h libtiff ${OSG_3RDPARTY_BIN} "D")
> -        FIND_DEPENDENCY(FREETYPE ft2build.h
> "freetype;freetype234;freetype234MT;freetype235;freetype237"
> ${OSG_3RDPARTY_BIN} "_D")
> +        FIND_DEPENDENCY(TIFF tiff.h libtiff ${OSG_3RDPARTY_BIN} "D" "_i")
> +        FIND_DEPENDENCY(FREETYPE ft2build.h
> "freetype;freetype234;freetype234MT;freetype235;freetype237;freetype238"
> ${OSG_3RDPARTY_BIN} "d" "")
>         IF(FREETYPE_FOUND)
>             #forcing subsequent FindFreeType stuff to not search for other
> variables.... kind of a hack
>             SET(FREETYPE_INCLUDE_DIR_ft2build ${FREETYPE_INCLUDE_DIR} CACHE
> PATH "" FORCE)
> @@ -63,19 +67,19 @@ MACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN)
>             MARK_AS_ADVANCED(FREETYPE_INCLUDE_DIR_ft2build
> FREETYPE_INCLUDE_DIR_freetype2)
>             SET(FREETYPE_INCLUDE_DIRS
> "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
>         ENDIF(FREETYPE_FOUND)
> -        FIND_DEPENDENCY(CURL curl/curl.h "libcurl;curllib"
> ${OSG_3RDPARTY_BIN} "D")
> -        FIND_DEPENDENCY(JPEG jpeglib.h libjpeg ${OSG_3RDPARTY_BIN} "D")
> -        #FIND_DEPENDENCY(GDAL gdal.h "gdal;gdal_i" ${OSG_3RDPARTY_BIN})
> -        FIND_DEPENDENCY(GLUT GL/glut.h glut32 ${OSG_3RDPARTY_BIN} "D")
> +        FIND_DEPENDENCY(CURL curl/curl.h "libcurl;curllib"
> ${OSG_3RDPARTY_BIN} "D" "")
> +        FIND_DEPENDENCY(JPEG jpeglib.h libjpeg ${OSG_3RDPARTY_BIN} "D" "")
> +        FIND_DEPENDENCY(GDAL gdal.h "gdal;gdal16" ${OSG_3RDPARTY_BIN} "d"
> "_i")
> +        FIND_DEPENDENCY(GLUT GL/glut.h glut32 ${OSG_3RDPARTY_BIN} "D" "")
>         IF(GLUT_FOUND)
>             #forcing subsequent FindGlut stuff to not search for other
> variables.... kind of a hack
>             SET(GLUT_glut_LIBRARY ${GLUT_LIBRARY} CACHE FILEPATH "")
>             MARK_AS_ADVANCED(GLUT_glut_LIBRARY)
>         ENDIF(GLUT_FOUND)
> -        FIND_DEPENDENCY(GIFLIB gif_lib.h "ungif;libungif"
> ${OSG_3RDPARTY_BIN} "D")
> -        FIND_DEPENDENCY(ZLIB zlib.h "z;zlib;zlib1" ${OSG_3RDPARTY_BIN}
> "D")
> +        FIND_DEPENDENCY(GIFLIB gif_lib.h "ungif;libungif"
> ${OSG_3RDPARTY_BIN} "D" "")
> +        FIND_DEPENDENCY(ZLIB zlib.h "z;zlib;zlib1" ${OSG_3RDPARTY_BIN} "D"
> "")
>         IF(ZLIB_FOUND)
> -            FIND_DEPENDENCY(PNG png.h "libpng;libpng13"
> ${OSG_3RDPARTY_BIN} "D")
> +            FIND_DEPENDENCY(PNG png.h "libpng;libpng13"
> ${OSG_3RDPARTY_BIN} "D" "")
>             IF(PNG_FOUND)
>                 #forcing subsequent FindPNG stuff to not search for other
> variables.... kind of a hack
>                 SET(PNG_PNG_INCLUDE_DIR ${PNG_INCLUDE_DIR} CACHE FILEPATH
> "")
> @@ -95,7 +99,17 @@ ENDMACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN)
>  OPTION(USE_3DPARTY_BIN "Set to ON to use Mike prebuilt dependencies
> situated side of OpenSceneGraph source.  Use OFF for avoiding." ON)
>  IF(USE_3DPARTY_BIN)
>     GET_FILENAME_COMPONENT(PARENT_DIR ${PROJECT_SOURCE_DIR} PATH)
> -    SET(ACTUAL_3DPARTY_DIR "${PARENT_DIR}/3rdparty" CACHE PATH "Location
> of 3rdparty dependencies")
> +    SET(TEST_3DPARTY_DIR "${PARENT_DIR}/3rdparty")
> +    IF(NOT EXISTS ${TEST_3DPARTY_DIR})
> +        IF(MSVC71)
> +            SET(TEST_3DPARTY_DIR
> "${PARENT_DIR}/3rdParty_win32binaries_vs71")
> +        ELSEIF(MSVC80)
> +            SET(TEST_3DPARTY_DIR
> "${PARENT_DIR}/3rdParty_win32binaries_vs80sp1")
> +        ELSEIF(MSVC90)
> +            SET(TEST_3DPARTY_DIR
> "${PARENT_DIR}/3rdParty_win32binaries_vs90sp1")
> +        ENDIF()
> +    ENDIF(NOT EXISTS ${TEST_3DPARTY_DIR})
> +    SET(ACTUAL_3DPARTY_DIR "${TEST_3DPARTY_DIR}" CACHE PATH "Location of
> 3rdparty dependencies")
>     IF(EXISTS ${ACTUAL_3DPARTY_DIR})
>         SEARCH_3RDPARTY(${ACTUAL_3DPARTY_DIR})
>     ENDIF(EXISTS ${ACTUAL_3DPARTY_DIR})
>
> _______________________________________________
> osg-submissions mailing list
> [email protected]
>
> http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org
>
>
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to