ADD: new track message, Entity class and Position class
This commit is contained in:
90
libs/geographiclib/cmake/project-config-version.cmake.in
Normal file
90
libs/geographiclib/cmake/project-config-version.cmake.in
Normal file
@@ -0,0 +1,90 @@
|
||||
# Version checking for @PROJECT_NAME@
|
||||
|
||||
set (PACKAGE_VERSION "@PROJECT_VERSION@")
|
||||
set (PACKAGE_VERSION_MAJOR "@PROJECT_VERSION_MAJOR@")
|
||||
set (PACKAGE_VERSION_MINOR "@PROJECT_VERSION_MINOR@")
|
||||
set (PACKAGE_VERSION_PATCH "@PROJECT_VERSION_PATCH@")
|
||||
|
||||
# These variable definitions parallel those in @PROJECT_NAME@'s
|
||||
# cmake/CMakeLists.txt.
|
||||
if (MSVC)
|
||||
# For checking the compatibility of MSVC_TOOLSET_VERSION; see
|
||||
# https://docs.microsoft.com/en-us/cpp/porting/overview-of-potential-upgrade-issues-visual-cpp
|
||||
# Assume major version number is obtained by dropping the last decimal
|
||||
# digit.
|
||||
math (EXPR MSVC_TOOLSET_MAJOR "${MSVC_TOOLSET_VERSION}/10")
|
||||
endif ()
|
||||
if (CMAKE_CROSSCOMPILING)
|
||||
# Ensure that all "true" (resp. "false") settings are represented by
|
||||
# the same string.
|
||||
set (CMAKE_CROSSCOMPILING_STR "ON")
|
||||
else ()
|
||||
set (CMAKE_CROSSCOMPILING_STR "OFF")
|
||||
endif ()
|
||||
|
||||
if (NOT PACKAGE_FIND_NAME STREQUAL "@PROJECT_NAME@")
|
||||
# Check package name (in particular, because of the way cmake finds
|
||||
# package config files, the capitalization could easily be "wrong").
|
||||
# This is necessary to ensure that the automatically generated
|
||||
# variables, e.g., <package>_FOUND, are consistently spelled.
|
||||
set (REASON "package = @PROJECT_NAME@, NOT ${PACKAGE_FIND_NAME}")
|
||||
set (PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
elseif (NOT (APPLE OR (NOT DEFINED CMAKE_SIZEOF_VOID_P) OR
|
||||
CMAKE_SIZEOF_VOID_P EQUAL @CMAKE_SIZEOF_VOID_P@))
|
||||
# Reject if there's a 32-bit/64-bit mismatch (not necessary with Apple
|
||||
# since a multi-architecture library is built for that platform).
|
||||
set (REASON "sizeof(*void) = @CMAKE_SIZEOF_VOID_P@")
|
||||
set (PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
elseif (MSVC AND NOT (
|
||||
# toolset version must be at least as great as @PROJECT_NAME@'s.
|
||||
MSVC_TOOLSET_VERSION GREATER_EQUAL @MSVC_TOOLSET_VERSION@
|
||||
# and major versions must match
|
||||
AND MSVC_TOOLSET_MAJOR EQUAL @MSVC_TOOLSET_MAJOR@ ))
|
||||
# Reject if there's a mismatch in MSVC compiler versions.
|
||||
set (REASON "MSVC_TOOLSET_VERSION = @MSVC_TOOLSET_VERSION@")
|
||||
set (PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
elseif (GEOGRAPHICLIB_PRECISION MATCHES "^[1-5]\$" AND NOT (
|
||||
GEOGRAPHICLIB_PRECISION EQUAL @GEOGRAPHICLIB_PRECISION@ ))
|
||||
# Reject if the user asks for an incompatible precsision.
|
||||
set (REASON "GEOGRAPHICLIB_PRECISION = @GEOGRAPHICLIB_PRECISION@")
|
||||
set (PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
elseif (NOT CMAKE_CROSSCOMPILING_STR STREQUAL "@CMAKE_CROSSCOMPILING_STR@")
|
||||
# Reject if there's a mismatch in ${CMAKE_CROSSCOMPILING}.
|
||||
set (REASON "cross-compiling = @CMAKE_CROSSCOMPILING@")
|
||||
set (PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
elseif (CMAKE_CROSSCOMPILING AND
|
||||
NOT (CMAKE_SYSTEM_NAME STREQUAL "@CMAKE_SYSTEM_NAME@" AND
|
||||
CMAKE_SYSTEM_PROCESSOR STREQUAL "@CMAKE_SYSTEM_PROCESSOR@"))
|
||||
# Reject if cross-compiling and there's a mismatch in the target system.
|
||||
set (REASON "target = @CMAKE_SYSTEM_NAME@-@CMAKE_SYSTEM_PROCESSOR@")
|
||||
set (PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
elseif (PACKAGE_FIND_VERSION)
|
||||
if (PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION)
|
||||
set (PACKAGE_VERSION_EXACT TRUE)
|
||||
elseif (PACKAGE_FIND_VERSION VERSION_LESS PACKAGE_VERSION
|
||||
AND PACKAGE_FIND_VERSION_MAJOR EQUAL PACKAGE_VERSION_MAJOR)
|
||||
set (PACKAGE_VERSION_COMPATIBLE TRUE)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
set (@PROJECT_NAME@_SHARED_FOUND @GEOGRAPHICLIB_SHARED_LIB@)
|
||||
set (@PROJECT_NAME@_STATIC_FOUND @GEOGRAPHICLIB_STATIC_LIB@)
|
||||
|
||||
# Check for the components requested. The convention is that
|
||||
# @PROJECT_NAME@_${comp}_FOUND should be true for all the required
|
||||
# components.
|
||||
if (@PROJECT_NAME@_FIND_COMPONENTS)
|
||||
foreach (comp ${@PROJECT_NAME@_FIND_COMPONENTS})
|
||||
if (@PROJECT_NAME@_FIND_REQUIRED_${comp} AND
|
||||
NOT @PROJECT_NAME@_${comp}_FOUND)
|
||||
set (REASON "without ${comp}")
|
||||
set (PACKAGE_VERSION_UNSUITABLE TRUE)
|
||||
endif ()
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
# If unsuitable, append the reason to the package version so that it's
|
||||
# visible to the user.
|
||||
if (PACKAGE_VERSION_UNSUITABLE)
|
||||
set (PACKAGE_VERSION "${PACKAGE_VERSION} (${REASON})")
|
||||
endif ()
|
||||
Reference in New Issue
Block a user