1
0
Fork 0
flightgear/3rdparty/osgXR/CMakeLists.txt
James Hogan 5bf9a32437
osgXR: Update to 0.3.9
Update 3rdparty/osgXR to version 0.3.9, which gets us better handling of
quirks and window closure, and the ability to create quad composition
layers which will be particularly useful for the loading screen when
flightgear isn't so good at timely frame updates.
2022-07-12 19:26:41 +01:00

80 lines
2.5 KiB
CMake

# Top level CMakeLists.txt
cmake_minimum_required(VERSION 3.11)
set(osgXR_MAJOR_VERSION 0)
set(osgXR_MINOR_VERSION 3)
set(osgXR_PATCH_VERSION 9)
set(osgXR_SOVERSION 6)
set(osgXR_VERSION "${osgXR_MAJOR_VERSION}.${osgXR_MINOR_VERSION}.${osgXR_PATCH_VERSION}")
project(osgXR
VERSION ${osgXR_VERSION}
DESCRIPTION "OpenXR integration for OpenSceneGraph applications"
)
if(CMAKE_PROJECT_NAME STREQUAL osgXR)
# Normal top level project build, install package components
include(CMakePackageConfigHelpers)
include(GNUInstallDirs)
# Build options
option(BUILD_SHARED_LIBS "Whether to build as a shared library" ON)
option(BUILD_OSGXR_EXAMPLES "Enable to build osgXR examples" OFF)
option(OSGXR_WARNINGS "Enable compiler warnings for osgXR" OFF)
# Source files in src/
add_subdirectory(src)
if(BUILD_OSGXR_EXAMPLES)
add_subdirectory(examples)
endif()
set(INSTALL_INCDIR "${CMAKE_INSTALL_INCLUDEDIR}")
# Preprocess pkgconfig file
configure_file(osgXR.pc.in osgXR.pc @ONLY)
# Preprocess package config
configure_package_config_file(Config.cmake.in osgXRConfig.cmake
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/osgXR"
PATH_VARS INSTALL_INCDIR
)
# Build package version file
write_basic_package_version_file(osgXRConfigVersion.cmake
VERSION "${PROJECT_VERSION}"
COMPATIBILITY SameMinorVersion
)
# Install library and headers
install(TARGETS osgXR
EXPORT osgXRTargets
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
PUBLIC_HEADER DESTINATION "${INSTALL_INCDIR}/osgXR"
INCLUDES DESTINATION "${INSTALL_INCDIR}"
)
# Install pkgconfig file
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/osgXR.pc"
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig"
)
# Install export targets
install(EXPORT osgXRTargets
FILE osgXRTargets.cmake
NAMESPACE osgXR::
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/osgXR"
)
# Install package config and version files
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/osgXRConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/osgXRConfigVersion.cmake"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/osgXR"
)
else()
# Subproject build
# Just build src/ as a static library
set(osgXR_LIBRARY_TYPE STATIC)
add_subdirectory(src)
endif()