mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-23 00:02:38 -05:00
131 lines
4.3 KiB
CMake
131 lines
4.3 KiB
CMake
# This module defines
|
|
|
|
# OSGEARTH_LIBRARY
|
|
# OSGEARTH_FOUND, if false, do not try to link to osg
|
|
# OSGEARTH_INCLUDE_DIRS, where to find the headers
|
|
# OSGEARTH_INCLUDE_DIR, where to find the source headers
|
|
# OSGEARTH_GEN_INCLUDE_DIR, where to find the generated headers
|
|
|
|
# to use this module, set variables to point to the osg build
|
|
# directory, and source directory, respectively
|
|
# OSGEARTHDIR or OSGEARTH_SOURCE_DIR: osg source directory, typically OpenSceneGraph
|
|
# OSGEARTH_DIR or OSGEARTH_BUILD_DIR: osg build directory, place in which you've
|
|
# built osg via cmake
|
|
|
|
# Header files are presumed to be included like
|
|
# #include <osgEarth/Common>
|
|
# #include <osgEarth/TileSource>
|
|
|
|
###### headers ######
|
|
|
|
MACRO( FIND_OSGEARTH_INCLUDE THIS_OSGEARTH_INCLUDE_DIR THIS_OSGEARTH_INCLUDE_FILE )
|
|
|
|
FIND_PATH( ${THIS_OSGEARTH_INCLUDE_DIR} ${THIS_OSGEARTH_INCLUDE_FILE}
|
|
PATHS
|
|
${OSGEARTH_DIR}
|
|
$ENV{OSGEARTH_SOURCE_DIR}
|
|
$ENV{OSGEARTHDIR}
|
|
$ENV{OSGEARTH_DIR}
|
|
$ENV{OSGEO4W_ROOT}
|
|
/usr/local/
|
|
/usr/
|
|
/sw/ # Fink
|
|
/opt/local/ # DarwinPorts
|
|
/opt/csw/ # Blastwave
|
|
/opt/
|
|
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSGEARTH_ROOT]/
|
|
~/Library/Frameworks
|
|
/Library/Frameworks
|
|
PATH_SUFFIXES
|
|
/include/
|
|
)
|
|
|
|
ENDMACRO( FIND_OSGEARTH_INCLUDE THIS_OSGEARTH_INCLUDE_DIR THIS_OSGEARTH_INCLUDE_FILE )
|
|
|
|
FIND_OSGEARTH_INCLUDE( OSGEARTH_GEN_INCLUDE_DIR osgEarth/Common )
|
|
FIND_OSGEARTH_INCLUDE( OSGEARTH_INCLUDE_DIR osgEarth/TileSource )
|
|
FIND_OSGEARTH_INCLUDE( OSGEARTH_ELEVATION_QUERY osgEarth/ElevationQuery )
|
|
|
|
###### libraries ######
|
|
|
|
MACRO( FIND_OSGEARTH_LIBRARY MYLIBRARY )
|
|
|
|
FIND_LIBRARY(${MYLIBRARY}
|
|
NAMES
|
|
${ARGN}
|
|
PATHS
|
|
${OSGEARTH_DIR}
|
|
$ENV{OSGEARTH_BUILD_DIR}
|
|
$ENV{OSGEARTH_DIR}
|
|
$ENV{OSGEARTHDIR}
|
|
$ENV{OSGEARTH_ROOT}
|
|
$ENV{OSGEO4W_ROOT}
|
|
~/Library/Frameworks
|
|
/Library/Frameworks
|
|
/usr/local
|
|
/usr
|
|
/sw
|
|
/opt/local
|
|
/opt/csw
|
|
/opt
|
|
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSGEARTH_ROOT]/lib
|
|
/usr/freeware
|
|
PATH_SUFFIXES
|
|
/lib/
|
|
/lib64/
|
|
/build/lib/
|
|
/build/lib64/
|
|
/Build/lib/
|
|
/Build/lib64/
|
|
)
|
|
|
|
ENDMACRO(FIND_OSGEARTH_LIBRARY LIBRARY LIBRARYNAME)
|
|
|
|
FIND_OSGEARTH_LIBRARY( OSGEARTH_LIBRARY osgEarth )
|
|
FIND_OSGEARTH_LIBRARY( OSGEARTH_LIBRARY_DEBUG osgEarthd )
|
|
|
|
FIND_OSGEARTH_LIBRARY( OSGEARTHUTIL_LIBRARY osgEarthUtil )
|
|
FIND_OSGEARTH_LIBRARY( OSGEARTHUTIL_LIBRARY_DEBUG osgEarthUtild )
|
|
|
|
FIND_OSGEARTH_LIBRARY( OSGEARTHFEATURES_LIBRARY osgEarthFeatures )
|
|
FIND_OSGEARTH_LIBRARY( OSGEARTHFEATURES_LIBRARY_DEBUG osgEarthFeaturesd )
|
|
|
|
FIND_OSGEARTH_LIBRARY( OSGEARTHSYMBOLOGY_LIBRARY osgEarthSymbology )
|
|
FIND_OSGEARTH_LIBRARY( OSGEARTHSYMBOLOGY_LIBRARY_DEBUG osgEarthSymbologyd )
|
|
|
|
FIND_OSGEARTH_LIBRARY( OSGEARTHQT_LIBRARY osgEarthQt5 osgEarthQt)
|
|
FIND_OSGEARTH_LIBRARY( OSGEARTHQT_LIBRARY_DEBUG osgEarthQtd osgEarthQt5d)
|
|
|
|
FIND_OSGEARTH_LIBRARY( OSGEARTHANNOTATION_LIBRARY osgEarthAnnotation )
|
|
FIND_OSGEARTH_LIBRARY( OSGEARTHANNOTATION_LIBRARY_DEBUG osgEarthAnnotationd )
|
|
|
|
|
|
SET( OSGEARTH_FOUND "NO" )
|
|
IF( OSGEARTH_LIBRARY AND OSGEARTH_INCLUDE_DIR )
|
|
SET( OSGEARTH_FOUND "YES" )
|
|
SET( OSGEARTH_INCLUDE_DIRS ${OSGEARTH_INCLUDE_DIR} ${OSGEARTH_GEN_INCLUDE_DIR} )
|
|
INCLUDE(CheckCXXSourceCompiles)
|
|
SET(SAFE_CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES})
|
|
SET(SAFE_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
|
|
SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${OSGEARTH_INCLUDE_DIR})
|
|
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${OSGEARTHUTIL_LIBRARY})
|
|
IF(APPLE)
|
|
# no extra LDFLAGS used in link test, may fail in OS X SDK
|
|
SET(CMAKE_REQUIRED_LIBRARIES "-F/Library/Frameworks" ${CMAKE_REQUIRED_LIBRARIES})
|
|
ENDIF(APPLE)
|
|
CHECK_CXX_SOURCE_COMPILES("
|
|
#include <osgEarthUtil/Controls>
|
|
using namespace osgEarth::Util::Controls;
|
|
int main(int argc, char **argv)
|
|
{
|
|
Container *c;
|
|
c->setChildSpacing(0.0);
|
|
}
|
|
" HAVE_OSGEARTH_CHILD_SPACING)
|
|
SET(CMAKE_REQUIRED_INCLUDES ${SAFE_CMAKE_REQUIRED_INCLUDES})
|
|
SET(CMAKE_REQUIRED_LIBRARIES ${SAFE_CMAKE_REQUIRED_LIBRARIES})
|
|
GET_FILENAME_COMPONENT( OSGEARTH_LIBRARIES_DIR ${OSGEARTH_LIBRARY} PATH )
|
|
ENDIF( OSGEARTH_LIBRARY AND OSGEARTH_INCLUDE_DIR )
|
|
|
|
|