53473b6bf5
The MacOS.version? family of methods (other than "leopard?") are poorly defined and lead to confusing code. Replace them in formulae with more explicit comparisons. "MacOS.version" is a special version object that can be compared to numerics, symbols, and strings using the standard Ruby comparison methods. The old methods were moved to compat when the version comparison code was merged, and they must remain there "forever", but they should not be used in new code. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
113 lines
5.3 KiB
Ruby
113 lines
5.3 KiB
Ruby
require 'formula'
|
|
|
|
class OpenSceneGraph < Formula
|
|
homepage 'http://www.openscenegraph.org/projects/osg'
|
|
url 'http://www.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-3.1.2.zip'
|
|
sha1 '96b003aa7153b6c8e9ffc77fba13ef5d52db9cb0'
|
|
head 'http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk/'
|
|
|
|
option 'ffmpeg', 'Build with ffmpeg support'
|
|
option 'docs', 'Build the documentation with Doxygen and Graphviz'
|
|
|
|
depends_on 'cmake' => :build
|
|
depends_on 'jpeg'
|
|
depends_on 'wget'
|
|
depends_on 'gtkglext'
|
|
depends_on 'gdal' => :optional
|
|
depends_on 'jasper' => :optional
|
|
depends_on 'openexr' => :optional
|
|
depends_on 'dcmtk' => :optional
|
|
depends_on 'librsvg' => :optional
|
|
depends_on 'collada-dom' => :optional
|
|
depends_on 'gnuplot' => :optional
|
|
depends_on 'ffmpeg' if build.include? 'ffmpeg'
|
|
depends_on 'doxygen' if build.include? 'docs'
|
|
depends_on 'graphviz' if build.include? 'docs'
|
|
|
|
|
|
# The mini-Boost finder in FindCOLLADA doesn't find our boost, so fix it.
|
|
# Also CMakeLists is missing an OR plus code for 10.8.
|
|
# Reported: http://forum.openscenegraph.org/viewtopic.php?t=10647
|
|
# Remove: Unknown. Neither fix is merged upstream yet.
|
|
def patches
|
|
DATA
|
|
end
|
|
|
|
def install
|
|
# Turning off FFMPEG takes this change or a dozen "-DFFMPEG_" variables
|
|
unless build.include? 'ffmpeg'
|
|
inreplace 'CMakeLists.txt', 'FIND_PACKAGE(FFmpeg)', '#FIND_PACKAGE(FFmpeg)'
|
|
end
|
|
|
|
args = std_cmake_args
|
|
args << '-DBUILD_DOCUMENTATION=' + ((build.include? 'docs') ? 'ON' : 'OFF')
|
|
if MacOS.prefer_64_bit?
|
|
args << "-DCMAKE_OSX_ARCHITECTURES=x86_64"
|
|
args << "-DOSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX=imageio"
|
|
args << "-DOSG_WINDOWING_SYSTEM=Cocoa"
|
|
else
|
|
args << "-DCMAKE_OSX_ARCHITECTURES=i386"
|
|
end
|
|
if Formula.factory('collada-dom').installed?
|
|
args << "-DCOLLADA_INCLUDE_DIR=#{HOMEBREW_PREFIX}/include/collada-dom"
|
|
end
|
|
args << '..'
|
|
|
|
mkdir 'build' do
|
|
system 'cmake', *args
|
|
system 'make'
|
|
system 'make', 'doc_openscenegraph' if build.include? 'docs'
|
|
system 'make install'
|
|
if build.include? 'docs'
|
|
doc.install Dir["#{prefix}/doc/OpenSceneGraphReferenceDocs/*"]
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
__END__
|
|
diff --git a/CMakeModules/FindCOLLADA.cmake b/CMakeModules/FindCOLLADA.cmake
|
|
index 428cb29..6206580 100644
|
|
--- a/CMakeModules/FindCOLLADA.cmake
|
|
+++ b/CMakeModules/FindCOLLADA.cmake
|
|
@@ -235,7 +235,7 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG
|
|
)
|
|
|
|
FIND_LIBRARY(COLLADA_BOOST_FILESYSTEM_LIBRARY
|
|
- NAMES libboost_filesystem boost_filesystem libboost_filesystem-vc90-mt libboost_filesystem-vc100-mt
|
|
+ NAMES libboost_filesystem boost_filesystem boost_filesystem-mt libboost_filesystem-vc90-mt libboost_filesystem-vc100-mt
|
|
PATHS
|
|
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
|
|
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
|
|
@@ -251,7 +251,7 @@ FIND_LIBRARY(COLLADA_STATIC_LIBRARY_DEBUG
|
|
)
|
|
|
|
FIND_LIBRARY(COLLADA_BOOST_SYSTEM_LIBRARY
|
|
- NAMES libboost_system boost_system libboost_system-vc90-mt libboost_system-vc100-mt
|
|
+ NAMES libboost_system boost_system boost_system-mt libboost_system-vc90-mt libboost_system-vc100-mt
|
|
PATHS
|
|
${COLLADA_DOM_ROOT}/external-libs/boost/lib/${COLLADA_BUILDNAME}
|
|
${COLLADA_DOM_ROOT}/external-libs/boost/lib/mingw
|
|
--- a/CMakeLists.txt 2012-03-23 03:21:51.000000000 -0700
|
|
+++ b/CMakeLists.txt 2012-08-29 11:55:21.000000000 -0700
|
|
@@ -824,16 +824,15 @@
|
|
# FORCE is used because the options are not reflected in the UI otherwise.
|
|
# Seems like a good place to add version specific compiler flags too.
|
|
IF(NOT OSG_CONFIG_HAS_BEEN_RUN_BEFORE)
|
|
- IF(${OSG_OSX_SDK_NAME} STREQUAL "macosx10.7")
|
|
+ IF(${OSG_OSX_SDK_NAME} STREQUAL "macosx10.7" OR ${OSG_OSX_SDK_NAME} STREQUAL "macosx10.8")
|
|
SET(OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX "imageio" CACHE STRING "Forced imageio default image plugin for OSX" FORCE)
|
|
# 64 Bit Works, PPC is not supported any more
|
|
SET(CMAKE_OSX_ARCHITECTURES "i386;x86_64" CACHE STRING "Build architectures for OSX" FORCE)
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.7 -ftree-vectorize -fvisibility-inlines-hidden" CACHE STRING "Flags used by the compiler during all build types." FORCE)
|
|
- ELSEIF(${OSG_OSX_SDK_NAME} STREQUAL "macosx10.6" /
|
|
- ${OSG_OSX_SDK_NAME} STREQUAL "macosx10.5")
|
|
+ ELSEIF(${OSG_OSX_SDK_NAME} STREQUAL "macosx10.6" OR ${OSG_OSX_SDK_NAME} STREQUAL "macosx10.5")
|
|
SET(OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX "imageio" CACHE STRING "Forced imageio default image plugin for OSX" FORCE)
|
|
# 64-bit compiles are not supported with Carbon.
|
|
- SET(CMAKE_OSX_ARCHITECTURES "ppc;i386" CACHE STRING "Build architectures for OSX" FORCE)
|
|
+ SET(CMAKE_OSX_ARCHITECTURES "i386;x86_64" CACHE STRING "Build architectures for OSX" FORCE)
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mmacosx-version-min=10.5 -ftree-vectorize -fvisibility-inlines-hidden" CACHE STRING "Flags used by the compiler during all build types." FORCE)
|
|
ELSEIF(${OSG_OSX_SDK_NAME} STREQUAL "macosx10.4")
|
|
SET(OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX "quicktime" CACHE STRING "Forced imageio default image plugin for OSX" FORCE)
|