summaryrefslogtreecommitdiffstats
path: root/cmake_modules/FindPENTAX.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake_modules/FindPENTAX.cmake')
-rw-r--r--cmake_modules/FindPENTAX.cmake86
1 files changed, 86 insertions, 0 deletions
diff --git a/cmake_modules/FindPENTAX.cmake b/cmake_modules/FindPENTAX.cmake
new file mode 100644
index 0000000..5209c8a
--- /dev/null
+++ b/cmake_modules/FindPENTAX.cmake
@@ -0,0 +1,86 @@
+# - Try to find PENTAX Universal Libraries
+# Once done this will define
+#
+# PENTAX_FOUND - system has PENTAX
+# PENTAX_INCLUDE_DIR - the PENTAX include directory
+# PENTAX_LIBRARIES - Link these to use PENTAX
+
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if (PENTAX_INCLUDE_DIR AND PENTAX_LIBRARIES)
+
+ # in cache already
+ set(PENTAX_FOUND TRUE)
+ message(STATUS "Found PENTAX libraries: ${PENTAX_LIBRARIES}")
+
+else (PENTAX_INCLUDE_DIR AND PENTAX_LIBRARIES)
+
+ find_path(PKTRIGGERCORD_INCLUDE_DIR libpktriggercord.h
+ PATH_SUFFIXES libpktriggercord
+ ${_obIncDir}
+ ${GNUWIN32_DIR}/include
+ )
+
+ find_library(PKTRIGGERCORD_LIBRARIES NAMES pktriggercord
+ PATHS
+ ${_obLinkDir}
+ ${GNUWIN32_DIR}/lib
+ PATH_SUFFIXES indipentax
+ )
+
+#if not armv8, then look for ricoh library; otherwise only use pktriggercord library
+ if(NOT (${CMAKE_SYSTEM_PROCESSOR} MATCHES "^aarch64"))
+ find_path(RICOH_INCLUDE_DIR ricoh_camera_sdk.hpp
+ PATH_SUFFIXES libpentax libricohcamerasdk
+ ${_obIncDir}
+ ${GNUWIN32_DIR}/include
+ )
+ find_library(RICOH_LIBRARIES NAMES RicohCameraSDKCpp
+ PATHS
+ ${_obLinkDir}
+ ${GNUWIN32_DIR}/lib
+ )
+ find_library(RICOHMTP_LIBRARIES NAMES libmtpricoh.so.9.3.0
+ PATHS
+ ${_obLinkDir}
+ ${GNUWIN32_DIR}/lib
+ )
+
+ if (RICOH_INCLUDE_DIR AND PKTRIGGERCORD_INCLUDE_DIR)
+ set(PENTAX_INCLUDE_DIR ${RICOH_INCLUDE_DIR} ${PKTRIGGERCORD_INCLUDE_DIR})
+ endif (RICOH_INCLUDE_DIR AND PKTRIGGERCORD_INCLUDE_DIR)
+ if (RICOH_LIBRARIES AND RICOHMTP_LIBRARIES AND PKTRIGGERCORD_LIBRARIES)
+ set(PENTAX_LIBRARIES ${RICOH_LIBRARIES} ${RICOHMTP_LIBRARIES} ${PKTRIGGERCORD_LIBRARIES})
+ endif (RICOH_LIBRARIES AND RICOHMTP_LIBRARIES AND PKTRIGGERCORD_LIBRARIES)
+
+ else()
+ if (PKTRIGGERCORD_INCLUDE_DIR)
+ set(PENTAX_INCLUDE_DIR ${PKTRIGGERCORD_INCLUDE_DIR})
+ endif (PKTRIGGERCORD_INCLUDE_DIR)
+ if (PKTRIGGERCORD_LIBRARIES)
+ set(PENTAX_LIBRARIES ${PKTRIGGERCORD_LIBRARIES})
+ endif (PKTRIGGERCORD_LIBRARIES)
+ endif()
+
+
+ if(PENTAX_INCLUDE_DIR AND PENTAX_LIBRARIES)
+ set(PENTAX_FOUND TRUE)
+ else (PENTAX_INCLUDE_DIR AND PENTAX_LIBRARIES)
+ set(PENTAX_FOUND FALSE)
+ endif(PENTAX_INCLUDE_DIR AND PENTAX_LIBRARIES)
+
+
+ if (PENTAX_FOUND)
+ if (NOT PENTAX_FIND_QUIETLY)
+ message(STATUS "Found PENTAX libraries: ${PENTAX_LIBRARIES}")
+ endif (NOT PENTAX_FIND_QUIETLY)
+ else (PENTAX_FOUND)
+ if (PENTAX_FIND_REQUIRED)
+ message(FATAL_ERROR "One or both of libricohcamersdk and libpktriggercord are not found. Please install them. See http://www.indilib.org.")
+ endif (PENTAX_FIND_REQUIRED)
+ endif (PENTAX_FOUND)
+
+ mark_as_advanced(PENTAX_INCLUDE_DIR PENTAX_LIBRARIES)
+
+endif (PENTAX_INCLUDE_DIR AND PENTAX_LIBRARIES)