|
|
|
@ -1,6 +1,6 @@
|
|
|
|
|
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
|
|
|
# file Copyright.txt or https://cmake.org/licensing for details.
|
|
|
|
|
|
|
|
|
|
# Copyright 2021 Bret Curtis for OpenMW
|
|
|
|
|
#[=======================================================================[.rst:
|
|
|
|
|
FindRecastNavigation
|
|
|
|
|
-------
|
|
|
|
@ -13,7 +13,7 @@ Use this module by invoking find_package with the form::
|
|
|
|
|
|
|
|
|
|
find_package(RecastNavigation
|
|
|
|
|
[version] # Minimum version e.g. 1.8.0
|
|
|
|
|
[REQUIRED] # Fail with error if RECASTNAV is not found
|
|
|
|
|
[REQUIRED] # Fail with error if RECAST is not found
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
Imported targets
|
|
|
|
@ -23,26 +23,26 @@ This module defines the following :prop_tgt:`IMPORTED` targets:
|
|
|
|
|
|
|
|
|
|
.. variable:: RecastNavigation::Recast
|
|
|
|
|
|
|
|
|
|
Imported target for using the RECASTNAV library, if found.
|
|
|
|
|
Imported target for using the RECAST library, if found.
|
|
|
|
|
|
|
|
|
|
Result variables
|
|
|
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
|
|
.. variable:: RECASTNAV_FOUND
|
|
|
|
|
.. variable:: RECAST_FOUND
|
|
|
|
|
|
|
|
|
|
Set to true if RECASTNAV library found, otherwise false or undefined.
|
|
|
|
|
Set to true if RECAST library found, otherwise false or undefined.
|
|
|
|
|
|
|
|
|
|
.. variable:: RECASTNAV_INCLUDE_DIRS
|
|
|
|
|
.. variable:: RECAST_INCLUDE_DIRS
|
|
|
|
|
|
|
|
|
|
Paths to include directories listed in one variable for use by RECASTNAV client.
|
|
|
|
|
Paths to include directories listed in one variable for use by RECAST client.
|
|
|
|
|
|
|
|
|
|
.. variable:: RECASTNAV_LIBRARIES
|
|
|
|
|
.. variable:: RECAST_LIBRARIES
|
|
|
|
|
|
|
|
|
|
Paths to libraries to linked against to use RECASTNAV.
|
|
|
|
|
Paths to libraries to linked against to use RECAST.
|
|
|
|
|
|
|
|
|
|
.. variable:: RECAST_VERSION
|
|
|
|
|
|
|
|
|
|
The version string of RECASTNAV found.
|
|
|
|
|
The version string of RECAST found.
|
|
|
|
|
|
|
|
|
|
Cache variables
|
|
|
|
|
^^^^^^^^^^^^^^^
|
|
|
|
@ -50,13 +50,13 @@ Cache variables
|
|
|
|
|
For users who wish to edit and control the module behavior, this module
|
|
|
|
|
reads hints about search locations from the following variables::
|
|
|
|
|
|
|
|
|
|
.. variable:: RECASTNAV_INCLUDE_DIR
|
|
|
|
|
.. variable:: RECAST_INCLUDE_DIR
|
|
|
|
|
|
|
|
|
|
Path to RECASTNAV include directory with ``Recast.h`` header.
|
|
|
|
|
Path to RECAST include directory with ``Recast.h`` header.
|
|
|
|
|
|
|
|
|
|
.. variable:: RECASTNAV_LIBRARY
|
|
|
|
|
.. variable:: RECAST_LIBRARY
|
|
|
|
|
|
|
|
|
|
Path to RECASTNAV library to be linked.
|
|
|
|
|
Path to RECAST library to be linked.
|
|
|
|
|
|
|
|
|
|
NOTE: The variables above should not usually be used in CMakeLists.txt files!
|
|
|
|
|
|
|
|
|
@ -64,13 +64,14 @@ NOTE: The variables above should not usually be used in CMakeLists.txt files!
|
|
|
|
|
|
|
|
|
|
### Find libraries ##############################################################
|
|
|
|
|
|
|
|
|
|
if(NOT RECASTNAV_LIBRARY)
|
|
|
|
|
find_library(RECASTNAV_LIBRARY_RELEASE NAMES Recast)
|
|
|
|
|
find_library(RECASTNAV_LIBRARY_DEBUG NAMES Recastd)
|
|
|
|
|
if(NOT RECAST_LIBRARY)
|
|
|
|
|
find_library(RECAST_LIBRARY_RELEASE NAMES Recast)
|
|
|
|
|
find_library(RECAST_LIBRARY_DEBUG NAMES Recastd)
|
|
|
|
|
include(SelectLibraryConfigurations)
|
|
|
|
|
select_library_configurations(RECASTNAV)
|
|
|
|
|
select_library_configurations(RECAST)
|
|
|
|
|
mark_as_advanced(RECAST_LIBRARY_RELEASE RECAST_LIBRARY_DEBUG)
|
|
|
|
|
else()
|
|
|
|
|
file(TO_CMAKE_PATH "${RECASTNAV_LIBRARY}" RECASTNAV_LIBRARY)
|
|
|
|
|
file(TO_CMAKE_PATH "${RECAST_LIBRARY}" RECAST_LIBRARY)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(NOT DETOUR_LIBRARY)
|
|
|
|
@ -78,6 +79,7 @@ if(NOT DETOUR_LIBRARY)
|
|
|
|
|
find_library(DETOUR_LIBRARY_DEBUG NAMES Detourd)
|
|
|
|
|
include(SelectLibraryConfigurations)
|
|
|
|
|
select_library_configurations(DETOUR)
|
|
|
|
|
mark_as_advanced(DETOUR_LIBRARY_RELEASE DETOUR_LIBRARY_DEBUG)
|
|
|
|
|
else()
|
|
|
|
|
file(TO_CMAKE_PATH "${DETOUR_LIBRARY}" DETOUR_LIBRARY)
|
|
|
|
|
endif()
|
|
|
|
@ -87,16 +89,17 @@ if(NOT DEBUGUTILS_LIBRARY)
|
|
|
|
|
find_library(DEBUGUTILS_LIBRARY_DEBUG NAMES DebugUtilsd)
|
|
|
|
|
include(SelectLibraryConfigurations)
|
|
|
|
|
select_library_configurations(DEBUGUTILS)
|
|
|
|
|
mark_as_advanced(DEBUGUTILS_LIBRARY_RELEASE DEBUGUTILS_LIBRARY_DEBUG)
|
|
|
|
|
else()
|
|
|
|
|
file(TO_CMAKE_PATH "${DEBUGUTILS_LIBRARY}" DEBUGUTILS_LIBRARY)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
### Find include directory ####################################################
|
|
|
|
|
find_path(RECASTNAV_INCLUDE_DIR NAMES Recast.h PATH_SUFFIXES include RECASTNAV include/recastnavigation)
|
|
|
|
|
mark_as_advanced(RECASTNAV_INCLUDE_DIR RECASTNAV_LIBRARY)
|
|
|
|
|
find_path(RECAST_INCLUDE_DIR NAMES Recast.h PATH_SUFFIXES include RECAST include/recastnavigation)
|
|
|
|
|
mark_as_advanced(RECAST_INCLUDE_DIR)
|
|
|
|
|
|
|
|
|
|
if(RECASTNAV_INCLUDE_DIR AND EXISTS "${RECASTNAV_INCLUDE_DIR}/Recast.h")
|
|
|
|
|
file(STRINGS "${RECASTNAV_INCLUDE_DIR}/Recast.h" _Recast_h_contents
|
|
|
|
|
if(RECAST_INCLUDE_DIR AND EXISTS "${RECAST_INCLUDE_DIR}/Recast.h")
|
|
|
|
|
file(STRINGS "${RECAST_INCLUDE_DIR}/Recast.h" _Recast_h_contents
|
|
|
|
|
REGEX "#define RECAST_VERSION_[A-Z]+[ ]+[0-9]+")
|
|
|
|
|
string(REGEX REPLACE "#define RECAST_VERSION_MAJOR[ ]+([0-9]+).+" "\\1"
|
|
|
|
|
RECAST_VERSION_MAJOR "${_Recast_h_contents}")
|
|
|
|
@ -114,16 +117,16 @@ set(RECAST_VERSION "1.5.1")
|
|
|
|
|
### Set result variables ######################################################
|
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
|
|
|
find_package_handle_standard_args(RecastNavigation DEFAULT_MSG
|
|
|
|
|
RECASTNAV_LIBRARY RECASTNAV_INCLUDE_DIR RECAST_VERSION)
|
|
|
|
|
RECAST_LIBRARY RECAST_INCLUDE_DIR RECAST_VERSION)
|
|
|
|
|
|
|
|
|
|
set(RECASTNAV_LIBRARIES ${RECASTNAV_LIBRARY})
|
|
|
|
|
set(RECASTNAV_INCLUDE_DIRS ${RECASTNAV_INCLUDE_DIR})
|
|
|
|
|
set(RECAST_LIBRARIES ${RECAST_LIBRARY})
|
|
|
|
|
set(RECAST_INCLUDE_DIRS ${RECAST_INCLUDE_DIR})
|
|
|
|
|
|
|
|
|
|
set(DETOUR_LIBRARIES ${DETOUR_LIBRARY})
|
|
|
|
|
set(DETOUR_INCLUDE_DIRS ${RECASTNAV_INCLUDE_DIR})
|
|
|
|
|
set(DETOUR_INCLUDE_DIRS ${RECAST_INCLUDE_DIR})
|
|
|
|
|
|
|
|
|
|
set(DEBUGUTILS_LIBRARIES ${DEBUGUTILS_LIBRARY})
|
|
|
|
|
set(DEBUGUTILS_INCLUDE_DIRS ${RECASTNAV_INCLUDE_DIR})
|
|
|
|
|
set(DEBUGUTILS_INCLUDE_DIRS ${RECAST_INCLUDE_DIR})
|
|
|
|
|
|
|
|
|
|
### Import targets ############################################################
|
|
|
|
|
if(RecastNavigation_FOUND)
|
|
|
|
@ -131,25 +134,25 @@ if(RecastNavigation_FOUND)
|
|
|
|
|
add_library(RecastNavigation::Recast UNKNOWN IMPORTED)
|
|
|
|
|
set_target_properties(RecastNavigation::Recast PROPERTIES
|
|
|
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
|
|
|
INTERFACE_INCLUDE_DIRECTORIES "${RECASTNAV_INCLUDE_DIR}")
|
|
|
|
|
INTERFACE_INCLUDE_DIRECTORIES "${RECAST_INCLUDE_DIR}")
|
|
|
|
|
|
|
|
|
|
if(RECASTNAV_LIBRARY_RELEASE)
|
|
|
|
|
if(RECAST_LIBRARY_RELEASE)
|
|
|
|
|
set_property(TARGET RecastNavigation::Recast APPEND PROPERTY
|
|
|
|
|
IMPORTED_CONFIGURATIONS RELEASE)
|
|
|
|
|
set_target_properties(RecastNavigation::Recast PROPERTIES
|
|
|
|
|
IMPORTED_LOCATION_RELEASE "${RECASTNAV_LIBRARY_RELEASE}")
|
|
|
|
|
IMPORTED_LOCATION_RELEASE "${RECAST_LIBRARY_RELEASE}")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(RECASTNAV_LIBRARY_DEBUG)
|
|
|
|
|
if(RECAST_LIBRARY_DEBUG)
|
|
|
|
|
set_property(TARGET RecastNavigation::Recast APPEND PROPERTY
|
|
|
|
|
IMPORTED_CONFIGURATIONS DEBUG)
|
|
|
|
|
set_target_properties(RecastNavigation::Recast PROPERTIES
|
|
|
|
|
IMPORTED_LOCATION_DEBUG "${RECASTNAV_LIBRARY_DEBUG}")
|
|
|
|
|
IMPORTED_LOCATION_DEBUG "${RECAST_LIBRARY_DEBUG}")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(NOT RECASTNAV_LIBRARY_RELEASE AND NOT RECASTNAV_LIBRARY_DEBUG)
|
|
|
|
|
if(NOT RECAST_LIBRARY_RELEASE AND NOT RECAST_LIBRARY_DEBUG)
|
|
|
|
|
set_property(TARGET RecastNavigation::Recast APPEND PROPERTY
|
|
|
|
|
IMPORTED_LOCATION "${RECASTNAV_LIBRARY}")
|
|
|
|
|
IMPORTED_LOCATION "${RECAST_LIBRARY}")
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
@ -159,21 +162,21 @@ if(RecastNavigation_FOUND)
|
|
|
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
|
|
|
INTERFACE_INCLUDE_DIRECTORIES "${DETOUR_INCLUDE_DIR}")
|
|
|
|
|
|
|
|
|
|
if(RECASTNAV_LIBRARY_RELEASE)
|
|
|
|
|
if(RECAST_LIBRARY_RELEASE)
|
|
|
|
|
set_property(TARGET RecastNavigation::Detour APPEND PROPERTY
|
|
|
|
|
IMPORTED_CONFIGURATIONS RELEASE)
|
|
|
|
|
set_target_properties(RecastNavigation::Detour PROPERTIES
|
|
|
|
|
IMPORTED_LOCATION_RELEASE "${DETOUR_LIBRARY_RELEASE}")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(RECASTNAV_LIBRARY_DEBUG)
|
|
|
|
|
if(RECAST_LIBRARY_DEBUG)
|
|
|
|
|
set_property(TARGET RecastNavigation::Detour APPEND PROPERTY
|
|
|
|
|
IMPORTED_CONFIGURATIONS DEBUG)
|
|
|
|
|
set_target_properties(RecastNavigation::Detour PROPERTIES
|
|
|
|
|
IMPORTED_LOCATION_DEBUG "${DETOUR_LIBRARY_DEBUG}")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(NOT RECASTNAV_LIBRARY_RELEASE AND NOT RECASTNAV_LIBRARY_DEBUG)
|
|
|
|
|
if(NOT RECAST_LIBRARY_RELEASE AND NOT RECAST_LIBRARY_DEBUG)
|
|
|
|
|
set_property(TARGET RecastNavigation::Detour APPEND PROPERTY
|
|
|
|
|
IMPORTED_LOCATION "${DETOUR_LIBRARY}")
|
|
|
|
|
endif()
|
|
|
|
@ -185,21 +188,21 @@ if(RecastNavigation_FOUND)
|
|
|
|
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
|
|
|
|
INTERFACE_INCLUDE_DIRECTORIES "${DEBUGUTILS_INCLUDE_DIR}")
|
|
|
|
|
|
|
|
|
|
if(RECASTNAV_LIBRARY_RELEASE)
|
|
|
|
|
if(RECAST_LIBRARY_RELEASE)
|
|
|
|
|
set_property(TARGET RecastNavigation::DebugUtils APPEND PROPERTY
|
|
|
|
|
IMPORTED_CONFIGURATIONS RELEASE)
|
|
|
|
|
set_target_properties(RecastNavigation::DebugUtils PROPERTIES
|
|
|
|
|
IMPORTED_LOCATION_RELEASE "${DEBUGUTILS_LIBRARY_RELEASE}")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(RECASTNAV_LIBRARY_DEBUG)
|
|
|
|
|
if(RECAST_LIBRARY_DEBUG)
|
|
|
|
|
set_property(TARGET RecastNavigation::DebugUtils APPEND PROPERTY
|
|
|
|
|
IMPORTED_CONFIGURATIONS DEBUG)
|
|
|
|
|
set_target_properties(RecastNavigation::DebugUtils PROPERTIES
|
|
|
|
|
IMPORTED_LOCATION_DEBUG "${DEBUGUTILS_LIBRARY_DEBUG}")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if(NOT RECASTNAV_LIBRARY_RELEASE AND NOT RECASTNAV_LIBRARY_DEBUG)
|
|
|
|
|
if(NOT RECAST_LIBRARY_RELEASE AND NOT RECAST_LIBRARY_DEBUG)
|
|
|
|
|
set_property(TARGET RecastNavigation::DebugUtils APPEND PROPERTY
|
|
|
|
|
IMPORTED_LOCATION "${DEBUGUTILS_LIBRARY}")
|
|
|
|
|
endif()
|
|
|
|
|