Commit Graph

140 Commits

Author SHA1 Message Date
Robert Osfield
b028a59720 From Michael Platings, "I've updated the FBX plugin to use the latest version of the FBX SDK. I've checked in the plugin files myself, but I need you to check in this change to FindFBX.cmake to change the SDK directory." 2010-04-29 11:59:51 +00:00
Robert Osfield
6b9bbc7ca9 From Wang Rui, "The OSG book I'm working on will focus on helping beginners build
latest OSG source code with Visual Studio 2010 express, without
setting too many options and without facing unexpected errors. But at
present, the compilation process will fail because the INSTALL project
'cannot find' generated DLLs while copying files. I have looked into
the build directory and found that the places of generated file
folders were just different from previous VS versions. In this case,
the old hack in OsgMacroUtils.cmake may become invalid:

MACRO(HANDLE_MSVC_DLL)
       #this is a hack... the build place is set to lib/<debug or
release> by LIBARARY_OUTPUT_PATH equal to OUTPUT_LIBDIR
       #the .lib will be crated in ../ so going straight in lib by
the IMPORT_PREFIX property
       #because we want dll placed in OUTPUT_BINDIR ie the bin folder
sibling of lib, we can use ../../bin to go there,
       ...
       ELSE(NOT MSVC_IDE)
           SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX
"../../bin/${LIB_PREFIX}${LIB_SOVERSION}-" IMPORT_PREFIX "../")
       ENDIF(NOT MSVC_IDE)
ENDMACRO(HANDLE_MSVC_DLL)

Here the prefix "../../bin" may need to be fixed. I just modified it to:

IF(MSVC_VERSION LESS 1600)
    SET_TARGET_PROPERTIES(${LIB_NAME} PROPERTIES PREFIX
"../../bin/${LIB_PREFIX}${LIB_SOVERSION}-" IMPORT_PREFIX "../")
ENDIF()

It should keep compatible with old MSVC versions. There are similar
fixes in the SETUP_PLUGIN and SETUP_EXE macros. I haven't tested them
on more platforms.
"
2010-04-20 16:27:54 +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
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
08bd7dedc1 From David Fries,"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.
"
2010-03-10 17:23:58 +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
4c1af137e0 Based on a suggestion from Chuck Seberino, have added a section for testing of 64bit build under OSX and disable the use of quicktime when the build includes 64bit. 2010-03-10 11:01:17 +00:00
Robert Osfield
3cd0c50df3 From Mourad Boufarguine, "Some others modified CMake scripts :
- OsgMacroUtils.cmake, SETUP_LINK_LIBRARIES macro : allow linking with debug/release external libraries
- osgQt/CMakeLists.txt : fix the linking to Qt librairies + linking to debug Qt librairies if found
- examples/ qt examples :  linking to debug Qt librairies if found"
2010-03-05 12:43:03 +00:00
Robert Osfield
d2ecd34d66 Fixed STDINT_INCLUDE path 2010-02-22 10:10:08 +00:00
Robert Osfield
079b7653bd From Jan Peciva, improvements to Inventor find operation 2010-01-31 18:23:35 +00:00
Robert Osfield
c73e53297d From Nico Kruithof, "This patch makes sure that FindOSG.cmake finds OSG when it is compiled
as a 64 bit library, as the libraries are installed in the lib64
directory and not lib"
2009-11-20 11:18:28 +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
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
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
20930ac3a6 From Simon Julier, "Please find attached FindCOLLADA.cmake with a patch for a framework naming issue for Mac platforms.
The collada dom Makefiles actually build a framework called Collada14Dom.framework (debug: Collada14Dom-d.framework). The current CMake rules, however, only look for collada14dom. Normally, the difference in case wouldn't matter but the rule fails on case sensitive HPFS partitions.
"
2009-10-10 11:26:10 +00:00
Robert Osfield
41b0c923e6 From Roger James, "When you merged my last set of changes into FindCOLLADA.cmake you omitted the changes to find the DOM22 libraries. Collada 1.4 DOM 2.2 seems to work OK for me on windows platforms. I have attached the changes again if you want to apply them." 2009-10-10 09:38:10 +00:00
Robert Osfield
063bc6e513 Added search in /usr/local/dicom for dcmtk. 2009-06-26 16:39:44 +00:00
Robert Osfield
d167142a59 Fixed warnings and refactored FindFFmpeg.cmake and ffmpeg plugin CMakeLists.txt scripts to better handle different instation combinations 2009-06-25 16:02:23 +00:00
Robert Osfield
313068287a Fixed non windows path 2009-06-24 16:45:55 +00:00
Robert Osfield
5c0148106c Refactored the FFmpeg find script and the pdd CMakeLists.txt to improve the automatic detection of the required facilities 2009-06-24 10:26:48 +00:00
Robert Osfield
719b6cf1bf Added explict search for stdint.h 2009-06-23 10:53:55 +00:00
Robert Osfield
fac2ffecb3 From Roger James and Robert Osfield, clean up of COLLADA CMake support 2009-06-12 09:41:10 +00:00
Robert Osfield
885a7893b8 From Jan Ciger, "I am attaching the updated VRML plugin, as promised. This version works
with OpenVRML 0.17.12 and Boost 1.38. Other versions may work too, but I
didn't test that."
2009-05-26 14:22:56 +00:00
Robert Osfield
3b9de4eab2 From Philip Lowman, removed inappropriate references to OSG_ in 3rd party libs searches 2009-05-18 10:17:57 +00:00
Robert Osfield
37ef864bdd From Mattias Helsing, ""
* Use the CPack ZIP generator on windows (WIN32)
* Reformatted according to Philip Lowman's recent submissions"
2009-04-09 15:56:04 +00:00
Robert Osfield
ee4e2afa76 From Philip Lowman, clean up of CMake files 2009-04-09 09:23:45 +00:00
Robert Osfield
1cc0b09552 From Michael Platings, "I've changed this file so CMake automatically chooses the correct directories & libs out of vc8,vc9,mac,mingw
Tested with Visual Studio 9 2008"
2009-03-23 16:11:41 +00:00
Robert Osfield
51964a2b79 From David Callu, clean up of FindFFmpeg include paths 2009-03-23 15:48:19 +00:00
Robert Osfield
9eac90b8cb Cleaned up FindFFmpeg.cmake 2009-03-05 14:33:21 +00:00
Robert Osfield
56330d5b29 Added search for headers in ffmpeg directory 2009-03-04 16:35:08 +00:00
Robert Osfield
273be5f0ae From Jean-Sebastien Guay, added non pkg-config based ffmpeg search scheme. 2009-03-04 16:16:07 +00:00
Robert Osfield
fb54fd0a69 Added support for using libswscale 2009-03-04 11:05:55 +00:00
Robert Osfield
8a8cee05c5 From Ulrich Hertlein, build fixes for OSX. 2009-03-03 10:53:26 +00:00
Robert Osfield
90afd31baa From Mattias Helsing, "I added FORCE to set cmake vars FREETYPE_INCLUDE_DIR_ft2build and
FREETYPE_INCLUDE_DIR_freetype2.
The error case was that during first cmake run (unspecified
ACTUAL_3RDPARTY_DIR) FindFreeType set these to xxx-NOTFOUND. After
specifying ACTUAL_3RDPARTY_DIR, Find3rdPartyDependencies warn't able
to change these (without FORCE).

I also added freetype237 to the library search list since it is what's
in my binary dependencies for vc90"
2009-02-26 22:09:47 +00:00
Robert Osfield
fa95b7e874 Addded setting of FREETYPE_INCLUDE_DIRS to Find3rdPartyDependencies.cmake 2009-02-26 10:48:04 +00:00
Robert Osfield
1bad5770b6 Added Cmake support for new ffmpeg plugin 2009-02-25 16:05:12 +00:00
Robert Osfield
23d697e77e Added VisualStudio versioning info to plugins 2009-02-20 13:58:44 +00:00
Robert Osfield
c9b61a63b8 From Roland Smeenk, "Attached are two small fixes:
-I changed the SET of COLLADA_BOOST_INCLUDE_DIR to use findpath, so users may override this setting if they choose not to build against to precompiled boost libraries delivered with the Collada DOM.

-Changed daeRMaterials.cpp to prevent a compiler warning about a potentially uninitialized variable."
2009-02-11 09:14:12 +00:00
Robert Osfield
17da548343 From Roger James and Robert Osfield, fixes and reorganization to better support Windows dyanmic library build 2009-02-10 19:25:50 +00:00
Robert Osfield
54ea755421 From Miguel Escriva,"OSG 2.8.0-rc4 don't found zlib in Windows.
Here you will find a patch. "
2009-02-10 13:25:40 +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
f5ecacdf4e From Paul Melis & Robert Osfeild, improvements to find scripts to better handle diffrent installation combinations 2009-02-06 15:38:09 +00:00
Robert Osfield
c37d72957a Added /lib64 to search paths. 2009-02-02 17:16:02 +00:00
Robert Osfield
d277a85537 Updated FindOSG.cmake from the version used by Present3D as this is more up to date. 2009-01-29 15:37:52 +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
12a484593c Further tweak to include paths 2009-01-12 16:37:38 +00:00
Robert Osfield
ded06dc421 Restructured the include paths 2009-01-12 16:10:40 +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
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