From 351627011f9fc61cb3ea0204f89457e864eaf87b Mon Sep 17 00:00:00 2001
From: Johann Mantel <j-mantel@gmx.net>
Date: Fri, 25 Jun 2021 12:43:28 +0200
Subject: [PATCH] add CMake Find script for sick_scan_base

---
 etc/cmake/Findsick_scan_base.cmake | 46 ++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)
 create mode 100644 etc/cmake/Findsick_scan_base.cmake

diff --git a/etc/cmake/Findsick_scan_base.cmake b/etc/cmake/Findsick_scan_base.cmake
new file mode 100644
index 000000000..8f4ebccdb
--- /dev/null
+++ b/etc/cmake/Findsick_scan_base.cmake
@@ -0,0 +1,46 @@
+# - Try to find sick_scan_base
+# This module defines the following variables:
+# sick_scan_base_FOUND   : 1 if sick_scan_base was found, 0 otherwise
+# sick_scan_base_INCLUDE_DIRS: directory where the headers can be found
+
+include(FindPackageHandleStandardArgs)
+
+message(STATUS ${sick_scan_base_DIR})
+
+#if(NOT "$ENV{sick_scan_base_DIR}" EQUAL "")
+#    set(sick_scan_base_DIR $ENV{sick_scan_base_DIR} CACHE PATH "Path to sick_scan_base" FORCE)
+#endif()
+
+set(HEADER_SEARCH_PATHS
+    ${sick_scan_base_DIR}/include/
+    ${sick_scan_base_DIR}/include/sick_scan/
+    ${sick_scan_base_DIR}/include/tinyxml/
+    ${sick_scan_base_DIR}/roswrap/src/include/
+    ${sick_scan_base_DIR}/roswrap/src/rossimu/kinetic/include/
+    ${sick_scan_base_DIR}/roswrap/src/cfgsimu/
+    ENV CPATH
+    /usr/include/
+)
+
+ #find_library(sick_scan_base_LIBRARY Names sick_scan_base2 PATHS /usr/lib PATH_SUFFIXES lib )
+find_path(sick_scan_base_INCLUDE_DIR_0 NAMES sick_scan/sick_scan_common_tcp.h PATHS ${HEADER_SEARCH_PATHS} NO_DEFAULT_PATH)
+find_path(sick_scan_base_INCLUDE_DIR_1 NAMES sick_generic_laser.h PATHS ${HEADER_SEARCH_PATHS} NO_DEFAULT_PATH)
+find_path(sick_scan_base_INCLUDE_DIR_2 NAMES tinystr.h PATHS ${HEADER_SEARCH_PATHS} NO_DEFAULT_PATH)
+find_path(sick_scan_base_INCLUDE_DIR_3 NAMES sick_scan/SickScanConfig.h PATHS ${HEADER_SEARCH_PATHS} NO_DEFAULT_PATH)
+find_path(sick_scan_base_INCLUDE_DIR_4 NAMES dynamic_reconfigure/config_tools.h PATHS ${HEADER_SEARCH_PATHS} NO_DEFAULT_PATH)
+find_path(sick_scan_base_INCLUDE_DIR_5 NAMES sick_scan/SickScanConfig.h PATHS ${HEADER_SEARCH_PATHS} NO_DEFAULT_PATH)
+
+if(sick_scan_base_INCLUDE_DIR_0 AND sick_scan_base_INCLUDE_DIR_1 AND sick_scan_base_INCLUDE_DIR_2 AND sick_scan_base_INCLUDE_DIR_3 AND sick_scan_base_INCLUDE_DIR_4 AND sick_scan_base_INCLUDE_DIR_4)
+    set(sick_scan_base_INCLUDE_DIRS ${sick_scan_base_INCLUDE_DIR_0} ${sick_scan_base_INCLUDE_DIR_1} ${sick_scan_base_INCLUDE_DIR_2} ${sick_scan_base_INCLUDE_DIR_3} ${sick_scan_base_INCLUDE_DIR_4} ${sick_scan_base_INCLUDE_DIR_5})
+endif()
+message(STATUS "sick_scan_base_INCLUDE_DIRS:${sick_scan_base_INCLUDE_DIRS}")
+
+find_library(sick_scan_base_LIBRARIES NAMES libsick_scan_generic.so PATHS ${sick_scan_base_DIR}/build NO_DEFAULT_PATH)
+message(STATUS "sick_scan_base_LIBRARIES:${sick_scan_base_LIBRARIES}")
+
+find_package_handle_standard_args(sick_scan_base DEFAULT_MSG sick_scan_base_INCLUDE_DIRS)
+
+mark_as_advanced(sick_scan_base_INCLUDE_DIRS)
+
+
+
-- 
GitLab