Skip to content
Commits on Source (40)
......@@ -17,20 +17,20 @@ before_install:
- sudo apt-get update -qq
- sudo apt-get install -y cmake
#- sudo apt-get install -y libopenscenegraph-dev
- sudo apt-get install -y --force-yes openscenegraph=3.4.0
- sudo apt-get install -y --force-yes openscenegraph=3.4.1
- sudo apt-get install -y libgdal-dev
- sudo apt-get install -y libgeos-dev
- sudo apt-get install -y libsqlite3-dev
- sudo apt-get install -y protobuf-compiler libprotobuf-dev
- sudo apt-get install -y libpoco-dev
# Debug print out osgversion
- osgversion
script:
- if [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then cmake -DCMAKE_BUILD_TYPE=Release . && make -j3 ; fi
- if [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then cmake -DCMAKE_BUILD_TYPE=Release . && make -j3 && sudo make install && sudo ldconfig; fi
- if [ "${COVERITY_SCAN_BRANCH}" != 1 ]; then cd tests && osgEarth_tests ; fi
notifications:
email:
recipients:
- jasonbeverage@pelicanmapping.com
- gwaldron@pelicanmapping.com
slack:
secure: E/9LpduB9vyavYKA4HgQxf48JB3cQmKOo0We829cox67aixQCKhYjHG0KmT6wnjVVKWRbHru0ho7Gi1NuVNdGXAOG7PMP7XFOJB7pBfczy7HmQhsAttX/dTltb0XzRFx9O5qk3q2Vnc7JXKO5HbFDWCYh0O3RFoph9XzTfAQBdBNsy/wyYD0fogYsWk43qQPI8lLukBfJ705sn2un+bkfgnuS9g/uuQmmqIhXwkAamAUaioryVHDaLz2e1bMKaq62Rl4yV+lbY1/hsg8Ob1o1jm5MnEjcHuVU1uugX34FZZFVWrF3OuEvfEmDv2tN2Q72Zz/xmJR37osZ8x55gRg5w+lal0VEo/U7leMABzu8/k4DXsPLGEY8ft3aalBbVw2qh/IMOc8Jyq4/wg6/2aet0mS9FAmWy59HnDyYTsZtUdiU4aRdVvQcgJs5JEXypMYlVCCv325ixaA6CxGplGAqST2XYu4U+QPaS6Zrv/Rj2PEq49Xire1IQQGehiElgIE+npZtPneep2HunUZ4+UfYaxkX+pP3YwjZ8tE7gAh85Zw4w+pZCZV1wzg56vN8XakpG8TxGD/dlWKAqV2KLbjFufGpttyAE8VuYQV4ZEfHgqENfS0zlNIoFcIdFos5ipuijpbRvTs+PkScgcKu2CAXMSL2zKxKdqn/AD7/p0+EiE=
addons:
coverity_scan:
project:
......
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4 FATAL_ERROR)
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11 FATAL_ERROR)
if(COMMAND cmake_policy)
# Works around warnings libraries linked against that don't
......@@ -9,18 +9,9 @@ if(COMMAND cmake_policy)
# statements.
cmake_policy(SET CMP0005 OLD)
IF(COMMAND cmake_policy)
IF(${CMAKE_MAJOR_VERSION} GREATER 2)
# Qt5 qt5_use_modules usage was causing "Policy CMP0043 is not set: Ignore COMPILE_DEFINITIONS_<Config> properties." warnings
cmake_policy(SET CMP0043 NEW)
ENDIF()
ENDIF()
# disable autolinking to qtmain as we have our own main() functions (new in Qt 5.1)
if(NOT "${CMAKE_VERSION}" VERSION_LESS 2.8.11)
cmake_policy(SET CMP0020 OLD)
endif(NOT "${CMAKE_VERSION}" VERSION_LESS 2.8.11)
endif(COMMAND cmake_policy)
#
......@@ -32,7 +23,7 @@ SET_PROPERTY( GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "CMake Targets" )
PROJECT(OSGEARTH)
SET(OSGEARTH_MAJOR_VERSION 2)
SET(OSGEARTH_MINOR_VERSION 8)
SET(OSGEARTH_MINOR_VERSION 9)
SET(OSGEARTH_PATCH_VERSION 0)
SET(OSGEARTH_SOVERSION 0)
......@@ -70,33 +61,29 @@ IF (OSGEARTH_EMBED_GIT_SHA)
get_git_head_revision(GIT_REFSPEC OSGEARTH_GIT_SHA1)
ENDIF (OSGEARTH_EMBED_GIT_SHA)
# IPHONE_PORT@tom
# Trying to get CMake to generate an XCode IPhone project, current efforts are to get iphoneos sdk 3.1 working
# Added option which needs manually setting to select the IPhone SDK for building. We can only have one of the below
# set to true. Should realy have an OSG_BUILD_PLATFORM variable that we set to our desired platform
OPTION(OSG_BUILD_PLATFORM_IPHONE "Enable IPhoneSDK Device support" OFF)
OPTION(OSG_BUILD_PLATFORM_IPHONE_SIMULATOR "Enable IPhoneSDK Simulator support" OFF)
IF(OSG_BUILD_PLATFORM_IPHONE OR OSG_BUILD_PLATFORM_IPHONE_SIMULATOR)
#
SET(OSGEARTH_USE_GLES FALSE)
# check for iOS build
OPTION(OSGEARTH_BUILD_PLATFORM_IPHONE "Enable IPhoneSDK Device support" OFF)
OPTION(OSGEARTH_BUILD_PLATFORM_IPHONE_SIMULATOR "Enable IPhoneSDK Simulator support" OFF)
IF(OSGEARTH_BUILD_PLATFORM_IPHONE OR OSGEARTH_BUILD_PLATFORM_IPHONE_SIMULATOR)
SET(OSGEARTH_USE_GLES TRUE)
#you need to manually set the default sdk version here
SET (IPHONE_SDKVER "6.1")
#the below is taken from ogre, it states the gcc stuff needs to happen before PROJECT() is called. I've no clue if we even need it
# Force gcc <= 4.2 on iPhone
include(CMakeForceCompiler)
CMAKE_FORCE_C_COMPILER(llvm-gcc-4.2 GNU)
CMAKE_FORCE_CXX_COMPILER(llvm-gcc-4.2 GNU)
SET(GCC_THUMB_SUPPORT NO)
#set either the device sdk or the simulator sdk. Can't find away to separate these in the same project
IF(OSG_BUILD_PLATFORM_IPHONE)
SET (IPHONE_DEVROOT "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer")
SET (IPHONE_SDKROOT "${IPHONE_DEVROOT}/SDKs/iPhoneOS${IPHONE_SDKVER}.sdk")
SET (IPHONE_SDKVER "10.2" CACHE STRING "iOS SDK-Version")
SET (IPHONE_VERSION_MIN "8.0" CACHE STRING "IOS minimum os version, use 7.0 or greater to get 64bit support")
SET (IPHONE_PLATFORMSROOT "/Applications/Xcode.app/Contents/Developer/Platforms")
IF(OSGEARTH_BUILD_PLATFORM_IPHONE)
SET(CMAKE_OSX_SYSROOT "${IPHONE_PLATFORMSROOT}/iPhoneOS.platform/Developer/SDKs/iPhoneOS${IPHONE_SDKVER}.sdk" CACHE STRING "System root for iOS" FORCE)
SET(CMAKE_OSX_ARCHITECTURES "armv7;armv7s;arm64" CACHE STRING "Build architectures for iOS" FORCE)
ELSE()
SET (IPHONE_DEVROOT "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer")
SET (IPHONE_SDKROOT "${IPHONE_DEVROOT}/SDKs/iPhoneSimulator${IPHONE_SDKVER}.sdk")
SET(CMAKE_OSX_SYSROOT "${IPHONE_PLATFORMSROOT}/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${IPHONE_SDKVER}.sdk" CACHE STRING "System root for iOS" FORCE)
SET(CMAKE_OSX_ARCHITECTURES "i386" CACHE STRING "Build architectures for iOS Simulator" FORCE)
ENDIF()
ENDIF ()
# IPHONE_PORT@tom
# check if STLport is required
OPTION(USE_STLPORT "Set to ON to build OSGEARTH with stlport instead of the default STL library." OFF)
......@@ -122,7 +109,11 @@ IF(CMAKE_SYSTEM MATCHES IRIX)
SET(CMAKE_THREAD_LIBS_INIT "" CACHE INTERNAL "")
ENDIF(CMAKE_SYSTEM MATCHES IRIX)
IF (OSGEARTH_USE_GLES)
FIND_PACKAGE(OpenGLES)
ELSE ()
FIND_PACKAGE(OpenGL)
ENDIF (OSGEARTH_USE_GLES)
FIND_PACKAGE(CURL)
FIND_PACKAGE(GDAL)
......@@ -137,37 +128,13 @@ FIND_PACKAGE(RocksDB)
FIND_PACKAGE(SilverLining QUIET)
FIND_PACKAGE(Triton QUIET)
FIND_PACKAGE(Protobuf QUIET)
# JavaScript Engines:
SET(V8_DIR "" CACHE PATH "set to base V8 install path")
FIND_PACKAGE(V8)
FIND_PACKAGE(PROTOBUF QUIET)
SET (WITH_EXTERNAL_DUKTAPE FALSE CACHE BOOL "Use bundled or system wide version of Duktape")
IF (WITH_EXTERNAL_DUKTAPE)
FIND_PACKAGE(Duktape)
ENDIF (WITH_EXTERNAL_DUKTAPE)
OPTION(USE_V8 "Use V8 instead of Duktape if V8 is found" OFF)
FIND_PACKAGE(Qt5Core QUIET)
FIND_PACKAGE(Qt5Widgets QUIET)
FIND_PACKAGE(Qt5Gui QUIET)
FIND_PACKAGE(Qt5OpenGL QUIET)
IF ( Qt5Core_FOUND AND Qt5Widgets_FOUND AND Qt5Gui_FOUND AND Qt5OpenGL_FOUND )
SET(QT_INCLUDES ${Qt5Widgets_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS})
ELSE()
FIND_PACKAGE(Qt4)
IF (QT4_FOUND)
INCLUDE(${QT_USE_FILE})
SET(QT_INCLUDES ${QT_INCLUDES} ${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR}${QT_QTOPENGL_INCLUDE_DIR} )
SET(QT_ALL_LIBRARIES ${QT_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTWEBKIT_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTOPENGL_LIBRARY})
ENDIF (QT4_FOUND)
ENDIF ()
OPTION(OSGEARTH_USE_QT "Enable to use Qt (build Qt-dependent libraries, plugins and examples)" OFF)
OPTION(OSGEARTH_QT_BUILD_LEGACY_WIDGETS "Build the legacy Qt widgets" OFF)
# option to install shaders:
OPTION(OSGEARTH_INSTALL_SHADERS "Whether to deploy GLSL shaders when doing a Make INSTALL" OFF)
......@@ -184,12 +151,57 @@ IF(UNIX)
FIND_LIBRARY(MATH_LIBRARY m)
ENDIF(UNIX)
OPTION(OSGEARTH_QT_BUILD "Enable to use Qt (build Qt-dependent libraries, plugins and examples)" OFF)
OPTION(OSGEARTH_QT_BUILD_LEGACY_WIDGETS "Build the legacy Qt widgets" OFF)
set(OSGEARTH_QT_VERSION 5 CACHE STRING "Qt version to use")
IF(OSGEARTH_QT_BUILD)
# To select a specific version of QT define DESIRED_QT_VERSION
# via cmake -DDESIRED_QT_VERSION=5
# QUIET option disables messages if the package cannot be found.
IF (OSGEARTH_QT_VERSION)
IF (OSGEARTH_QT_VERSION MATCHES "5")
FIND_PACKAGE(Qt5Widgets REQUIRED)
ELSEIF (OSGEARTH_QT_VERSION MATCHES "4")
FIND_PACKAGE(Qt4 REQUIRED)
ENDIF()
ELSE()
FIND_PACKAGE(Qt5Widgets QUIET)
IF ( NOT Qt5Widgets_FOUND )
FIND_PACKAGE(Qt4 REQUIRED)
ENDIF()
ENDIF()
ENDIF(OSGEARTH_QT_BUILD)
IF(Qt5Widgets_FOUND)
message(STATUS "Qt: Using version 5")
FIND_PACKAGE(Qt5Core QUIET)
FIND_PACKAGE(Qt5Gui QUIET)
FIND_PACKAGE(Qt5OpenGL QUIET)
FIND_PACKAGE(Qt5OpenGLExtensions QUIET)
IF ( Qt5Core_FOUND AND Qt5Widgets_FOUND AND Qt5Gui_FOUND AND Qt5OpenGL_FOUND AND Qt5OpenGLExtensions_FOUND )
SET(QT_INCLUDES ${Qt5Widgets_INCLUDE_DIRS} ${Qt5OpenGL_INCLUDE_DIRS} ${Qt5OpenGLExtensions_INCLUDE_DIRS})
ENDIF ()
ELSEIF(QT4_FOUND)
message(STATUS "Qt: Using version 4")
INCLUDE(${QT_USE_FILE})
SET(QT_INCLUDES ${QT_INCLUDES} ${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR}${QT_QTOPENGL_INCLUDE_DIR} )
SET(QT_ALL_LIBRARIES ${QT_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTWEBKIT_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTXML_LIBRARY} ${QT_QTOPENGL_LIBRARY})
ENDIF ()
# Common global definitions
#ADD_DEFINITIONS(-D)
# Platform specific definitions
IF(WIN32)
FIND_PACKAGE(GLCORE)
IF(GLCORE_FOUND)
INCLUDE_DIRECTORIES( ${GLCORE_INCLUDE_DIR} )
ENDIF()
IF(MSVC)
# This option is to enable the /MP switch for Visual Studio 2005 and above compilers
OPTION(WIN32_USE_MP "Set to ON to build osgEarth with the /MP option (Visual Studio 2005 and above)." OFF)
......@@ -209,25 +221,6 @@ IF(WIN32)
ENDIF(MSVC)
ENDIF(WIN32)
########################################################################################################
##### these were settings located in SetupCommon.cmake used in Luigi builds.... find out what are useful
########################################################################################################
#luigi#SET(CMAKE_VERBOSE_MAKEFILE TRUE)
#luigi#SET(CMAKE_SKIP_RPATH TRUE)
#luigi#SET(CMAKE_SKIP_RULE_DEPENDENCY TRUE)
#luigi#IF(UNIX)
#luigi# LIST_CONTAINS(contains "g++" ${CMAKE_CXX_COMPILER_LIST})
#luigi# IF (contains)
#luigi# MESSAGE(${MY_MESSAGE_DEFAULT} "${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} setting CMAKE_CXX_COMPILER to g++")
#luigi# SET(CMAKE_CXX_COMPILER "g++")
#luigi# SET(CMAKE_CXX_COMPILER_LOADED 2)
#luigi# SET(CMAKE_CXX_COMPILER_WORKS 2)
#luigi# ENDIF (contains)
#luigi# SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
#luigi# SET(CMAKE_CXX_FLAGS_DEBUG "-ggdb -gstabs")
#luigi#ENDIF(UNIX)
########################################################################################################
# Common to all platforms:
SET(CMAKE_DEBUG_POSTFIX "d" CACHE STRING "add a postfix, usually d on windows")
......@@ -235,6 +228,14 @@ SET(CMAKE_RELEASE_POSTFIX "" CACHE STRING "add a postfix, usually empty on windo
SET(CMAKE_RELWITHDEBINFO_POSTFIX "rd" CACHE STRING "add a postfix, usually empty on windows")
SET(CMAKE_MINSIZEREL_POSTFIX "s" CACHE STRING "add a postfix, usually empty on windows")
INCLUDE(OsgEarthMacroUtils)
DETECT_OSG_VERSION()
IF (NOT OPENSCENEGRAPH_VERSION)
SET(OPENSCENEGRAPH_VERSION ${OPENSCENEGRAPH_MAJOR_VERSION}.${OPENSCENEGRAPH_MINOR_VERSION}.${OPENSCENEGRAPH_PATCH_VERSION})
ENDIF(NOT OPENSCENEGRAPH_VERSION)
FIND_PACKAGE(OSG)
# Make the headers visible to everything
......@@ -280,11 +281,6 @@ SET(LIBRARY_OUTPUT_PATH ${OUTPUT_LIBDIR})
LINK_DIRECTORIES( ${LINK_DIRECTORIES} ${OUTPUT_LIBDIR} )
#SET(INSTALL_BINDIR VIRTUALPLANETBUILDER/bin)
#SET(INSTALL_INCDIR VIRTUALPLANETBUILDER/include)
#SET(INSTALL_LIBDIR VIRTUALPLANETBUILDER/lib)
#SET(INSTALL_DOCDIR VIRTUALPLANETBUILDER/doc)
################################################################################
# User Options
......@@ -330,54 +326,14 @@ ENDIF(INSTALL_TO_OSG_DIR)
# osgEarth Examples
OPTION(BUILD_OSGEARTH_EXAMPLES "Enable to build osgEarth Examples" ON)
INCLUDE(OsgEarthMacroUtils)
DETECT_OSG_VERSION()
SET(OPENSCENEGRAPH_VERSION ${OPENSCENEGRAPH_MAJOR_VERSION}.${OPENSCENEGRAPH_MINOR_VERSION}.${OPENSCENEGRAPH_PATCH_VERSION})
# OE Core
ADD_SUBDIRECTORY(src)
# VPB Applications
# OPTION(BUILD_APPLICATIONS "Enable to build OSGEARTH Applications" ON)
# IF (BUILD_APPLICATIONS)
# ADD_SUBDIRECTORY(applications)
# ENDIF(BUILD_APPLICATIONS)
# Set defaults for Universal Binaries. We want 32-bit Intel/PPC on 10.4
# and 32/64-bit Intel/PPC on >= 10.5. Anything <= 10.3 doesn't support.
IF(APPLE)
#Here we check if the user specified IPhone SDK
IF(OSG_BUILD_PLATFORM_IPHONE OR OSG_BUILD_PLATFORM_IPHONE_SIMULATOR)
IF(OSG_BUILD_PLATFORM_IPHONE)
SET(CMAKE_OSX_ARCHITECTURES "armv7" CACHE STRING "Build architectures for iOS" FORCE)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -miphoneos-version-min=4.1 -mno-thumb -arch armv7 -pipe -no-cpp-precomp" CACHE STRING "Flags used by the compiler during all build types." FORCE)
ELSE()
#simulator uses i386 architectures
SET(CMAKE_OSX_ARCHITECTURES "i386" CACHE STRING "Build architectures for iOS Simulator" FORCE)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mno-thumb -arch i386 -pipe -no-cpp-precomp" CACHE STRING "Flags used by the compiler during all build types." FORCE)
ENDIF()
#here we set the specific iphone sdk version. We can only set either device or simulator sdk. So if you want both you currently have to have two seperate projects
SET(CMAKE_OSX_SYSROOT "${IPHONE_SDKROOT}" CACHE STRING "System root for iOS" FORCE)
#hack, force link to opengles
set(CMAKE_EXE_LINKER_FLAGS "-framework Foundation -framework OpenGLES")
#use the IPhone windowing system
SET(OSG_WINDOWING_SYSTEM "IOS" CACHE STRING "Forced IPhone windowing system on iOS" FORCE)
SET(OSG_DEFAULT_IMAGE_PLUGIN_FOR_OSX "imageio" CACHE STRING "Forced imageio default image plugin for iOS" FORCE)
#I think this or similar will be required for IPhone apps
#OPTION(OSG_BUILD_APPLICATION_BUNDLES "Enable the building of applications and examples as OSX Bundles" ON)
ELSE()
# These are just defaults/recommendations, but how we want to build
# out of the box. But the user needs to be able to change these options.
# So we must only set the values the first time CMake is run, or we
......@@ -409,8 +365,6 @@ IF(APPLE)
OPTION(OSGEARTH_BUILD_FRAMEWORKS "Compile frameworks instead of dylibs" OFF)
SET(OSGEARTH_BUILD_FRAMEWORKS_INSTALL_NAME_DIR "@executable_path/../Frameworks" CACHE STRING "Install name dir for compiled frameworks")
ENDIF()
ENDIF(APPLE)
......
# Locate EXPAT
# This module defines
# EXPAT_LIBRARY
# EXPAT_FOUND, if false, do not try to link to expat
# EXPAT_INCLUDE_DIR, where to find the headers
#
# $EXPAT_DIR is an environment variable that would
# correspond to the ./configure --prefix=$EXPAT_DIR
#
# Created by Robert Osfield, adapted by GW
FIND_PATH(EXPAT_INCLUDE_DIR expat.h
${EXPAT_DIR}/include
$ENV{EXPAT_DIR}/include
$ENV{EXPAT_DIR}/Source/lib #Windows Binary Installer
$ENV{EXPAT_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
/usr/freeware/include
/devel
)
FIND_LIBRARY(EXPAT_LIBRARY
NAMES expat expat_i expat-2.0.1 libexpat
PATHS
${EXPAT_DIR}/lib
$ENV{EXPAT_DIR}/lib
$ENV{EXPAT_DIR}/bin #Windows Binary Installer
$ENV{EXPAT_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
SET(EXPAT_FOUND "NO")
IF(EXPAT_LIBRARY AND EXPAT_INCLUDE_DIR)
SET(EXPAT_FOUND "YES")
ENDIF(EXPAT_LIBRARY AND EXPAT_INCLUDE_DIR)
......@@ -19,13 +19,17 @@
# This makes the presumption that you are include gdal.h like
# #include "gdal.h"
SET(GDAL_DIR "" CACHE PATH "Root folder of GDAL dependency")
FIND_PATH(GDAL_INCLUDE_DIR gdal.h
${GDAL_DIR}
$ENV{GDAL_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES include
PATH_SUFFIXES include include/gdal
)
FIND_PATH(GDAL_INCLUDE_DIR gdal.h
${GDAL_DIR}
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES include
......@@ -33,6 +37,7 @@ FIND_PATH(GDAL_INCLUDE_DIR gdal.h
FIND_PATH(GDAL_INCLUDE_DIR gdal.h
PATHS
${GDAL_DIR}/include
~/Library/Frameworks/gdal.framework/Headers
/Library/Frameworks/gdal.framework/Headers
/usr/local/include/gdal
......@@ -60,6 +65,7 @@ FIND_LIBRARY(GDAL_LIBRARY
NAMES gdal gdal_i gdal1.8.0 gdal1.7.0 gdal1.6.0 gdal1.5.0 gdal1.4.0 gdal1.3.2 GDAL
PATHS
c:/Program Files/FWTools2.1.0/lib
${GDAL_DIR}/lib
$ENV{GDAL_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
......@@ -68,12 +74,14 @@ FIND_LIBRARY(GDAL_LIBRARY
NAMES gdal gdal_i gdal1.8.0 gdal1.7.0 gdal1.6.0 gdal1.5.0 gdal1.4.0 gdal1.3.2 GDAL
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
c:/Program Files/FWTools2.1.0/lib
${GDAL_DIR}/lib
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
FIND_LIBRARY(GDAL_LIBRARY
NAMES gdal gdal_i gdal1.8.0 gdal1.7.0 gdal1.6.0 gdal1.5.0 gdal1.4.0 gdal1.3.2 GDAL
PATHS
${GDAL_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local
......
......@@ -5,7 +5,10 @@
# GEOS_FOUND, if false, do not try to link to geos
# GEOS_INCLUDE_DIR, where to find the headers
SET(GEOS_DIR "" CACHE PATH "Root directory of GEOS distribution")
FIND_PATH(GEOS_INCLUDE_DIR geos/geom/Geometry.h
${GEOS_DIR}
$ENV{GEOS_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES include
......@@ -13,14 +16,15 @@ FIND_PATH(GEOS_INCLUDE_DIR geos/geom/Geometry.h
FIND_PATH(GEOS_INCLUDE_DIR geos/geom/Geometry.h
PATHS
~/Library/Frameworks/geos/Headers
/Library/Frameworks/geos/Headers
${GEOS_DIR}/include
/usr/local/include/geos
/usr/local/include/GEOS
/usr/local/include
/usr/include/geos
/usr/include/GEOS
/usr/include
~/Library/Frameworks/geos/Headers
/Library/Frameworks/geos/Headers
/sw/include/geos
/sw/include/GEOS
/sw/include # Fink
......@@ -39,6 +43,7 @@ FIND_PATH(GEOS_INCLUDE_DIR geos/geom/Geometry.h
FIND_LIBRARY(GEOS_LIBRARY
NAMES geos
PATHS
${GEOS_DIR}/lib
$ENV{GEOS_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
......@@ -59,17 +64,17 @@ FIND_LIBRARY(GEOS_LIBRARY
PATH_SUFFIXES lib64 lib
)
FIND_LIBRARY(GEOS_LIBRARY_DEBUG
NAMES geod_d geos_i_d geosd
NAMES geos_d geos_i_d geosd
PATHS
${GEOS_DIR}/lib
$ENV{GEOS_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
FIND_LIBRARY(GEOS_LIBRARY_DEBUG
NAMES geod_d geos_i_d geosd
NAMES geos_d geos_i_d geosd
PATHS
~/Library/Frameworks
/Library/Frameworks
......
# Finds the OpenGL Core Profile (cp) header file.
# Looks for glcorearb.h
#
# This script defines the following:
# GLCORE_FOUND // Set to TRUE if glcorearb.h is found
# GLCORE_INCLUDE_DIR // Parent directory of directory (gl, GL3, or OpenGL) containing the CP header.
# GLCORE_GLCOREARB_HEADER // advanced
#
# GLCORE_ROOT can be set as an environment variable or a CMake variable,
# to the parent directory of the gl, GL3, or OpenGL directory containing the CP header.
#
FIND_PATH( GLCORE_GLCOREARB_HEADER
NAMES GL/glcorearb.h GL3/glcorearb.h OpenGL/glcorearb.h gl/glcorearb.h
HINTS ${GLCORE_ROOT}
PATHS ENV GLCORE_ROOT
)
set( GLCORE_INCLUDE_DIR )
if( GLCORE_GLCOREARB_HEADER )
set( GLCORE_INCLUDE_DIR ${GLCORE_GLCOREARB_HEADER} )
endif()
# handle the QUIETLY and REQUIRED arguments and set
# GLCORE_FOUND to TRUE as appropriate
INCLUDE( FindPackageHandleStandardArgs )
FIND_PACKAGE_HANDLE_STANDARD_ARGS( GLCORE
"Set GLCORE_ROOT as the parent of the directory containing the OpenGL core profile header."
GLCORE_INCLUDE_DIR )
MARK_AS_ADVANCED(
GLCORE_INCLUDE_DIR
GLCORE_GLCOREARB_HEADER
)
# Locate JavaScriptCore
# This module defines
# JAVASCRIPTCORE_LIBRARY
# JAVASCRIPTCORE_FOUND, if false, do not try to link to JavaScriptCore
# JAVASCRIPTCORE_INCLUDE_DIR, where to find the headers
FIND_PATH(JAVASCRIPTCORE_INCLUDE_DIR JavaScriptCore.h
${JAVASCRIPTCORE_DIR}/include
$ENV{JAVASCRIPTCORE_DIR}/include
$ENV{JAVASCRIPTCORE_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
/usr/freeware/include
/devel
)
FIND_LIBRARY(JAVASCRIPTCORE_LIBRARY
NAMES libJavaScriptCore JavaScriptCore
PATHS
${JAVASCRIPTCORE_DIR}
${JAVASCRIPTCORE_DIR}/lib
$ENV{JAVASCRIPTCORE_DIR}
$ENV{JAVASCRIPTCORE_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
SET(JAVASCRIPTCORE_FOUND "NO")
IF(JAVASCRIPTCORE_LIBRARY AND JAVASCRIPTCORE_INCLUDE_DIR)
SET(JAVASCRIPTCORE_FOUND "YES")
ENDIF(JAVASCRIPTCORE_LIBRARY AND JAVASCRIPTCORE_INCLUDE_DIR)
......@@ -4,8 +4,11 @@
# LEVELDB_FOUND, if false, do not try to link to libnoise
# LEVELDB_INCLUDE_DIR, where to find the headers
SET(LEVELDB_DIR "" CACHE PATH "Root folder of LevelDB distribution")
FIND_PATH(LEVELDB_INCLUDE_DIR leveldb/db.h
PATHS
${LEVELDB_DIR}
$ENV{LEVELDB_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES include
......@@ -38,6 +41,7 @@ FIND_PATH(LEVELDB_INCLUDE_DIR leveldb/db.h
FIND_LIBRARY(LEVELDB_LIBRARY
NAMES libleveldb leveldb leveldb_static
PATHS
${LEVELDB_DIR}
$ENV{LEVELDB_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
......@@ -60,6 +64,7 @@ FIND_LIBRARY(LEVELDB_LIBRARY
FIND_LIBRARY(LEVELDB_LIBRARY_DEBUG
NAMES libleveldbd leveldbd leveldb_staticd
PATHS
${LEVELDB_DIR}
$ENV{LEVELDB_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
......
# Locate libnoise.
# This module defines
# LIBNOISE_LIBRARY
# LIBNOISE_FOUND, if false, do not try to link to libnoise
# LIBNOISE_INCLUDE_DIR, where to find the headers
FIND_PATH(LIBNOISE_INCLUDE_DIR noise.h
$ENV{LIBNOISE_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
FIND_PATH(LIBNOISE_INCLUDE_DIR noise.h
PATHS
~/Library/Frameworks/noise/Headers
/Library/Frameworks/noise/Headers
/usr/local/include/noise
/usr/local/include/noise
/usr/local/include
/usr/include/noise
/usr/include/noise
/usr/include
/sw/include/noise
/sw/include/noise
/sw/include # Fink
/opt/local/include/noise
/opt/local/include/noise
/opt/local/include # DarwinPorts
/opt/csw/include/noise
/opt/csw/include/noise
/opt/csw/include # Blastwave
/opt/include/noise
/opt/include/noise
/opt/include
)
FIND_LIBRARY(LIBNOISE_LIBRARY
NAMES libnoise noise
PATHS
$ENV{LIBNOISE_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
FIND_LIBRARY(LIBNOISE_LIBRARY
NAMES libnoise noise
PATHS
~/Library/Frameworks
/Library/Frameworks
/usr/local
/usr
/sw
/opt/local
/opt/csw
/opt
/usr/freeware
PATH_SUFFIXES lib64 lib
)
SET(LIBNOISE_FOUND "NO")
IF(LIBNOISE_LIBRARY AND LIBNOISE_INCLUDE_DIR)
SET(LIBNOISE_FOUND "YES")
ENDIF(LIBNOISE_LIBRARY AND LIBNOISE_INCLUDE_DIR)
......@@ -119,8 +119,18 @@ FIND_OSG_LIBRARY( OSGMANIPULATOR_LIBRARY_DEBUG osgManipulatord )
FIND_OSG_LIBRARY( OSGPARTICLE_LIBRARY osgParticle )
FIND_OSG_LIBRARY( OSGPARTICLE_LIBRARY_DEBUG osgParticled )
IF(OPENSCENEGRAPH_VERSION VERSION_LESS "3.5.6")
FIND_OSG_LIBRARY( OSGQT_LIBRARY osgQt )
FIND_OSG_LIBRARY( OSGQT_LIBRARY_DEBUG osgQtd )
ELSE(OPENSCENEGRAPH_VERSION VERSION_LESS "3.5.6")
IF(Qt5Widgets_FOUND)
FIND_OSG_LIBRARY( OSGQT_LIBRARY osgQt5 )
FIND_OSG_LIBRARY( OSGQT_LIBRARY_DEBUG osgQt5d )
ELSE(Qt5Widgets_FOUND)
FIND_OSG_LIBRARY( OSGQT_LIBRARY osgQt )
FIND_OSG_LIBRARY( OSGQT_LIBRARY_DEBUG osgQtd )
ENDIF(Qt5Widgets_FOUND)
ENDIF(OPENSCENEGRAPH_VERSION VERSION_LESS "3.5.6")
FIND_OSG_LIBRARY( OPENTHREADS_LIBRARY OpenThreads )
FIND_OSG_LIBRARY( OPENTHREADS_LIBRARY_DEBUG OpenThreadsd )
......
IF(APPLE)
FIND_LIBRARY(OPENGL_LIBRARY NAMES OpenGLES
PATHS ${CMAKE_OSX_SYSROOT}/System/Library
PATH_SUFFIXES Frameworks
NO_DEFAULT_PATH)
MESSAGE("Found OpenGLES library ${OPENGL_LIBRARY}")
SET(OPENGL_LIBRARIES ${OPENGL_LIBRARY})
SET(OPENGL_INCLUDE_DIR "${OPENGL_LIBRARIES}/Headers")
SET(OPENGL_FOUND TRUE)
ELSE ()
MESSAGE("Could not find OpenGLES library")
ENDIF()
# Locate RocksDB
SET(ROCKSDB_DIR "" CACHE PATH "Root directory of RocksDB distribution")
FIND_PATH(ROCKSDB_INCLUDE_DIR rocksdb/db.h
PATHS
${ROCKSDB_DIR}
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
find_library(ROCKSDB_LIBRARY NAMES ROCKSDBLIB
find_library(ROCKSDB_LIBRARY NAMES ROCKSDBLIB rocksdb
PATHS
${ROCKSDB_DIR}
${ROCKSDB_DIR}/bin/Release
......@@ -16,7 +16,7 @@ find_library(ROCKSDB_LIBRARY NAMES ROCKSDBLIB
)
find_library(ROCKSDB_LIBRARY_DEBUG NAMES ROCKSDBLIB
find_library(ROCKSDB_LIBRARY_DEBUG NAMES ROCKSDBLIB rocksdb
PATHS
${ROCKSDB_DIR}
${ROCKSDB_DIR}/bin/Debug
......
# Locate V8
# This module defines
# V8_LIBRARY
# V8_FOUND, if false, do not try to link to V8
# V8_INCLUDE_DIR, where to find the headers
FIND_PATH(V8_INCLUDE_DIR v8.h
${V8_DIR}/include
$ENV{V8_DIR}/include
$ENV{V8_DIR}
~/Library/Frameworks
/Library/Frameworks
/usr/local/include
/usr/include
/sw/include # Fink
/opt/local/include # DarwinPorts
/opt/csw/include # Blastwave
/opt/include
/usr/freeware/include
/devel
)
# On non-Unix platforms (Mac and Windows specifically based on the forum),
# V8 builds separate shared (or at least linkable) libraries for v8_base and v8_snapshot
IF(NOT UNIX)
FIND_LIBRARY(V8_BASE_LIBRARY
NAMES v8_base v8_base.ia32 v8_base.x64 libv8_base
PATHS
${V8_DIR}
${V8_DIR}/lib
${V8_DIR}/build/Release/lib
$ENV{V8_DIR}
$ENV{V8_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
FIND_LIBRARY(V8_BASE_LIBRARY_DEBUG
NAMES v8_base v8_base.ia32 v8_base.x64 libv8_base
PATHS
${V8_DIR}
${V8_DIR}/lib
${V8_DIR}/build/Debug/lib
$ENV{V8_DIR}
$ENV{V8_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
FIND_LIBRARY(V8_SNAPSHOT_LIBRARY
NAMES v8_snapshot libv8_snapshot
PATHS
${V8_DIR}
${V8_DIR}/lib
${V8_DIR}/build/Release/lib
$ENV{V8_DIR}
$ENV{V8_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
FIND_LIBRARY(V8_SNAPSHOT_LIBRARY_DEBUG
NAMES v8_snapshot libv8_snapshot
PATHS
${V8_DIR}
${V8_DIR}/lib
${V8_DIR}/build/Debug/lib
$ENV{V8_DIR}
$ENV{V8_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
# On Linux, there is just a libv8.so shared library built.
# (well, there are pseudo-static libraries libv8_base.a and libv8_snapshot.a
# but they don't seem to link correctly)
ELSE()
FIND_LIBRARY(V8_LIBRARY
NAMES v8
PATHS
${V8_DIR}
${V8_DIR}/lib
${V8_DIR}/build/Release/lib
# Having both architectures listed is problematic if both have been
# built (which is the default)
${V8_DIR}/out/ia32.release/lib.target/
${V8_DIR}/out/x64.release/lib.target/
$ENV{V8_DIR}
$ENV{V8_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
FIND_LIBRARY(V8_LIBRARY_DEBUG
NAMES v8
PATHS
${V8_DIR}
${V8_DIR}/lib
${V8_DIR}/build/Debug/lib
${V8_DIR}/out/ia32.debug/lib.target/
${V8_DIR}/out/x64.debug/lib.target/
$ENV{V8_DIR}
$ENV{V8_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
ENDIF(NOT UNIX)
# icuuc and icui18n build fine on all platforms
FIND_LIBRARY(V8_ICUUC_LIBRARY
NAMES icuuc libicuuc
PATHS
${V8_DIR}
${V8_DIR}/lib
${V8_DIR}/build/Release/lib
${V8_DIR}/out/ia32.release/lib.target/
${V8_DIR}/out/x64.release/lib.target/
$ENV{V8_DIR}
$ENV{V8_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
FIND_LIBRARY(V8_ICUUC_LIBRARY_DEBUG
NAMES icuuc libicuuc
PATHS
${V8_DIR}
${V8_DIR}/lib
${V8_DIR}/build/Debug/lib
${V8_DIR}/out/ia32.debug/lib.target/
${V8_DIR}/out/x64.debug/lib.target/
$ENV{V8_DIR}
$ENV{V8_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
FIND_LIBRARY(V8_ICUI18N_LIBRARY
NAMES icui18n libicui18n
PATHS
${V8_DIR}
${V8_DIR}/lib
${V8_DIR}/build/Release/lib
${V8_DIR}/out/ia32.release/lib.target/
${V8_DIR}/out/x64.release/lib.target/
$ENV{V8_DIR}
$ENV{V8_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
FIND_LIBRARY(V8_ICUI18N_LIBRARY_DEBUG
NAMES icui18n libicui18n
PATHS
${V8_DIR}
${V8_DIR}/lib
${V8_DIR}/build/Debug/lib
${V8_DIR}/out/ia32.debug/lib.target/
${V8_DIR}/out/x64.debug/lib.target/
$ENV{V8_DIR}
$ENV{V8_DIR}/lib
~/Library/Frameworks
/Library/Frameworks
/usr/local/lib
/usr/lib
/sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
/usr/freeware/lib64
)
SET(V8_FOUND "NO")
IF(NOT UNIX)
IF(V8_BASE_LIBRARY AND V8_SNAPSHOT_LIBRARY AND V8_ICUUC_LIBRARY AND V8_ICUI18N_LIBRARY AND V8_INCLUDE_DIR)
SET(V8_FOUND "YES")
ENDIF(V8_BASE_LIBRARY AND V8_SNAPSHOT_LIBRARY AND V8_ICUUC_LIBRARY AND V8_ICUI18N_LIBRARY AND V8_INCLUDE_DIR)
ELSEIF(V8_LIBRARY AND V8_ICUUC_LIBRARY AND V8_ICUI18N_LIBRARY AND V8_INCLUDE_DIR)
SET(V8_FOUND "YES")
ENDIF(NOT UNIX)
......@@ -2,7 +2,15 @@
# ${LIB_NAME}
# ${LIB_PUBLIC_HEADERS}
SET(INSTALL_INCDIR include)
# Optional Vars:
# ${HEADER_INSTALL_DIR}
IF(HEADER_INSTALL_DIR)
SET(INSTALL_INCDIR include/${HEADER_INSTALL_DIR})
ELSE()
SET(INSTALL_INCDIR include/${LIB_NAME})
ENDIF()
SET(INSTALL_BINDIR bin)
IF(WIN32)
SET(INSTALL_LIBDIR bin)
......@@ -45,7 +53,7 @@ endif(OSGEARTH_INSTALL_SHADERS)
IF(NOT OSGEARTH_BUILD_FRAMEWORKS)
INSTALL(
FILES ${LIB_PUBLIC_HEADERS}
DESTINATION ${INSTALL_INCDIR}/${LIB_NAME}
DESTINATION ${INSTALL_INCDIR}
)
ELSE()
SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
......
......@@ -3,62 +3,64 @@
#######################################################################################################
MACRO(DETECT_OSG_VERSION)
# Fall back to OSG_DIR if OSG_INCLUDE_DIR is not defined
if(OSG_DIR AND NOT OSG_INCLUDE_DIR AND EXISTS "${OSG_DIR}/include/osg/Version")
set(OSG_INCLUDE_DIR "${OSG_DIR}/include")
endif()
OPTION(APPEND_OPENSCENEGRAPH_VERSION "Append the OSG version number to the osgPlugins directory" ON)
# detect if osgversion can be found
FIND_PROGRAM(OSG_VERSION_EXE NAMES
osgversion
${OSG_DIR}/bin/osgversion
${OSG_DIR}/bin/osgversiond)
IF(OSG_VERSION_EXE AND NOT OPENSCENEGRAPH_MAJOR_VERSION AND NOT OPENSCENEGRAPH_MINOR_VERSION AND NOT OPENSCENEGRAPH_PATCH_VERSION)
#MESSAGE("OSGVERSION IS AT ${OSG_VERSION_EXE}")
# get parameters out of the osgversion
EXECUTE_PROCESS(COMMAND ${OSG_VERSION_EXE} --major-number OUTPUT_VARIABLE OPENSCENEGRAPH_MAJOR_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
EXECUTE_PROCESS(COMMAND ${OSG_VERSION_EXE} --minor-number OUTPUT_VARIABLE OPENSCENEGRAPH_MINOR_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
EXECUTE_PROCESS(COMMAND ${OSG_VERSION_EXE} --patch-number OUTPUT_VARIABLE OPENSCENEGRAPH_PATCH_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
EXECUTE_PROCESS(COMMAND ${OSG_VERSION_EXE} Matrix::value_type OUTPUT_VARIABLE OSG_USE_FLOAT_MATRIX OUTPUT_STRIP_TRAILING_WHITESPACE)
EXECUTE_PROCESS(COMMAND ${OSG_VERSION_EXE} Plane::value_type OUTPUT_VARIABLE OSG_USE_FLOAT_PLANE OUTPUT_STRIP_TRAILING_WHITESPACE)
EXECUTE_PROCESS(COMMAND ${OSG_VERSION_EXE} BoundingSphere::value_type OUTPUT_VARIABLE OSG_USE_FLOAT_BOUNDINGSPHERE OUTPUT_STRIP_TRAILING_WHITESPACE)
EXECUTE_PROCESS(COMMAND ${OSG_VERSION_EXE} BoundingBox::value_type OUTPUT_VARIABLE OSG_USE_FLOAT_BOUNDINGBOX OUTPUT_STRIP_TRAILING_WHITESPACE)
# setup version numbers if we have osgversion
SET(OPENSCENEGRAPH_MAJOR_VERSION "${OPENSCENEGRAPH_MAJOR_VERSION}" CACHE STRING "OpenSceneGraph major version number")
SET(OPENSCENEGRAPH_MINOR_VERSION "${OPENSCENEGRAPH_MINOR_VERSION}" CACHE STRING "OpenSceneGraph minor version number")
SET(OPENSCENEGRAPH_PATCH_VERSION "${OPENSCENEGRAPH_PATCH_VERSION}" CACHE STRING "OpenSceneGraph patch version number")
SET(OPENSCENEGRAPH_SOVERSION "${OPENSCENEGRAPH_SOVERSION}" CACHE STRING "OpenSceneGraph so version number")
# just debug info
#MESSAGE(STATUS "Detected OpenSceneGraph v${OPENSCENEGRAPH_VERSION}.")
# setup float and double definitions
IF(OSG_USE_FLOAT_MATRIX MATCHES "float")
ADD_DEFINITIONS(-DOSG_USE_FLOAT_MATRIX)
ENDIF(OSG_USE_FLOAT_MATRIX MATCHES "float")
IF(OSG_USE_FLOAT_PLANE MATCHES "float")
ADD_DEFINITIONS(-DOSG_USE_FLOAT_PLANE)
ENDIF(OSG_USE_FLOAT_PLANE MATCHES "float")
IF(OSG_USE_FLOAT_BOUNDINGSPHERE MATCHES "double")
ADD_DEFINITIONS(-DOSG_USE_DOUBLE_BOUNDINGSPHERE)
ENDIF(OSG_USE_FLOAT_BOUNDINGSPHERE MATCHES "double")
IF(OSG_USE_FLOAT_BOUNDINGBOX MATCHES "double")
ADD_DEFINITIONS(-DOSG_USE_DOUBLE_BOUNDINGBOX)
ENDIF(OSG_USE_FLOAT_BOUNDINGBOX MATCHES "double")
ENDIF(OSG_VERSION_EXE AND NOT OPENSCENEGRAPH_MAJOR_VERSION AND NOT OPENSCENEGRAPH_MINOR_VERSION AND NOT OPENSCENEGRAPH_PATCH_VERSION)
#Initialize the version numbers to being empty. If they were set by osgversion, they will be left alone
SET(OPENSCENEGRAPH_MAJOR_VERSION "" CACHE STRING "OpenSceneGraph major version number")
SET(OPENSCENEGRAPH_MINOR_VERSION "" CACHE STRING "OpenSceneGraph minor version number")
SET(OPENSCENEGRAPH_PATCH_VERSION "" CACHE STRING "OpenSceneGraph patch version number")
SET(OPENSCENEGRAPH_SOVERSION "" CACHE STRING "OpenSceneGraph so version number")
if (OPENSCENEGRAPH_MAJOR_VERSION AND NOT OPENSCENEGRAPH_MINOR_VERSION STREQUAL "" AND NOT OPENSCENEGRAPH_PATCH_VERSION STREQUAL "")
SET(OPENSCENEGRAPH_VERSION ${OPENSCENEGRAPH_MAJOR_VERSION}.${OPENSCENEGRAPH_MINOR_VERSION}.${OPENSCENEGRAPH_PATCH_VERSION})
else (OPENSCENEGRAPH_MAJOR_VERSION AND NOT OPENSCENEGRAPH_MINOR_VERSION STREQUAL "" AND NOT OPENSCENEGRAPH_PATCH_VERSION STREQUAL "")
#MESSAGE("osgversion was found at ${OSG_VERSION_EXE} but failed to run")
SET(OPENSCENEGRAPH_VERSION)
endif (OPENSCENEGRAPH_MAJOR_VERSION AND NOT OPENSCENEGRAPH_MINOR_VERSION STREQUAL "" AND NOT OPENSCENEGRAPH_PATCH_VERSION STREQUAL "")
# Try to ascertain the version...
# (Taken from CMake's FindOpenSceneGraph.cmake)
if(OSG_INCLUDE_DIR)
if(OpenSceneGraph_DEBUG)
message(STATUS "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
"Detected OSG_INCLUDE_DIR = ${OSG_INCLUDE_DIR}")
endif()
set(_osg_Version_file "${OSG_INCLUDE_DIR}/osg/Version")
if("${OSG_INCLUDE_DIR}" MATCHES "\\.framework$" AND NOT EXISTS "${_osg_Version_file}")
set(_osg_Version_file "${OSG_INCLUDE_DIR}/Headers/Version")
endif()
if(EXISTS "${_osg_Version_file}")
file(STRINGS "${_osg_Version_file}" _osg_Version_contents
REGEX "#define (OSG_VERSION_[A-Z]+|OPENSCENEGRAPH_[A-Z]+_VERSION)[ \t]+[0-9]+")
else()
set(_osg_Version_contents "unknown")
endif()
string(REGEX MATCH ".*#define OSG_VERSION_MAJOR[ \t]+[0-9]+.*"
_osg_old_defines "${_osg_Version_contents}")
string(REGEX MATCH ".*#define OPENSCENEGRAPH_MAJOR_VERSION[ \t]+[0-9]+.*"
_osg_new_defines "${_osg_Version_contents}")
if(_osg_old_defines)
string(REGEX REPLACE ".*#define OSG_VERSION_MAJOR[ \t]+([0-9]+).*"
"\\1" _osg_VERSION_MAJOR ${_osg_Version_contents})
string(REGEX REPLACE ".*#define OSG_VERSION_MINOR[ \t]+([0-9]+).*"
"\\1" _osg_VERSION_MINOR ${_osg_Version_contents})
string(REGEX REPLACE ".*#define OSG_VERSION_PATCH[ \t]+([0-9]+).*"
"\\1" _osg_VERSION_PATCH ${_osg_Version_contents})
elseif(_osg_new_defines)
string(REGEX REPLACE ".*#define OPENSCENEGRAPH_MAJOR_VERSION[ \t]+([0-9]+).*"
"\\1" _osg_VERSION_MAJOR ${_osg_Version_contents})
string(REGEX REPLACE ".*#define OPENSCENEGRAPH_MINOR_VERSION[ \t]+([0-9]+).*"
"\\1" _osg_VERSION_MINOR ${_osg_Version_contents})
string(REGEX REPLACE ".*#define OPENSCENEGRAPH_PATCH_VERSION[ \t]+([0-9]+).*"
"\\1" _osg_VERSION_PATCH ${_osg_Version_contents})
else()
message(WARNING "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
"Failed to parse version number, please report this as a bug")
endif()
unset(_osg_Version_contents)
set(OPENSCENEGRAPH_VERSION "${_osg_VERSION_MAJOR}.${_osg_VERSION_MINOR}.${_osg_VERSION_PATCH}"
CACHE INTERNAL "The version of OSG which was detected")
if(OpenSceneGraph_DEBUG)
message(STATUS "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
"Detected version ${OPENSCENEGRAPH_VERSION}")
endif()
endif()
MARK_AS_ADVANCED(OPENSCENEGRAPH_VERSION)
......@@ -88,38 +90,22 @@ ENDMACRO(DETECT_OSG_VERSION)
# the content of this library for linking when in debugging
#######################################################################################################
MACRO(LINK_WITH_VARIABLES TRGTNAME)
FOREACH(varname ${ARGN})
IF(${varname}_DEBUG)
IF(${varname})
IF(${varname}_RELEASE)
TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${${varname}_RELEASE}" debug "${${varname}_DEBUG}")
ELSE(${varname}_RELEASE)
TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${${varname}}" debug "${${varname}_DEBUG}")
ELSE(${varname})
TARGET_LINK_LIBRARIES(${TRGTNAME} debug "${${varname}_DEBUG}")
ENDIF(${varname})
ENDIF(${varname}_RELEASE)
ELSE(${varname}_DEBUG)
TARGET_LINK_LIBRARIES(${TRGTNAME} "${${varname}}" )
TARGET_LINK_LIBRARIES(${TRGTNAME} ${${varname}} )
ENDIF(${varname}_DEBUG)
ENDFOREACH(varname)
ENDMACRO(LINK_WITH_VARIABLES TRGTNAME)
MACRO(LINK_INTERNAL TRGTNAME)
IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.4)
TARGET_LINK_LIBRARIES(${TRGTNAME} ${ARGN})
ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.4)
FOREACH(LINKLIB ${ARGN})
IF(MSVC AND OSG_MSVC_VERSIONED_DLL)
#when using versioned names, the .dll name differ from .lib name, there is a problem with that:
#CMake 2.4.7, at least seem to use PREFIX instead of IMPORT_PREFIX for computing linkage info to use into projects,
# so we full path name to specify linkage, this prevent automatic inferencing of dependencies, so we add explicit depemdencies
#to library targets used
TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${OUTPUT_LIBDIR}/${LINKLIB}${CMAKE_RELEASE_POSTFIX}.lib" debug "${OUTPUT_LIBDIR}/${LINKLIB}${CMAKE_DEBUG_POSTFIX}.lib")
ADD_DEPENDENCIES(${TRGTNAME} ${LINKLIB})
ELSE(MSVC AND OSG_MSVC_VERSIONED_DLL)
TARGET_LINK_LIBRARIES(${TRGTNAME} optimized "${LINKLIB}${CMAKE_RELEASE_POSTFIX}" debug "${LINKLIB}${CMAKE_DEBUG_POSTFIX}")
ENDIF(MSVC AND OSG_MSVC_VERSIONED_DLL)
ENDFOREACH(LINKLIB)
ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.4)
ENDMACRO(LINK_INTERNAL TRGTNAME)
MACRO(LINK_EXTERNAL TRGTNAME)
......@@ -456,7 +442,7 @@ MACRO(SETUP_EXAMPLE EXAMPLE_NAME)
SETUP_EXE(${IS_COMMANDLINE_APP})
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin )
INSTALL(TARGETS ${TARGET_TARGETNAME} RUNTIME DESTINATION share/OpenSceneGraph/bin BUNDLE DESTINATION share/OpenSceneGraph/bin )
ENDMACRO(SETUP_EXAMPLE)
......
......@@ -379,6 +379,7 @@
<image_width>25</image_width>
<image_height>25</image_height>
<tiled>true</tiled>
<atlas>false</atlas>
</skin>
<skin name="roof_tiled2" tags="rooftop">
......@@ -386,6 +387,7 @@
<image_width>25</image_width>
<image_height>25</image_height>
<tiled>true</tiled>
<atlas>false</atlas>
</skin>
<skin name="roof_tiled3" tags="rooftop">
......@@ -393,6 +395,7 @@
<image_width>25</image_width>
<image_height>25</image_height>
<tiled>true</tiled>
<atlas>false</atlas>
</skin>
<!-- rooftops : non-tiled -->
......@@ -432,6 +435,7 @@
<image_width>50</image_width>
<image_height>50</image_height>
<tiled>true</tiled>
<atlas>false</atlas>
</skin>
</resources>
osgearth (2.8.0+dfsg-3) UNRELEASED; urgency=medium
osgearth (2.9.0+dfsg-1) unstable; urgency=medium
* Bump Standards-Version to 4.1.2, no changes.
* New upstream release.
* Update symbols for other architectures.
* Strip pre-release from symbols version.
* Update symbols for amd64.
* Add patch to fix spelling errors.
* Move from experimental to unstable.
-- Bas Couwenberg <sebastic@debian.org> Wed, 07 Feb 2018 18:53:05 +0100
osgearth (2.9~rc3+dfsg-1~exp1) experimental; urgency=medium
* New upstream release candidate.
* Update symbols for amd64.
-- Bas Couwenberg <sebastic@debian.org> Fri, 02 Feb 2018 07:23:55 +0100
osgearth (2.9~rc2+dfsg-1~exp1) experimental; urgency=medium
* New upstream release candidate.
* Update Files-Excluded for osgEarth 2.9rc2.
* Don't explicitly disable FastDXT driver, disabled upstream.
* Drop spelling-errors.patch, applied upstream.
* Update symbols for amd64.
-- Bas Couwenberg <sebastic@debian.org> Thu, 25 Jan 2018 07:36:40 +0100
osgearth (2.9~rc1+dfsg-1~exp2) experimental; urgency=medium
* Update copyright-format URL to use HTTPS.
* Disable FastDXT driver, fails to build on most architectures.
See: https://github.com/gwaldron/osgearth/issues/1034
-- Bas Couwenberg <sebastic@debian.org> Thu, 18 Jan 2018 15:41:55 +0100
osgearth (2.9~rc1+dfsg-1~exp1) experimental; urgency=medium
* New upstream release candidate.
* Bump Standards-Version to 4.1.3, no changes.
* Strip trailing whitespace from changelog.
* Update Files-Excluded for osgEarth 2.9rc1.
* Refresh patches.
* Update packaging for libosgEarthQt changes.
* Set OSG_DIR CMake option to fix OpenSceneGraph detection.
* Update symbols for amd64.
* Update paths for EarthMultiTouchManipulator sources in copyright file.
* Don't install osgEarth_tests executable.
* Add patch to fix spelling errors.
-- Bas Couwenberg <sebastic@debian.org> Sat, 23 Sep 2017 19:55:10 +0200
-- Bas Couwenberg <sebastic@debian.org> Sun, 07 Jan 2018 14:04:37 +0100
osgearth (2.8.0+dfsg-2) unstable; urgency=medium
......
......@@ -25,7 +25,7 @@ Build-Depends: debhelper (>= 9),
docbook-xsl,
docbook-xml,
xsltproc
Standards-Version: 4.1.2
Standards-Version: 4.1.3
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-grass/osgearth.git
Vcs-Git: https://anonscm.debian.org/git/pkg-grass/osgearth.git
Homepage: http://osgearth.org/
......@@ -111,7 +111,7 @@ Description: Dynamic 3D terrain rendering toolkit for OpenSceneGraph (osgEarthFe
.
This package contains the shared library libosgEarthFeatures.
Package: libosgearthqt5
Package: libosgearthqt5-5
Architecture: any
Section: libs
Depends: ${shlibs:Depends},
......@@ -195,7 +195,7 @@ Section: libdevel
Depends: libosgearth5 (= ${binary:Version}),
libosgearthannotation5 (= ${binary:Version}),
libosgearthfeatures5 (= ${binary:Version}),
libosgearthqt5 (= ${binary:Version}),
libosgearthqt5-5 (= ${binary:Version}),
libosgearthsplat5 (= ${binary:Version}),
libosgearthsymbology5 (= ${binary:Version}),
libosgearthutil5 (= ${binary:Version}),
......
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: osgEarth
Upstream-Contact: Glenn Waldron <gwaldron@gmail.com>
Source: https://github.com/gwaldron/osgearth/releases
......@@ -32,6 +32,7 @@ Files-Excluded: data/2s19_ru_desert.tga
data/2s19_ru_dmg_desert.tga
data/2s19_ru_tred_common.tga
data/arconline_nodata.png
data/asphalt.jpg
data/axes.osgt
data/bank.png
data/BostonBldgs.kmz
......@@ -43,6 +44,14 @@ Files-Excluded: data/2s19_ru_desert.tga
data/boxman.osg
data/cessna.osgb
data/ci10nv09.*
data/cities.dbf
data/cities.prj
data/cities.shp
data/cities.shx
data/cities_mercator.dbf
data/cities_mercator.prj
data/cities_mercator.shp
data/cities_mercator.shx
data/cloud_combined_2048.jpg
data/colorramps/*
data/dcbuildings.*
......@@ -51,12 +60,17 @@ Files-Excluded: data/2s19_ru_desert.tga
data/flatten_mt_rainier.*
data/fractal.png
data/france.*
data/honolulu.mbtiles
data/hospital.png
data/icon.png
data/istates_dissolve.*
data/KML_Samples.kml
data/land_cover_ESA_GLOBCOVER.xml
data/land_cover_NLCD.xml
data/land_cover_dictionary.xml
data/loopix/*
data/m2525_air.png
data/mgrs_sqid.bin
data/moon_1024x512.jpg
data/ne_10m_coastline.zip
data/ne_cities.*
......@@ -73,9 +87,11 @@ Files-Excluded: data/2s19_ru_desert.tga
data/points.*
data/popup-theme.png
data/red_flag.osg
data/road.png
data/rock_hard.jpg
data/school.png
data/scripts/*
data/seamless-noise-1.png
data/skyview/*
data/splat/*
data/streetlight.osgb
......@@ -105,10 +121,8 @@ Copyright: 2008-2016, Pelican Mapping
2008-2010, Pelican Ventures, Inc
License: LGPL-2+
Files: src/applications/osgearth_viewerIOS/osgEarthViewerIOS/ShaderGen/GLES2ShaderGenVisitor.cpp
src/applications/osgearth_viewerIOS/osgEarthViewerIOS/ShaderGen/GLES2ShaderGenVisitor.h
src/applications/osgearth_viewerIOS/osgEarthViewerIOS/MultiTouchManipulator/EarthMultiTouchManipulator.cpp
src/applications/osgearth_viewerIOS/osgEarthViewerIOS/MultiTouchManipulator/EarthMultiTouchManipulator.h
Files: src/applications/osgearth_viewerIOS/EarthMultiTouchManipulator.cpp
src/applications/osgearth_viewerIOS/EarthMultiTouchManipulator.h
Copyright: 1998-2010, Robert Osfield
License: OSGPL
......
This diff is collapsed.