1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
# TINYXML2_FOUND
# TINYXML2_INCLUDE_DIR
# TINYXML2_SOURCE_DIR
option(TINYXML2_FROM_SOURCE "Integrate TinyXML2 source code inside Fast DDS" OFF)
# Option for evaluating whether we are looking in for tinyxml2 in submodule
set(TINYXML2_FROM_THIRDPARTY OFF)
if (
(THIRDPARTY_TinyXML2 STREQUAL "ON") OR
(THIRDPARTY_TinyXML2 STREQUAL "FORCE")
)
set(TINYXML2_FROM_THIRDPARTY ON)
endif()
if(NOT (TINYXML2_FROM_SOURCE OR TINYXML2_FROM_THIRDPARTY))
find_package(TinyXML2 CONFIG QUIET)
endif()
if(TinyXML2_FOUND AND NOT TINYXML2_FROM_THIRDPARTY)
message(STATUS "Found TinyXML2: ${TinyXML2_DIR}")
if(NOT TINYXML2_LIBRARY)
# in this case, we're probably using TinyXML2 version 5.0.0 or greater
# in which case tinyxml2 is an exported target and we should use that
if(TARGET tinyxml2)
set(TINYXML2_LIBRARY tinyxml2)
elseif(TARGET tinyxml2::tinyxml2)
set(TINYXML2_LIBRARY tinyxml2::tinyxml2)
endif()
endif()
else()
if(TINYXML2_FROM_THIRDPARTY OR ANDROID)
set(TINYXML2_FROM_SOURCE ON)
find_path(TINYXML2_INCLUDE_DIR NAMES tinyxml2.h NO_CMAKE_FIND_ROOT_PATH)
else()
find_path(TINYXML2_INCLUDE_DIR NAMES tinyxml2.h)
endif()
if(TINYXML2_FROM_SOURCE)
find_path(TINYXML2_SOURCE_DIR NAMES tinyxml2.cpp NO_CMAKE_FIND_ROOT_PATH)
else()
find_library(TINYXML2_LIBRARY tinyxml2)
endif()
include(FindPackageHandleStandardArgs)
if(TINYXML2_FROM_SOURCE)
find_package_handle_standard_args(TinyXML2 DEFAULT_MSG TINYXML2_SOURCE_DIR TINYXML2_INCLUDE_DIR)
mark_as_advanced(TINYXML2_INCLUDE_DIR TINYXML2_SOURCE_DIR)
else()
find_package_handle_standard_args(TinyXML2 DEFAULT_MSG TINYXML2_LIBRARY TINYXML2_INCLUDE_DIR)
mark_as_advanced(TINYXML2_INCLUDE_DIR TINYXML2_LIBRARY)
endif()
endif()
|