-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathFindXsensXME.cmake
92 lines (75 loc) · 2.6 KB
/
FindXsensXME.cmake
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# SPDX-FileCopyrightText: Fondazione Istituto Italiano di Tecnologia (IIT)
# SPDX-License-Identifier: BSD-3-Clause
#.rst:
# FindXsensXME
# -----------
#
# Find the Xsens MVN Engine (XME) library API.
#
# IMPORTED Targets
# ^^^^^^^^^^^^^^^^
#
# This module defines the following :prop_tgt:`IMPORTED` targets if
# XME drivers has been found::
#
# Xsens::XME
#
# Result Variables
# ^^^^^^^^^^^^^^^^
#
# This module defines the following variables::
#
# XsensXME_FOUND - System has XME
# XsensXME_INCLUDE_DIRS - Include directories for XME
# XsensXME_LIBRARIES - libraries to link against XME
#
# Readed enviromental variables
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#
# This module reads hints about search locations from variables::
#
# XsensXME_ROOT - Directory containing the SDK files.
if(WIN32)
if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
#32bit
set(XME_ARCH "32")
set(XME_DIR_PATH "Win32")
else()
#64bit
set(XME_ARCH "64")
set(XME_DIR_PATH "x64")
endif()
find_path(Xsens_INCLUDE_DIR xme.h
HINTS "$ENV{XsensXME_ROOT}/${XME_DIR_PATH}/include")
find_library(Xsens_xme_LIBRARY "xme${XME_ARCH}"
HINTS "$ENV{XsensXME_ROOT}/${XME_DIR_PATH}/lib")
find_library(Xsens_xstypes_LIBRARY "xstypes${XME_ARCH}"
HINTS "$ENV{XsensXME_ROOT}/${XME_DIR_PATH}/lib")
mark_as_advanced(Xsens_INCLUDE_DIR
Xsens_xme_LIBRARY
Xsens_xstypes_LIBRARY)
if (Xsens_xme_LIBRARY
AND Xsens_xstypes_LIBRARY
AND Xsens_INCLUDE_DIR
AND NOT TARGET Xsens::XME)
add_library(Xsens::XME UNKNOWN IMPORTED)
set_target_properties(Xsens::XME PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${Xsens_INCLUDE_DIR}"
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
IMPORTED_LOCATION "${Xsens_xme_LIBRARY}"
INTERFACE_LINK_LIBRARIES "${Xsens_xstypes_LIBRARY}")
set(XsensXME_LIBRARIES Xsens::XME)
set(XsensXME_INCLUDE_DIRS "${Xsens_INCLUDE_DIR}")
endif()
else()
set(XsensXME_FOUND FALSE)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(XsensXME
FOUND_VAR XsensXME_FOUND
REQUIRED_VARS XsensXME_LIBRARIES XsensXME_INCLUDE_DIRS)
# Set package properties if FeatureSummary was included
if(COMMAND set_package_properties)
set_package_properties(XsensXME PROPERTIES DESCRIPTION "API for Xsens MVN suit"
URL "https://www.xsens.com/products/xsens-mvn/")
endif()