Commit Graph

394 Commits

Author SHA1 Message Date
Robert Osfield
c2ae14f94d From Erik den Dekker, "
IF(${CMAKE_OSX_SYSROOT} STREQUAL "/Developer/SDKs/MacOSX10.7.sdk")
...

            ELSEIF(${CMAKE_OSX_SYSROOT} STREQUAL "/Developer/SDKs/MacOSX10.5.sdk" OR ${CMAKE_OSX_SYSROOT} STREQUAL "/Developer/SDKs/MacOSX10.6.sdk")

...

ELSEIF(EXISTS /Developer/SDKs/MacOSX10.4u.sdk)
...

            ELSE()

...

            ENDIF()


Which is fragile because XCode could be installed into another directory than /Developer. (In case XCode is not installed into the /Developer directory CMake can automatically resolve the path via command line utility ${CMAKE_XCODE_SELECT} --print-path)

This issue bites me currently because the latest XCode (Version 4.3.1 - 4E1019) installed through the Mac App Store is per default installed in "/Applications/Xcode.app/Contents/Developer" and hence the 10.7 SDK in "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk"

Searching the web to find the proper way to determine the version of the Platform SDK programmatically, I found no standard way. I came up with 2 options myself:

1) Parse the path string to extract the version number

2) Read a value from the SDKSettings.plist found in the root of each SDK  (e.g., "defaults read ${CMAKE_OSX_ROOT}/SDKSettings.plist CanonicalName" gives "macosx10.7")

I implemented the last option and verified that at least the following Mac OS SDKs (10.3.9, 10.4, 10.5, 10.6, 10.7) support this method. It also looks reasonably future proof. An additional benefit of this method is that it also seems to be compatible with iOS and iOS Simulator SDKs (at least for version 5.1, but I assume this also applies to older versions). This is interesting because the CMake infrastructure to build OSG for iOS currently still contains similar hard-coded paths and even requires you to manually change the cmake file to build for another iOS SDK version. In the near future I hope to address these issues, but I haven't been able to try this yet."
2012-03-23 10:18:27 +00:00
Robert Osfield
cee53f6adc Updated version number 2012-03-21 11:26:09 +00:00
Robert Osfield
fc6fdeaa2c Updated version number for 3.1.1 dev release 2012-03-08 16:33:44 +00:00
Robert Osfield
0b88ad24b2 From Olaf Flebbe, "Macos X cleanup:
I added AFAIK proper defaults for several Macos X Version API targets.

* In order to determine which defaults to apply, consult the  CMAKE_OSX_SYSROOT variable pointing to the used SDK, not the pure existence of an SDK.

* Defaults are now:
10.7: Support Intel 32 and 64 Bit Cocoa with imageio picture reader
10.6 + 10.5: Support Cocoa with imageio on Intel and PowerPC
10.4: Carbon, Quicktime and PowerPC

Now OSG compiles out of the box for MacOSX  10.7. , tested with gcc and clang with FlightGear."
2012-02-21 11:30:07 +00:00
Robert Osfield
5a396c91e6 From Martin Lambers, "It adds a new ReaderWriter plugin for the GTA file format
(http://gta.nongnu.org). This allows to read and write floating point
image data. Unlike other formats, GTA also allows very good compression
ratios for floating point data. The compression method can be selected
with the COMPRESSION option of the plugin.
"
2012-02-17 16:45:49 +00:00
Robert Osfield
e867f6bcd7 From Paul Martz, "This change clarifies the description for OSG_GL_VERTEX_ARRAY_FUNCS_AVAILABLE." 2012-02-08 10:50:04 +00:00
Robert Osfield
aa14f603d1 From Ulrich Hertlein, fixed build problem due to cmake_policy CMP0017 being only available from cmake-2.8.4, added guard to prevent build problems 2011-10-20 10:52:32 +00:00
Robert Osfield
3fd407a60e Improved handling of recent Cmake versions 2011-10-20 09:23:26 +00:00
Robert Osfield
c35fdf7333 From Jean-Sebastien Guay, "I added a simple setting in OSG's CMakeLists.txt to be able to disable building anything related to Qt. It just skips the FindPackage(...) for Qt3 and Qt4, so since they are not found nothing related to Qt will be generated by CMake. The default is to build the Qt related stuff, so current behavior is unchanged." 2011-09-13 09:53:34 +00:00
Robert Osfield
c8de3b70ca Updated SO version number to 90 to allow for recent changes to the ABI, and to set the base for the 3.1.0 series. 2011-09-12 10:46:42 +00:00
Robert Osfield
389c2e6407 Updated version to 3.1.0 in prep for the first developer release for 3.x series 2011-06-17 16:55:49 +00:00
Robert Osfield
f04e841933 Updated version number of 3.0.0-rc1 2011-06-17 09:02:22 +00:00
Robert Osfield
c0b2e12d28 From Jorge Ciges, "This is one of those bugs that you don't find until you try to compile under another pc that doesn't have Cmake 2.8." 2011-06-17 08:15:18 +00:00
Robert Osfield
bfe4877b9a Updated version 2011-06-14 15:55:36 +00:00
Robert Osfield
ecfe8dbfbb Updated version and so number for next dev release 2011-06-02 14:42:21 +00:00
Robert Osfield
6c94ea13eb From Jean-Sebastien Guay, "I like the recent addition that adds folders in the solution tree to better organize the numerous examples, libraries, plugins etc.
I added two folders that were missing IMHO: packaging and documentation.
"
2011-05-27 09:08:48 +00:00
Robert Osfield
bf7759829e From Olaf Flebbe, fixes for OSX AGL build 2011-05-25 09:34:02 +00:00
Robert Osfield
d4be7a19eb Updated SO version as the osgText and osgQt libraries API have changed, albeit only by a small amount. 2011-05-13 19:19:00 +00:00
Robert Osfield
c9f5be090a Updated version number to 2.9.15 after dev release 2011-05-08 12:06:25 +00:00
Robert Osfield
cb5a8495a7 Updated SO version number for dev release 2011-05-06 09:26:14 +00:00
Robert Osfield
7c49e69042 Updated version after 2.9.13 dev release 2011-04-26 15:24:21 +00:00
Robert Osfield
478e0f3ebf From Jorge Ciges, "1rst - Changes in Cmake: They make possible "make install" with the android building.
2nd - Script to use a 3rd party directory with basic libraries: libjpeg,libpng,libtiff,giflib,freetype,curl,gdal.

3rd - Change in the GLES library loading for Android. That should make GLES2 work properly.

4rth- Included two defines RGB8_OES and RGBA8_OES as a substitute in GLES for RGB8 and RGBA8

5th - OpenGL and GLSL version identification changed to recognize GLES  versions properly
"
2011-04-21 12:53:22 +00:00
Robert Osfield
581e6fb630 Ran svn propset -R svn:eol-style native . on the OpenSceneGraph 2011-04-19 11:40:22 +00:00
Robert Osfield
c1cd0c4f3b Updated SO version number 2011-04-18 12:58:28 +00:00
Robert Osfield
5fb7f69108 Added IF (WIN32) around OSG_USE_UTF8_FILENAME 2011-04-14 15:21:53 +00:00
Robert Osfield
db4b31f804 From Alan Dickinson,"I tested out my changes against the trunk and everything worked fine... except I noticed that the CMAKE_BUILD_POSTFIX is set incorrectly for a undefined or blank BUILD_TYPE.
So here is the one line change to the CMakeLists.txt to rectify this omission."
2011-03-16 13:41:39 +00:00
Robert Osfield
d33d8c5626 From Alan Dickinson, "I modified the CPack and CMake files to utilze the CMAKE_INSTALL_PREFIX when building RPM packages.
I also modified the CMake and pkgconfig files to append the _POSTFIX extenstion based on the CMAKE_BUILD_TYPE.

Additionally I fixed packaging/ld.so.conf.d/openscenegraph.conf.in to add a '/' betweeen the arguments since the CMAKE_INSTALL_PREFIX can't end with a '/'.
"
2011-03-11 10:18:43 +00:00
Robert Osfield
3034ef3473 From Tassilo Glander,"I patched the cmake configuration to support folders, which are really handy to organize the many projects in the OSG solution into examples, applications and core libs in the IDE.
This feature has been introduced to cmake in 2.8.3, on older versions it should be ignored silently. I tested on Visual Studio 2008 with cmake 2.8.3 and 2.8.4.

See the screenshots for comparison [img]osg_solution.png[/img]

This needs few changes:

activate on global cmakelist.txt:

[code]set_property(GLOBAL PROPERTY USE_FOLDERS On)[/code]

set appropriate folder names for project type in osgMacroUtils.cmake:

[code]SET_TARGET_PROPERTIES(${CORELIB_NAME} PROPERTIES FOLDER "OSG Core")[/code]

similar for examples, applications"
2011-03-09 13:05:59 +00:00
Robert Osfield
5447e70b68 Updated versions for next OSG dev release 2011-03-09 11:06:36 +00:00
Robert Osfield
b24353b12c From Rafa Gaitan and Jorge Izquierdo, build support for Android NDK.
"- In order to build against GLES1 we execute:
$ mkdir build_android_gles1
$ cd build_android_gles1
$ cmake .. -DOSG_BUILD_PLATFORM_ANDROID=ON -DDYNAMIC_OPENTHREADS=OFF
-DDYNAMIC_OPENSCENEGRAPH=OFF -DANDROID_NDK=<path_to_android_ndk>/
-DOSG_GLES1_AVAILABLE=ON -DOSG_GL1_AVAILABLE=OFF
-DOSG_GL2_AVAILABLE=OFF -DOSG_GL_DISPLAYLISTS_AVAILABLE=OFF -DJ=2
-DOSG_CPP_EXCEPTIONS_AVAILABLE=OFF
$ make
 If all is correct you will have and static OSG inside:
build_android_gles1/bin/ndk/local/armeabi.

- GLES2 is not tested/proved, but I think it could be possible build
it with the correct cmake flags.
- The flag -DJ=2 is used to pass to the ndk-build the number of
processors to speed up the building.
- make install is not yet supported."
2011-03-08 16:35:37 +00:00
Robert Osfield
7c30f204e8 Updated so version number 2011-01-13 18:49:12 +00:00
Robert Osfield
1b67e3ad1f Added ImageProcessor interface class and plugin mechnanism for ImageProcessor implementations to osgDB::Registry.
Add NVidiaTextureTools based plugin that provides an ImageProcessor implementation within an nvtt plugin.
2011-01-13 14:59:29 +00:00
Robert Osfield
410b4fd109 Converted FrameStamp::g/setFrameNumber from int to uint 2010-12-22 20:11:05 +00:00
Robert Osfield
bf6d45a531 Have moved gecko plugin to deprecated 2010-12-13 17:36:02 +00:00
Robert Osfield
a345a04254 From Wang Rui, "I implemented a customized viewer event traversal here to read state
changes from the DirectInput devices and add events to the event
queue. I've tested with the keyboard and joystick supports. Because of
only having a very old 6-button gamepad, I can't do more experiments.
Hope this will bring more ideas to those who face similar problems,
especially simulation game designers. :)

I didn't map all DirectInput key values to GUIEventAdapter key
symbols. Users may add more in the buildKeyMap() function freely. The
mouse handling operations are also ignored, but will be easily
improved in the same way of creating keyboard and joystick devices.

Please add a line:

FIND_PACKAGE(DirectInput)

in the CMakeLists of root directory. And in the examples/CMakeLists.txt:

IF(DIRECTINPUT_FOUND)
   ADD_SUBDIRECTORY(osgdirectinput)
ENDIF(DIRECTINPUT_FOUND)

DirectX SDK 2009 is used here, but an older version like DX8 should
also work in my opinion.
"
2010-12-13 11:34:33 +00:00
Robert Osfield
067695bec4 Updated version number for 2.9.11 dev release 2010-12-08 11:01:37 +00:00
Robert Osfield
0754a78ddb From Ulrich Hertlein, "Attached; here's a summary of the changes:
- CMakeLists.txt
-- don't look for GL when compiling for iOS (device or simulator), look for OGLES instead
-- use architecture i386 for simulator
-- removed iphoneos-version-min for simulator

- examples/osgviewerIPhone/CMakeLists.txt
-- added build dependencies for osgdb_osg, osgdb_freetype, osgdb_imageio
-- added framework QuartzCore link dependency

- src/osgDB/CMakeLists.txt
-- don't link against Carbon on iOS (device or simulator)

- src/osgPlugins/freetype/CMakeLists.txt
-- don't link against OpenGL on iOS device or simulator

- src/osgViewer/CMakeLists.txt
-- link against OpenGLES on iOS (device or simulator)

- src/osgPlugins/imageio/CMakeLists.txt
-- compile ReaderWriterImageIO_IOS.cpp as Objective-C++

"
2010-12-02 14:20:52 +00:00
Robert Osfield
b523cb15c1 From Tomas Holgarth and Stephan Huber, "
attached you'll find the second part of the IOS-submission. It contains

* GraphicsWindowIOS, which supports external and "retina" displays,
 multisample-buffers (for IOS > 4.0) and multi-touch-events
* an ios-specific implementation of the imageio-plugin
* an iphone-viewer example
* cMake support for creating a xcode-project
* an updated ReadMe-file describing the necessary steps to get a
 working xcode-project-file from CMake

Please credit Thomas Hogarth and Stephan Huber for these changes.

This brings the ios-support in line with the git-fork on github. It
needs some more testing and some more love, the cmake-process is still a
little complicated.

You'll need a special version of the freetype lib compiled for IOS,
there's one bundled in the OpenFrameworks-distribution, which can be used."

Notes, from Robert Osfield, modified CMakeLists.txt files so that the IOS specific paths are within IF(APPLE) blocks.
2010-11-26 18:19:28 +00:00
Robert Osfield
acf548ac90 Update SOVERSION 2010-11-19 17:47:30 +00:00
Robert Osfield
6cc7e109d3 Moved finding of RSVG, Poppler-glib and GtkGl out into their own Find*.cmake modules to enable easier specialization. 2010-11-11 16:51:46 +00:00
Robert Osfield
3fb3ef9f39 From Sukender, "As discussed in osg-users, I found output directories with CMake >= 2.8.1 are wrong under MSVC (As Chuck said, it's to be related to CMake, and not MSVC).
But I also found rev. 11354 (from Wang Rui) added a change in OsgMacroUtils which adresses a similar issue: Wang told the "../../bin" prefix wasn't working. However I think the fix isn't correct because it checks the MSVC version instead of the CMake version. Here is my fix, against latest trunk (root CMakeLists.txt, and CMakeModules/OsgMacroUtils.cmake).

Tests I made:
           | Unix Makefiles | MSVC 9 | MSVC 10 x64
---------------------------------------------------
CMake 2.4   |                |   OK   | N/A
CMake 2.6.4 |                |   OK   | N/A
CMake 2.8.0 |                |   OK   | broken support?
CMake 2.8.2 |                |   OK   | OK
"
2010-11-09 14:39:32 +00:00
Robert Osfield
89f7726383 Copied libutil and libtess implementations in form Mesa 7.9/src/glu into the src/osg/glu,
changed extensions from .c to .cpp and got compiling as C files as part of the osg core library.

Updated and cleaned up the rest of the OSG to use the new internal GLU.
2010-10-06 14:44:52 +00:00
Robert Osfield
eb3d76f291 From Mikhail Izmestev, "This patch fixes operator >> used with std::istream without std::ios::skipws flag. This allow using boost::lexical_cast with osg vectors types, because boost's lexical_cast disable std::ios::skipws flag of std::istream before using operator >>.
"
2010-09-24 14:38:01 +00:00
Robert Osfield
1224836664 From Eric Wing, QTKit plugin for reading movies under OSX using QTKit + CoreVideo 2010-09-24 12:59:37 +00:00
Robert Osfield
cc471b1103 From Magnus Kessler, "Attached are a number of files where I have tried to fix up some of the
documentation. I have accumulated them over some time, but rebased onto the
subversion trunk."
2010-09-15 12:00:12 +00:00
Robert Osfield
422a5e7058 Removed osgIntrospection as it's now available as a seperate osgIntrospection project that can be checked out thus:
svn co http://www.openscenegraph.org/svn/osg/osgIntrospection osgIntrospection
2010-06-23 13:28:19 +00:00
Robert Osfield
6d572d0530 From Alberto Luaces, "I have updated a bit the pkg-config system:
1. Install the .pc file for osgIntrospection only if it is compiled,
instead of unconditionally.

2. New .pc file for osgQt, also created only if that library is actually
compiled.
"
2010-06-21 15:55:13 +00:00
Robert Osfield
4ae8eb607f Updated version number for next dev release 2010-06-21 10:33:46 +00:00
Robert Osfield
a6c7fee246 From Alok Priyadarshi, "1. Replaced APIENTRY to GL_APIENTRY which is used by OpenGL ES
headers. For desktop GL GL_APIENTRY has been defined as APIENTRY."
2010-04-28 21:22:44 +00:00
Robert Osfield
c091b5c2d1 From Stephan Huber and Mathieu Marache, "attached you'll find framework support for os x via cmake. Please credit
Mathieu Marache, he added the last missing piece to this puzzle.

I think it is safe to commit these changes to trunk, as the traditional
way via dylibs should work as before.

Here's some more info how to get frameworks:

With these modifications it is possible to compile frameworks on OS X,
when you set the Cmake-option OSG_COMPILE_FRAMEWORKS to true. If you
want to embed the frameworks in your app-bundle make sure to set
OSG_COMPILE_FRAMEWORKS_INSTALL_NAME_DIR accordingly.

You'll have to build the install-target of the generated xcode-projects
as this sets the install_name_dirs of the frameworks and plugins."
2010-04-19 13:44:42 +00:00
Robert Osfield
3f39a66035 From Jim Brooks, fix for FreeBSD build where FIND_LIBRARY(DL_LIBRARY..) return NOT_FOUND. 2010-03-26 09:01:49 +00:00
Robert Osfield
031aaf23d0 From J.P. Delport, "attached an updated FindGDAL that finds 1.6.0 version in Debian unstable. Could also be added to VPB.
Also some misc spelling fixes in CMakeLists.txt"
2010-03-17 14:36:16 +00:00
Robert Osfield
2b7fb78c75 From Farshid Lashkari, "I noticed that CMake forces a high stack size by default for all MSVC projects. This can cause problems for applications that use a lot of threads. I've added a new option MSVC_USE_DEFAULT_STACK_SIZE that will remove the explicit stack size and use the default MSVC size. Apparently this was only necessary for very old versions of MSVC but it's still around. I would argue that this option should be on by default, but I've left it off for now.
"
2010-03-15 15:01:21 +00:00
Robert Osfield
23c7fd2f61 From David Fries,"We are needing to compile Debug, Release, and MinSizeWithDebInfo, but
currently only Debug appends "d" so the Release and MinSizeWithDebInfo
(and MinSizeRel) all produce the same filenames.  This set of changes
lets each build type have a cmake defined string appended, defaulting
to Release none, Debug d, RelWithDebInfo rd, MinSizeRel s.  But a user
still can have Release, RelWithDebInfo, and MinSizeRel to produce the
same filenames.  It does so by setting the preprocessor define
OSG_LIBRARY_POSTFIX in src/osgDB/CMakeLists.txt to one of the
previously defined cmake variables CMAKE_DEBUG_POSTFIX
CMAKE_RELEASE_POSTFIX CMAKE_RELWITHDEBINFO_POSTFIX
CMAKE_MINSIZEREL_POSTFIX.  This method cuts down on the #ifdef _DEBUG
#else preprocessor directives in Registry.cpp as the extension is
always passed in OSG_LIBRARY_POSTFIX.  That and __MINGW32__ didn't
have the _DEBUG check which looks like a bug."
2010-03-10 17:19:35 +00:00
Robert Osfield
53ae54aac8 Update SO version number to 66 to skip over 65 value planned to 2.8.3 2010-03-10 14:29:05 +00:00
Robert Osfield
ea5af1d010 From Nico Krulthof and Jori Torres, additions for detecting OSX 10.6 SDK and setting variable defaults accordingly. 2010-03-10 11:09:55 +00:00
Robert Osfield
273420bb1c Updated version and soversion numbers 2010-03-05 12:53:08 +00:00
Robert Osfield
8b486054b4 From Mourad Boufarguine, "The attached CMakeLists allows building osgQt in case BUILD_OSG_EXAMPLES is set to off.
"
2010-03-04 20:45:30 +00:00
Robert Osfield
60dd9ad7d0 From Mourad Boufarguine, "With the present CMakeLists, the directory ${PROJECT_BINARY_DIR}/include is added to the include path before ${OpenSceneGraph_SOURCE_DIR}/include. This causes problems whenever a header file is changed when updating OSG, because cpp files are build against the old header files contained in ${PROJECT_BINARY_DIR}/include rather than the new ones in ${OpenSceneGraph_SOURCE_DIR}/include. Inverting the order of the two drectories in the include path solves the problem.
Attached is the modified CMakeLists.txt."
2010-03-01 11:29:19 +00:00
Robert Osfield
a673abac3d Introduced OSG_WARN, OSG_NOTICE, OSG_INFO, OSG_DEBUG convinience macros that map to OSG_NOTIFY(osg::WARN) etc.
Introduced the OSG_NOTIFY_DISABLE Cmake variable + include/osg/Config #define to control whether the OpenSceneGraph build
should disable the notification system completely.  By setting OSG_NOTIFY_DISABLE to ON in CMake and then rebuilding the
the OSG you can get a slightly smaller (~1%) and more slightly efficient library which can be good for shipping applications,
but with downside of reduced ability to detect runtime problems and their causes.
2010-02-12 11:45:00 +00:00
Robert Osfield
2c63a71694 From Alberto Luaces, "he new GNU linker, "gold", is going to replace soon the current ld in
almost all Linux distributions. Although it is 100% compatible with ld,
by default it gives an error if a library has unresolved symbols at link
time, that is, it has set -Wl,--no-undefined by default. Debian folks
have found that libosg.so and libosgDB.so use some functions belonging
to libdl.so {dlsym,dlopen,dlclose,dlerror} without linking to it.

My changes link those two libraries to libdl.so explicitly in the same
way it is already done for libm.so and librt.so."
2010-02-11 11:17:55 +00:00
Robert Osfield
b169d42ce8 Inserted /introspection/ into path of osgIntrospection wrappers 2010-01-19 12:24:55 +00:00
Robert Osfield
ac04047836 Updated rev number for 2.9.7 dev release as ABI compatibility has been broken 2010-01-13 18:50:58 +00:00
Robert Osfield
aec8c8ac10 Updated version to 2.9.7 in prep for next dev release 2009-12-15 11:47:38 +00:00
Robert Osfield
7552954ef3 From Cedric Pinson, "Here an update of the directshow plugin. It fixes issues with
synchronization, improve capture device support.

here how to use it to display a capture device:

osg::Options* options = new osg::Options;
options->setPluginStringData("captureWantedWidth", "800");
options->setPluginStringData("captureWantedHeight", "600");
options->setPluginStringData("captureWantedFps", "30");
options->setPluginStringData("captureVideoDevice", "USB Video Device" );
options->setPluginStringData("captureSoundDevice", "");
then
osgDB::readImageFile("capture.directshow", options)
you can use a graphedit application to list devices available in
directshow.


for classic avi file you just need to do a
osgDB::readImageFile("file.avi.directshow");
You will need of course to install the codec needed by directshow to
read the avi files.

I recommand this tool http://avicodec.duby.info/, that check which
video/sound codec is needed to play an avi file.


You can test it with the osgmovie example.
"
2009-11-20 10:48:51 +00:00
Robert Osfield
3442a80a82 Changed the placement of the autogenerated Version file so it drops into the in source directory. 2009-11-19 16:43:54 +00:00
Robert Osfield
2e11c49742 From Michael Platings, "This plugin adds support for the Autodesk FBX file format. It imports animations, including skeletal and morph animations, hence all my previous submissions to osgAnimation. The plugin won't build without the changes made in the "osgAnimation small additions" submission (14th August).
The plugin requires the FBX SDK to be installed, available from http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=6837478"
2009-11-19 11:44:44 +00:00
Robert Osfield
2191e6a48d Moved the set of include/osg/Version into Cmake 2009-11-18 16:24:01 +00:00
Robert Osfield
2a0497e2c1 From Pau Garcia i Quiles, "On Linux/Unix, when you change the system time (for instance, using
settimeofday), OSG animations will freeze your application because
osg::Timer uses gettimeofday internally on non-Win32 platforms. This
is wrong and should be replace with times(2) or clock_gettime(2).

The attached patch fixes the issue in a binary-compatible way by using
clock_gettime when it's available, and falling back to gettimeofday
when it's not."
2009-11-18 13:00:35 +00:00
Robert Osfield
b7cabac990 From Mathias Froechlich, "Attached the collected fixes I needed to compile with all of them.
Most notable the __hpux define stuff. The __hpux__ variant seems to be not
defined which resulted in a compile error at this time. Consequently I have
replaced all occurances of __hpux__ with __hpux. And huge surprise: now osg
plugins are found and loaded correctly ...
The next notable one is the MSVC_IDE fix which makes the nmake Makefiles cmake
generator target behave like the ide one. Showed up because I started to do
scripted builds with nmake instead of devenv...
The rest is the usual bunch of stuff that just happens during normal
coding ..."
2009-11-18 12:15:29 +00:00
Robert Osfield
79f766efab Added OSG_CPP_EXCEPTIONS_AVAILABLE cmake option to enable optional build of plugins and examples that required C++ exceptions 2009-11-17 12:55:52 +00:00
Robert Osfield
93d83010f8 Added EGL support into build system for GLES1 + GLES2.
Added EGL support into GraphicsWindowX11.
2009-10-30 15:17:38 +00:00
Robert Osfield
37ee16403a Introduced usage of OSG_GLES*_AVAILABLE macros to headers and .cpp's to enable building against OpenGL ES 1.x and 2.x headers 2009-10-25 11:52:01 +00:00
Robert Osfield
327b67a305 Added CMake support for specifying what OpenGL target and features that the OpenSceneGraph build should use.
Added use of the new Cmake generated #define's for optionally compiling parts of the OpenSceneGraph's OpenGL support for the various OpenGL targets
2009-10-23 13:19:57 +00:00
Robert Osfield
01e781f2e9 Introduced Cmake generated #defines relevant to optionally compile parts of the OSG for different OpenGL targets 2009-10-22 12:06:00 +00:00
Robert Osfield
2d26cbe7ab Introduced optional build against the GLU library, using optional compile paths to enable/disable GLU related function.
To toggle the use of the GLU library adjust the OSG_GLU_AVAILABLE variable via ccmake . or CMakeSetup.
2009-10-07 19:42:32 +00:00
Robert Osfield
11d7d98e79 Updated version numbers for 2.9.6 release 2009-07-03 10:33:51 +00:00
Robert Osfield
48b6e55390 From Alberto Luacas, added new pkg-cofig files 2009-05-22 08:31:58 +00:00
Robert Osfield
f939ea731e Moved Registry::ReadFileCallback + WriteFileCallback, and osgDB::ReaderWriter::Options into their own separate Options file and into the osgDB namespace.
Introduced a new callback osgDB::FindFileCallback that overrides the default behavior of findDataFile/findLibraryFile.

Introduced support for assigning ReaderWriter::Options directory to PagedLOD.

Introduced new osgDB::FileLocationCallback for assistancing the DatabasePager to know when a file is hosted on a local or remote file system.
2009-05-11 11:39:12 +00:00
Robert Osfield
cb3c0e7df7 Cleaned up set up of SDL. 2009-05-08 09:29:40 +00:00
Robert Osfield
9058164c53 From Michael Platings, added VisualStidio specific option for disabling iterator checking. 2009-05-07 12:55:07 +00:00
Robert Osfield
590ac02859 Created a simple XmlNode parser class for reading of basic xml files, such as used by present3D.
Converted Present3D across from using libxml2 to using the new osgDB::XmlNode/XmlNode::Input classes from Xml Parsing.
This changes removes the dependency on libxml2, and allows the present3D application and p3d to work on all platforms.
2009-04-29 20:30:21 +00:00
Robert Osfield
200c9e82f3 Introduced first cut of Present3D integration with the core OSG with the introduction of a .p3d plugin. 2009-04-27 11:02:18 +00:00
Robert Osfield
c3e9f27f35 Updated version numbers in prep for 2.9.4 dev release 2009-04-22 16:33:24 +00:00
Robert Osfield
ea887407aa From Eric Sokolowsky, "I found that the current CMakeLists.txt doesn't set the debugging flags correctly on OSX when using cmake to generate Xcode projects. This change has the potential to affect all platforms, so it should be tested." 2009-04-21 14:27:34 +00:00
Robert Osfield
8d124e5709 Fixed ChangeLog generation so that it only includes svn/trunk or relevant branch rather than whole svn repository.
Updated ChangeLog
2009-04-12 18:54:07 +00:00
Robert Osfield
c949789ac7 Updated version info for 2.9.3 dev release, fixed typo and updated wrappers 2009-04-10 11:00:54 +00:00
Robert Osfield
53a19190ce From Jean-Sebastien Guay, "As I discussed in the thread "Windows 7 beta: "The binary is not a valid Windows image."" on osg-users, I needed to add the /DYNAMICBASE linker option for executables to link properly in release mode on Windows 7 beta.
http://article.gmane.org/gmane.comp.graphics.openscenegraph.user/42400

Since this is a workaround for a bug in a beta OS (which may or may not be fixed, since it's mentioned in their release notes so they may just leave it as it is) I've marked the option as advanced, default to OFF, and clearly documented it as being useful for Windows 7 only. I'd like to be able to test for Windows 7 directly instead of the blanket IF(WIN32), but I can't figure out if this is possible in CMake.

Here's the modified CMakeLists.txt. It's a small change, with low impact, but will be useful to others who test out this OS and when it comes out. Note that I'm not familiar with this option in general, and didn't get any feedback to my questions in the above-mentioned thread, one of which was: Could we just add this option to all builds? What is the impact? That's still unclear to me, but without it OSG executables don't build, and the article I linked didn't seem to present any ill effects to enabling the option."
2009-04-09 09:25:34 +00:00
Robert Osfield
38ee2f924d Bumped version numbers in prep for 2.7.2 dev release 2009-03-23 15:21:31 +00:00
Robert Osfield
d808149e05 From Philip Lowman, "At a cost of bumping the required version to CMake 2.4.4 (released all the way back on November 21, 2006)... this cmake script patch
1. Makes IF/ELSE/ENDIF code blocks easier to read by replacing code like this:

IF(FOO)
   MESSAGE("FOO is true")
ELSE(FOO)
  MESSAGE(" ??? ELSE(FOO)??? ")
ENDIF(FOO)

with this:

IF(FOO)
   MESSAGE("FOO is true")
ELSE()
  MESSAGE("FOO is clearly false")
ENDIF()

2. Also adds an ELSEIF() where it makes sense to do so (safe to use as of CMake 2.4.4)"
2009-03-11 14:08:43 +00:00
Robert Osfield
43a081ee98 Updated wrappers and dev release version numbers 2009-03-05 15:31:03 +00:00
Robert Osfield
e035decd95 Introduce FFmpegAudioStream implementation 2009-03-03 16:51:01 +00:00
Robert Osfield
1bad5770b6 Added Cmake support for new ffmpeg plugin 2009-02-25 16:05:12 +00:00
Robert Osfield
979d1e6be7 Merged in various changes from the OSG-2.8 to being svn/trunk up to date. 2009-02-19 14:24:10 +00:00
Robert Osfield
c1a051d733 Disabled the use of aggressive warnings under OSX as the default. 2009-02-11 17:21:36 +00:00
Robert Osfield
81043b1028 Merged warning fix from OSG-2.8 branch:
svn merge -r 9755:9756 http://www.openscenegraph.org/svn/osg/OpenSceneGraph/branches/OpenSceneGraph-2.8
2009-02-10 20:31:50 +00:00
Robert Osfield
7de8527efd From Roland Smeenk and Robert Osfiled, tweaks to the Collada finding/linking to improve support for Collada DOM 2.1 + 2.2 across platforms. 2009-02-10 11:44:50 +00:00
Robert Osfield
1a28f0105d Bumped version number of svn/trunk to 2.9.0 2009-02-06 15:49:21 +00:00
Robert Osfield
75f0e64cc7 Added support for VS versioning of OpenThreads 2009-02-06 08:46:02 +00:00
Robert Osfield
09dca8e90b Changed version to only be run for Visual Studio 2009-02-05 14:56:39 +00:00
Robert Osfield
f3166c2d96 From Sherman Wilcox, added VS versioning information into libs 2009-02-05 14:55:17 +00:00
Robert Osfield
087d6390fa Added VS and gcc warning suppression to clean up a few last stubborn warnings 2009-02-05 11:10:32 +00:00
Robert Osfield
af8696ca57 Set the release candidate to 1. 2009-02-04 12:59:44 +00:00
Robert Osfield
1f3551820b Added disabling of "warning: format not a string literal, argument types not checked" under FreeBSD as these errors are being generated from std library ostream implementation. 2009-02-03 11:05:35 +00:00
Robert Osfield
33d158e290 Updated OpenThreads and OpenSceneGraph version ready for OSG-2.8 branch. 2009-02-02 14:55:51 +00:00
Robert Osfield
8e3b5e41c7 Restructed the reporting of the libpath message so that it only appears the first time it's required 2009-01-29 13:29:08 +00:00
Robert Osfield
d44b4d21b9 Revised the message about install path. 2009-01-29 10:43:11 +00:00
Robert Osfield
89d9da4fbe From Mathias Froehlich, fixed typo. 2009-01-28 12:55:38 +00:00
Robert Osfield
b328758058 Temporarily disabled VS warning C4100 to enable use to home in on the useful warnings that could do with resolving. 2009-01-28 12:02:35 +00:00
Robert Osfield
75cd471254 From Mattias Helsing, "this is a semi-submission based on what you and others have been
talking about in the LIB_POSTFIX thread. It is a bit verbose perhaps
and the message I emit during the make install step flashes by and
gets burried under all "installing..." and/or "up-to-date..."
messages. I have posted on the cmake mail list on ways to do this
better.

The submission adds:
* message to user during configuration that s/he's eventually going o
install to ${CMAKE_INSTALL_PREFIX}lib${LIB_POSTFIX}
* if system has /etc/ld.so.conf.d and it is a dir generates
packaging/ld.so.conf.d/openscenegraph.conf and creates a custom target
for installing it (target must be run explicitly of course). User is
notified of this during configuration (may not be necessary)
* emit a message during installation that libraries are put in
<same-as-above>. This message unfortunately gets emitted to soon for
the user to see it

* I added "COMPONENT libopenscenegraph-dev" to the pkgconfig.pc's
install command
* Moved the section with OSG_CONFIG_HAS_BEEN_RUN_BEFORE as close to
the end of CMakeLists.txt as I dared. This is the intent of this
construct I think."
2009-01-28 09:42:21 +00:00
Robert Osfield
c898bc0ce7 From Alberto Luaces, "I have modified CMakeLists.txt in order to make CMake fill the existent
openscenegraph.pc and openthreads.pc files with OSG's installation values.
Then I install those files into the expected path for pkg-config (this can
also be modified through PKG_CONFIG_PATH environment variable). Therefore
those of us who are using pkg-config for linking can easily select which
version of OSG we want to use."
2009-01-27 15:34:57 +00:00
Robert Osfield
a3b91f9294 From Mattias Helsing, "got some feedback from J-S on the packaging so I have changed the
name of the top folder in each package to OpenSceneGraph-x.y.z

Noone else has had an opinion on whether compiler and it's version
should be part of the package filename on their platform/setup so I'll
leave it as is. That is - No action is taken for compilers other than
msvc but one can easily add this information to the cmake cache
regardless of platform.
"
2009-01-21 18:34:10 +00:00
Robert Osfield
ef1d205a2e From Mattias Helsing, "'ve finally finished the rework of the packaging support. It is
streamlined for tgz and has most of the features that Robert, J-S and
Sukender requested in december. I have an idea of how to discover the
vc80 sp1 or not but haven't had time to implement. The script is
completely reworked and now doesn't include cmakes' bundled
CPack.cmake script at all. In summary:

* filenames are
<package>-<osgversion>-<platform>-<arch>[-compiler]-<configuration>.tar.gz,
ex. libopenscenegraph-2.7.9-Linux-i386-Release.tar.gz,
libopenthreads-dev-2.7.9-win32-x86-vc80sp1-Debug.tar.gz

* targets (projects in msvs) are generated for each specified
component, a target that packages everything that is installed
(openscenegraph-all) and there's a target for running all other
packaging targets (Package ALL on msvs, package_ALL in unix
makefiles).

* It is possible to set the compiler in ccmake (cmake-gui, whatever you use)

* the top folder in packages is the same for all packages (OpenSceneGraph-x.y)

* the packaging support is limited with cmake-2.6.0 and not as
dynamic. With cmake-2.6.1 and later building the gdal plugin (for
example) will create a package_libopenscenegraph-gdal target. With
cmake-2.6.0 only the ones that are always built (libopenscenegraph,
libopenscenegraph-dev, openscenegraph, libopenthreads,
libopenthreads-dev

* i found a better way to decide whether cpack is available to guard
the BUiLD_OSG_PACKAGES option"
2009-01-12 11:34:03 +00:00
Robert Osfield
6904a5eda6 From Mattias Helsing, "Following reports by Alberto and Simon this submission reenables usage
of cmake-2.6.0. As a side note I just installed cmake from the ubuntu
repositories and got cmake-2.6.0-4ubuntu2 and this one produced the
currect CMAKE_CXX_FLAGS_RELEASE (-O3 -DNDEBUG).  This CMakeLists is
tested on linux with cmake versions 2.4.8, 2.6.0, 2.6.2 and
2.6.0-4ubuntu2

* Added quotes around CMAKE_CXX_FLAGS var to help cmake-2.6.0 pick up
that it really is a string value

* Removed quotes around values that we set in
OSG_AGGRESIVE_WARNING_FLAGS. This makes OSG_AGGRESIVE_WARING_FLAGS be
of LIST type so the foreach constructs can behave as I planned."
2009-01-09 19:53:28 +00:00
Robert Osfield
2287f1190b Updated version number for next dev release 2009-01-09 15:25:34 +00:00
Robert Osfield
a5ebf338ac Commented out the warning disabling block 2009-01-08 11:35:57 +00:00
Robert Osfield
edd11bac2d From Mattias Helsing, added back in missing wd entries. 2009-01-08 11:28:04 +00:00
Robert Osfield
df8dbd9c81 From Mattias Helsing, "With msvc90 on vista and cmake-2.6.2 i had to rearrange the blocks
that set aggressive warnings in CMAKE_CXX_FLAGS and the on that
processes the source tree(s) or the newly set flags wouldn't take
effect until second consecutive configure.

I also replaced the internally cached variables that managed the
aggresive warnings with explicit adding and removing of flags in
CXX_FLAGS

For apple we first required min cmake version 2.6.0 and then had code
warning about using 2.4.x"
2009-01-08 11:26:16 +00:00
Robert Osfield
46eeac4514 Moved supression of VS warning C4706 from the include/osg/Export header into the CMake options list. Added suppression of C4127 as well. 2009-01-08 10:34:05 +00:00
Robert Osfield
9bd7fa7e6e From Jean-Sebastien Guay, changed VS aggressive warnings setting to just /W4. 2009-01-05 18:07:31 +00:00
Robert Osfield
788bead9fe Change the aggressive warning level under VS to /W3 2009-01-05 10:13:04 +00:00
Robert Osfield
a9602c6906 Made aggressive warnings the default. 2008-12-22 21:17:03 +00:00
Robert Osfield
adced97dcd From Mattias Helsing, "Replace the IF(POLICY CMP0008) with an absolute version check for
cmake > 2.6.0.
The POLICY keyword is only valid starting with cmake-2.4.7 so using it
broke cmake 2.4.5/6 support."
2008-12-21 20:24:56 +00:00
Robert Osfield
ef47733ea1 From Mattias Helsing, "
* Removed processing of include/OpenThreads in the OpenSceneGraph refman
* Clears the mark_as_advanced property of the BUILD_DOCUMENTATION
cmake variable (so it gets visible in simple view).
"
2008-12-19 11:04:35 +00:00
Robert Osfield
3327b6a621 From Bob Kuehne, "minor tweak to the cmake root file to handle debug correctly on os x." 2008-12-18 17:09:12 +00:00
Robert Osfield
bd4b6e9b8c Updated version numbers for 2.8.8 dev release 2008-12-16 16:36:33 +00:00
Robert Osfield
c7b6dd9a18 From Mattias Helsing,"Added doc/Doxyfiles/openthreads.doxyfile.cmake
Updated all doxyfiles under doc/Doxyfiles. They are now all processed
by cmake but make targets are only generated for
OpenSceneGraphReferenceDocs and OpenThreadsReferenceDocs. The others
can be run with doxygen directly in <builddir>/doc.
Fixed a copy-paste in openthreads sproc and pthreads CMakeLists
Added the osg logo to the html footers
Added possibility to get generation of chm files.

CMakeLists (toplevel):
Added install of osg and ot reference docs. This also generates
packaging targets of openscenegraph-doc and openthreads-doc if you
have packaging enabled
Removed the unused USING_OP_OT_TRIPLE_SET since there was no way of
enabling it anyway
Removed BUILD_REF_DOCS. IMO it was redundant - BUILD_DOCUMENTATION
does the same thing and we get that anyway from including
Documentation.cmake.
OsgCPack.cmake:
Removed generation of PACKAGE_SRC for msvc
Added special handling for -doc packaging targets - they don't require
system, architecture or compiler"
2008-12-16 11:43:28 +00:00
Robert Osfield
4c32c577d5 From Mathias Helsing, "Cpack support submission with:
Better package naming. example
openscenegraph-core-2.7.7-Linux-i386.tar.gz on my ubuntu laptop and
openscenegraph-core.2.7.7-win32-x86-vc80.tar.gz on winxp.

CMakers will not get options for selecting compression format. TGZ
goes for all platforms (on win32 I use 7zip)

The wrappers is now given the COMPONENT name
libopenscenegraph-wrappers. Feel free to change the name.

On windows with visual studio the OsgCPack script make some efforts to
discover the compiler used but support is a bit poor so I've given
CMake acces to OSG_CPACK_COMPILER to provide some mean to name the
compiler.

stop

The platform part is taken from CMAKE_SYSTEM_NAME and for windows I
change this to win32 or win64 based on CMAKE_CL_64. This might not be
necessary if the arch part has that information. This information is
taken from CMAKE_SYSTEM_PROCESSOR. I only have 32bit here so if some
of you could uncomment line 15,16 in OsgCPack.cmake and report what
cmake report it would be nice. I'm especially interested anything but
win32 and linux32"
2008-12-15 14:07:29 +00:00
Robert Osfield
315aeeb557 Where possible moved redundent C header includes from headers to source files 2008-12-12 18:47:30 +00:00
Robert Osfield
55fe4967ad From Mattias Helsing, "I have developed the earlier cpack example a bit. Perhaps you could
consider these initial cpack support scripts. It is hidden behind a
BUILD_PACKAGES option so won't affect the normal user. The submission
1) set the COMPONENT attribute on all cmake install commands.
COMPONENT names are according to
http://www.openscenegraph.org/projects/osg/wiki/Community/Packaging

2) provide cmake script and a template for creating CPack
configuration files. It will generate target for creating packages
with everything that gets "installed" (make package on unx, project
PACKAGE in MSVC) plus targets for generating one package per COMPONENT
(i.e. libopenscenegraph-core etc.).

I have temporariliy uploaded some examples to
http://www.openscenegraph.org/projects/osg/wiki/Community/People/MattiasHelsing

If this submission makes it into svn we can develop it to generate
rpms, installers for windows and mac (I know at least J-S don't like
these but there may be others who do ;) and even DEBs (not sure if we
can make them "ubuntu-ready" but they eventually may - at least we
could put a deb on the website)"
2008-12-12 11:01:09 +00:00
Robert Osfield
b038baf676 Updated version number for 2.7.7 release 2008-12-12 10:19:19 +00:00
Robert Osfield
e9a18a7466 Updated SO version number for 2.5.6 release 2008-11-27 17:30:14 +00:00
Robert Osfield
89ea6d596c Added searching for OpenEXR 2008-11-26 12:35:49 +00:00
Robert Osfield
410b90334a From Wojciech Lewandowski, "I have restored MSVC disabled warnings in osg/Export. Difference is they are now disabled only when OSG_DISABLE_MSVC_WARNINGS macro is defined. This macro is set through CMake options and autogenerated in osg/Config. Simon suggested that it would be cool if we had more control over selected warnings. I tried to learn how to make selection of individual warning numbers possible, but had to gave up as my cmake skills were not sufficient. The only way I saw this possible would be adding one define for each MSVC warning number. But many definitions seemed too be to much clutter for osg/Config file so I rejected thar idea. For this it would be cool if autogenerated Config entries could more powerful than simple #define/#undef flags. Maybe Cmake gurus know how to do it.
I have not reverted added Compiler options. I assume that one may want to have warnings enabled for the application but may not want to see them while OSG libraries and examples compile.

Modified files:

osg/Export   - now explicitly includes osg/Config to make sure OSG_DISABLE_MSVC_WARNINGS is read
osg/Config.in  - declares OSG_DISABLE_MSVC_WARNINGS flag to be added to autogenerated osg/Config
CMakeLists.txt - declares OSG_DISABLE_MSVC_WARNINGS as option with default ON setting
"
2008-11-24 16:32:52 +00:00
Robert Osfield
297dd32011 Changed osgbrowser example to use a local CMakeModules/FindXUL.cmake script,
and specialization of GTK dependencies to only non Windows/OSX platforms.
2008-11-18 23:38:18 +00:00
Robert Osfield
fa65527fee From Philip Lowman, "If you change CMAKE_INSTALL_PREFIX in the cache editor after building the OSG, it causes the entire project to rebuild (at least with the CMake makefile generator due to changing preprocessor definitions applied across all targets).
I suggest moving the definition of OSG_DEFAULT_LIBRARY_PATH (which is responsible for this global rebuild) into osgDB/CMakeLists.txt which is the only library in the code where this definition is (and is likely ever to be) used.  This way if the user changes it, only osgDB will rebuild."
2008-11-14 20:50:40 +00:00
Robert Osfield
453bbc8608 From Simon Hammett, moved VS #prgama warning disabling from include/osg/Export to CMakeList.txt. 2008-11-14 18:22:01 +00:00
Robert Osfield
10b5f0d041 From Wojciech Lewandowski, "Attached are modifications to GraphicsWindowWin32. By default workaround is
set to off. But could be activated/decativated via CMake as well as system
environment variable. I also modified src\osgViewer\CMakeLists.txt to turn
off this workaround by default as suggested."
2008-11-14 17:03:59 +00:00
Robert Osfield
d75cc7f84d An "attempt" at using LLMozLib sources as a base for a gecko based embedded browser. 2008-11-13 15:35:08 +00:00
Robert Osfield
11388f3519 Updated version number in prep for 2.5.6 dev release 2008-11-13 10:49:33 +00:00
Robert Osfield
ab9c0898c3 Moved Poppler-glib check into root CMakeList.txt 2008-11-12 22:54:12 +00:00
Robert Osfield
720551d549 From Michael Platings, Converted std::fstream/ifstream/ofstream to osgDB::fstream/ifstream/ofstream and
fopen to osgDB::fopen to facilitate support for wide character filenames using UT8 encoding.
2008-11-07 15:08:08 +00:00
Robert Osfield
545a5d02c7 Changed version number to 2.7.5 in prep for dev release 2008-11-03 15:03:49 +00:00
Robert Osfield
bad9854d71 Added very basic osgvnc example that uses the LibVNCServer client libries for implementing a vnc client
as an osg::Image with the vnc data stream going to it.
2008-10-31 12:03:44 +00:00
Robert Osfield
af13e84093 UPdated version numbers 2008-10-14 14:25:54 +00:00
Robert Osfield
ab3ecd129d Initial cut of zlib based compress/uncompress plugin 2008-10-09 17:02:16 +00:00
Robert Osfield
91d20fb3ec Moved OSG_FORCE_QUERY_RESULT_AVAILABLE_BEFORE_RETRIEVAL into src/osg/CMakeLists.txt 2008-10-07 15:59:10 +00:00
Robert Osfield
7c6dbe0ed8 Moved the OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION definition into the Config.in rather use of -D define 2008-10-03 15:36:34 +00:00
Robert Osfield
13d0292f29 Added optional compile of the new ref_ptr<>:T* operator() output conversion operator, controlled via a CMake option OSG_USE_REF_PTR_IMPLICIT_OUTPUT_CONVERSION. 2008-10-03 15:15:04 +00:00
Robert Osfield
8346e82cf5 From Mathieu Marache, support for CDash 2008-09-29 11:00:42 +00:00