Added copyright, refactored to be more clear and marked certain things as advanced.

pull/593/head
Bret Curtis 4 years ago
parent c4064fca0c
commit 2bc5a44e15

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

Loading…
Cancel
Save