diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 11c6bac5d..224653533 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -181,15 +181,20 @@ IF(DYNAMIC_OPENSCENEGRAPH) ADD_SUBDIRECTORY(osgviewerWX) ENDIF(wxWidgets_FOUND) - IF (QT_FOUND AND QT_QTOPENGL_LIBRARY) - ADD_SUBDIRECTORY(osgviewerQT) - IF (QT4_FOUND) - ADD_SUBDIRECTORY(osgviewerQtWidget) - ENDIF() - ENDIF() + IF (QT_FOUND) + OPTION(BUILD_QT_EXAMPLES "Enable the build of the examples that depend on Qt" ON) - IF (QT4_FOUND AND QT_QTWEBKIT_FOUND) - ADD_SUBDIRECTORY(osgQtBrowser) + IF (BUILD_QT_EXAMPLES AND QT_QTOPENGL_LIBRARY) + ADD_SUBDIRECTORY(osgviewerQT) + ENDIF() + + IF (BUILD_QT_EXAMPLES AND QT4_FOUND) + ADD_SUBDIRECTORY(osgviewerQtWidget) + + IF (QT_QTWEBKIT_FOUND) + ADD_SUBDIRECTORY(osgQtBrowser) + ENDIF() + ENDIF() ENDIF() IF (FLTK_FOUND) diff --git a/examples/osgmovie/CMakeLists.txt b/examples/osgmovie/CMakeLists.txt index f7d0fb296..157bac8a1 100644 --- a/examples/osgmovie/CMakeLists.txt +++ b/examples/osgmovie/CMakeLists.txt @@ -5,6 +5,9 @@ IF (SDL_FOUND) SET(TARGET_EXTERNAL_LIBRARIES ${SDL_LIBRARY} ) INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR} ) ADD_DEFINITIONS(-DUSE_SDL) + IF (MINGW) + SET(TARGET_EXTERNAL_LIBRARIES ${TARGET_EXTERNAL_LIBRARIES} winmm dinput ddraw dxguid) + ENDIF() ENDIF(SDL_FOUND) SET(TARGET_SRC osgmovie.cpp ) diff --git a/examples/osgviewerSDL/CMakeLists.txt b/examples/osgviewerSDL/CMakeLists.txt index 402ba6684..8498958ab 100644 --- a/examples/osgviewerSDL/CMakeLists.txt +++ b/examples/osgviewerSDL/CMakeLists.txt @@ -1,20 +1,25 @@ +SET(TARGET_EXTERNAL_LIBRARIES ${SDL_LIBRARY} ) + IF("${SDL_LIBRARY}" MATCHES "SDLmain") # Found a precompiled SDLmain library. SET(TARGET_SRC osgviewerSDL.cpp) -ELSE("${SDL_LIBRARY}" MATCHES "SDLmain") +ELSE() # No SDLmain has been found. # Depending on platform, code may need to be provided for SDLmain. IF(APPLE) SET(TARGET_SRC osgviewerSDL.cpp SDLMainForMacOSX.m SDLMainForMacOSX.h) - ELSE(APPLE) + ELSE() # Unhandled case. No libsdlmain has been found and no code substitute. # Depending on platform (or SDL version), # this may or may not link successfully. SET(TARGET_SRC osgviewerSDL.cpp) - ENDIF(APPLE) -ENDIF("${SDL_LIBRARY}" MATCHES "SDLmain") + SET(TARGET_EXTERNAL_LIBRARIES ${SDLMAIN_LIBRARY} ${TARGET_EXTERNAL_LIBRARIES} ) + ENDIF() +ENDIF() -SET(TARGET_EXTERNAL_LIBRARIES ${SDL_LIBRARY} ) +IF (MINGW) + SET(TARGET_EXTERNAL_LIBRARIES mingw32 ${TARGET_EXTERNAL_LIBRARIES} winmm dinput ddraw dxguid) +ENDIF() INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR} ) diff --git a/src/osgPlugins/curl/CMakeLists.txt b/src/osgPlugins/curl/CMakeLists.txt index 0b1ba41d3..a65ec32f2 100644 --- a/src/osgPlugins/curl/CMakeLists.txt +++ b/src/osgPlugins/curl/CMakeLists.txt @@ -1,14 +1,8 @@ -#this file is automatically generated - OPTION(CURL_IS_STATIC "on if curl is a static lib " ON) MARK_AS_ADVANCED(CURL_IS_STATIC) IF(WIN32) SET(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:MSVCRT") - IF(CURL_IS_STATIC) - ADD_DEFINITIONS(-DCURL_STATICLIB) - SET(TARGET_EXTERNAL_LIBRARIES ws2_32 winmm wldap32) - ENDIF() ENDIF() IF(ZLIB_FOUND) @@ -19,7 +13,7 @@ ELSE() ENDIF() -SET(TARGET_SRC +SET(TARGET_SRC ReaderWriterCURL.cpp ) @@ -28,11 +22,17 @@ SET(TARGET_H ) IF(ZLIB_FOUND) - SET(TARGET_LIBRARIES_VARS CURL_LIBRARY ZLIB_LIBRARY) + SET(TARGET_EXTERNAL_LIBRARIES ${CURL_LIBRARY} ${ZLIB_LIBRARY}) ELSE() - SET(TARGET_LIBRARIES_VARS CURL_LIBRARY ) + SET(TARGET_EXTERNAL_LIBRARIES ${CURL_LIBRARY}) ENDIF() +IF(WIN32 OR MINGW) + IF(CURL_IS_STATIC) + ADD_DEFINITIONS(-DCURL_STATICLIB) + SET(TARGET_EXTERNAL_LIBRARIES ${TARGET_EXTERNAL_LIBRARIES} ws2_32 winmm wldap32) + ENDIF() +ENDIF() #### end var setup ### SETUP_PLUGIN(curl) diff --git a/src/osgPlugins/jpeg/ReaderWriterJPEG.cpp b/src/osgPlugins/jpeg/ReaderWriterJPEG.cpp index 7ac103e04..66c9122e2 100644 --- a/src/osgPlugins/jpeg/ReaderWriterJPEG.cpp +++ b/src/osgPlugins/jpeg/ReaderWriterJPEG.cpp @@ -70,6 +70,14 @@ namespace osgDBJPEG static int jpegerror = ERR_NO_ERROR; +/* Some versions of jmorecfg.h define boolean, some don't... + Those that do also define HAVE_BOOLEAN, so we can guard using that. */ +#ifndef HAVE_BOOLEAN + typedef int boolean; + #define FALSE 0 + #define TRUE 1 +#endif + /* CODE FOR READING/WRITING JPEG FROM STREAMS * This code was taken directly from jdatasrc.c and jdatadst.c (libjpeg source) * and modified to use a std::istream/ostream* instead of a FILE* diff --git a/src/osgPlugins/png/ReaderWriterPNG.cpp b/src/osgPlugins/png/ReaderWriterPNG.cpp index e652e09f7..4ac82b8dd 100644 --- a/src/osgPlugins/png/ReaderWriterPNG.cpp +++ b/src/osgPlugins/png/ReaderWriterPNG.cpp @@ -178,7 +178,7 @@ class ReaderWriterPNG : public osgDB::ReaderWriter endinfo = png_create_info_struct(png); fin.read((char*)header,8); - if (fin.gcount() == 8 && png_check_sig(header, 8)) + if (fin.gcount() == 8 && png_sig_cmp(header, 0, 8) == 0) png_set_read_fn(png,&fin,png_read_istream); //Use custom read function that will get data from istream else { @@ -229,7 +229,7 @@ class ReaderWriterPNG : public osgDB::ReaderWriter if (color == PNG_COLOR_TYPE_PALETTE) png_set_palette_to_rgb(png); if (color == PNG_COLOR_TYPE_GRAY && depth < 8) - png_set_gray_1_2_4_to_8(png); + png_set_expand_gray_1_2_4_to_8(png); if (png_get_valid(png, info, PNG_INFO_tRNS)) png_set_tRNS_to_alpha(png);