diff --git a/CMakeLists.txt b/CMakeLists.txt index 36ea6c81f..8ed39eb24 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -124,9 +124,9 @@ option(OSGEARTH_ENABLE_GEOCODER "Enable the geocoder (GDAL/OGR must be built wit # Mobile/GLES: IF (OSGEARTH_USE_GLES) - find_package(OpenGLES) + find_package(OpenGLES REQUIRED) ELSE () - find_package(OpenGL) + find_package(OpenGL REQUIRED) ENDIF (OSGEARTH_USE_GLES) @@ -144,35 +144,52 @@ if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git") endif() # required -find_package(OSG REQUIRED) +find_package(OSG NAMES unofficial-osg) +find_path(OSG_INCLUDE_DIR osg/Version) # For detecting the version and setting the plugin path +set(OSG_INCLUDE_DIRS "") +set(OSG_LIBRARY unofficial::osg::osg) +set(OSGUTIL_LIBRARY unofficial::osg::osgUtil) +set(OSGDB_LIBRARY unofficial::osg::osgDB) +set(OSGTEXT_LIBRARY unofficial::osg::osgText) +set(OSGSIM_LIBRARY unofficial::osg::osgSim) +set(OSGVIEWER_LIBRARY unofficial::osg::osgViewer) +set(OSGGA_LIBRARY unofficial::osg::osgViewer) +set(OSGSHADOW_LIBRARY unofficial::osg::osgShadow) +set(OSGMANIPULATOR_LIBRARY unofficial::osg::osgManipulator) +set(OPENTHREADS_LIBRARY unofficial::osg::OpenThreads) find_package(CURL REQUIRED) find_package(GDAL REQUIRED) # optional -find_package(GEOS) -find_package(Sqlite3) -find_package(Draco) -find_package(BASISU) -find_package(GLEW) -find_package(Protobuf) -find_package(WEBP) -find_package(Blend2D) -find_package(blosc) +find_package(GEOS CONFIG REQUIRED) +set(GEOS_LIBRARY GEOS::geos_c) +find_package(SQLITE3 NAMES unofficial-sqlite3 REQUIRED) +set(SQLITE3_LIBRARY unofficial::sqlite3::sqlite3) +find_package(Draco REQUIRED) +find_package(BASISU REQUIRED) +find_package(GLEW REQUIRED) +find_package(Protobuf REQUIRED) +find_package(WEBP NAMES WebP CONFIG REQUIRED) +set(WEBP_LIBRARY WebP::webp) +find_package(BLEND2D CONFIG REQUIRED) +set(BLEND2D_LIBRARY blend2d::blend2d) +find_package(BLOSC REQUIRED) if(OSGEARTH_ENABLE_PROFILING) - find_package(Tracy) + find_package(Tracy REQUIRED) endif() if(OSGEARTH_BUILD_ZIP_PLUGIN) - find_package(LIBZIP) + find_package(LIBZIP CONFIG REQUIRED) + set(LIBZIP_LIBRARY libzip::zip) endif() if(OSGEARTH_BUILD_TRITON_NODEKIT) - find_package(Triton QUIET) + find_package(Triton QUIET REQUIRED) endif() if(OSGEARTH_BUILD_SILVERLINING_NODEKIT) - find_package(SilverLining QUIET) + find_package(SilverLining QUIET REQUIRED) endif() # Sqlite enables the MBTiles format: @@ -214,7 +231,7 @@ SET (PROTOBUF_USE_DLLS FALSE CACHE BOOL "Set this to true if Protobuf is compile # Duktape is the JavaScript interpreter SET (WITH_EXTERNAL_DUKTAPE FALSE CACHE BOOL "Use bundled or system wide version of Duktape") IF (WITH_EXTERNAL_DUKTAPE) - find_package(Duktape) + find_package(Duktape REQUIRED) ENDIF (WITH_EXTERNAL_DUKTAPE) # Whether to install shaders (glsl files). @@ -225,7 +242,8 @@ OPTION(OSGEARTH_INSTALL_SHADERS "Whether to deploy GLSL shaders when doing a Mak # TinyXML is an XML parsing library SET (WITH_EXTERNAL_TINYXML FALSE CACHE BOOL "Use bundled or system wide version of TinyXML") IF (WITH_EXTERNAL_TINYXML) - find_package(TinyXML) + find_package(TINYXML NAMES tinyxml REQUIRED) + set(TINYXML_LIBRARY unofficial-tinyxml::unofficial-tinyxml) ENDIF (WITH_EXTERNAL_TINYXML) # postfix settings for various configs @@ -300,6 +318,7 @@ IF(OSGEARTH_BUILD_SHARED_LIBS) SET(OSGEARTH_DYNAMIC_OR_STATIC "SHARED") ELSE() SET(OSGEARTH_DYNAMIC_OR_STATIC "STATIC") + ADD_DEFINITIONS(-DOSGEARTH_LIBRARY_STATIC) ENDIF()