mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-21 02:05:16 +03:00
91 lines
3.2 KiB
Diff
91 lines
3.2 KiB
Diff
--- /dev/null
|
|
+++ ./cmake/FindClipper.cmake
|
|
@@ -0,0 +1,88 @@
|
|
+# Find Clipper library (http://www.angusj.com/delphi/clipper.php).
|
|
+# The following variables are set
|
|
+#
|
|
+# CLIPPER_FOUND
|
|
+# CLIPPER_INCLUDE_DIRS
|
|
+# CLIPPER_LIBRARIES
|
|
+#
|
|
+# It searches the environment variable $CLIPPER_PATH automatically.
|
|
+
|
|
+unset(CLIPPER_FOUND CACHE)
|
|
+unset(CLIPPER_INCLUDE_DIRS CACHE)
|
|
+unset(CLIPPER_LIBRARIES CACHE)
|
|
+unset(CLIPPER_LIBRARIES_RELEASE CACHE)
|
|
+unset(CLIPPER_LIBRARIES_DEBUG CACHE)
|
|
+
|
|
+if(CMAKE_BUILD_TYPE MATCHES "(Debug|DEBUG|debug)")
|
|
+ set(CLIPPER_BUILD_TYPE DEBUG)
|
|
+else()
|
|
+ set(CLIPPER_BUILD_TYPE RELEASE)
|
|
+endif()
|
|
+
|
|
+FIND_PATH(CLIPPER_INCLUDE_DIRS clipper.hpp
|
|
+ $ENV{CLIPPER_PATH}
|
|
+ $ENV{CLIPPER_PATH}/cpp/
|
|
+ $ENV{CLIPPER_PATH}/include/
|
|
+ $ENV{CLIPPER_PATH}/include/polyclipping/
|
|
+ ${PROJECT_SOURCE_DIR}/python/pymesh/third_party/include/
|
|
+ ${PROJECT_SOURCE_DIR}/python/pymesh/third_party/include/polyclipping/
|
|
+ ${CMAKE_PREFIX_PATH}/include/polyclipping
|
|
+ ${CMAKE_PREFIX_PATH}/include/
|
|
+ /opt/local/include/
|
|
+ /opt/local/include/polyclipping/
|
|
+ /usr/local/include/
|
|
+ /usr/local/include/polyclipping/
|
|
+ /usr/include
|
|
+ /usr/include/polyclipping/)
|
|
+
|
|
+set(LIB_SEARCHDIRS
|
|
+ $ENV{CLIPPER_PATH}
|
|
+ $ENV{CLIPPER_PATH}/cpp/
|
|
+ $ENV{CLIPPER_PATH}/cpp/build/
|
|
+ $ENV{CLIPPER_PATH}/lib/
|
|
+ $ENV{CLIPPER_PATH}/lib/polyclipping/
|
|
+ ${PROJECT_SOURCE_DIR}/python/pymesh/third_party/lib/
|
|
+ ${PROJECT_SOURCE_DIR}/python/pymesh/third_party/lib/polyclipping/
|
|
+ ${CMAKE_PREFIX_PATH}/lib/
|
|
+ ${CMAKE_PREFIX_PATH}/lib/polyclipping/
|
|
+ /opt/local/lib/
|
|
+ /opt/local/lib/polyclipping/
|
|
+ /usr/local/lib/
|
|
+ /usr/local/lib/polyclipping/
|
|
+ /usr/lib/polyclipping
|
|
+ )
|
|
+
|
|
+set(_deb_postfix "d")
|
|
+
|
|
+FIND_LIBRARY(CLIPPER_LIBRARIES_RELEASE polyclipping ${LIB_SEARCHDIRS})
|
|
+FIND_LIBRARY(CLIPPER_LIBRARIES_DEBUG polyclipping${_deb_postfix} ${LIB_SEARCHDIRS})
|
|
+
|
|
+if(CLIPPER_LIBRARIES_${CLIPPER_BUILD_TYPE})
|
|
+ set(CLIPPER_LIBRARIES "${CLIPPER_LIBRARIES_${CLIPPER_BUILD_TYPE}}")
|
|
+else()
|
|
+ set(CLIPPER_LIBRARIES "${CLIPPER_LIBRARIES_RELEASE}")
|
|
+endif()
|
|
+
|
|
+include(FindPackageHandleStandardArgs)
|
|
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Clipper
|
|
+ "Clipper library cannot be found. Consider set CLIPPER_PATH environment variable"
|
|
+ CLIPPER_INCLUDE_DIRS
|
|
+ CLIPPER_LIBRARIES)
|
|
+
|
|
+MARK_AS_ADVANCED(
|
|
+ CLIPPER_INCLUDE_DIRS
|
|
+ CLIPPER_LIBRARIES)
|
|
+
|
|
+if(CLIPPER_FOUND)
|
|
+ add_library(Clipper::Clipper UNKNOWN IMPORTED)
|
|
+ set_target_properties(Clipper::Clipper PROPERTIES IMPORTED_LOCATION ${CLIPPER_LIBRARIES})
|
|
+ set_target_properties(Clipper::Clipper PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${CLIPPER_INCLUDE_DIRS})
|
|
+ if(CLIPPER_LIBRARIES_RELEASE AND CLIPPER_LIBRARIES_DEBUG)
|
|
+ set_target_properties(Clipper::Clipper PROPERTIES
|
|
+ IMPORTED_LOCATION_DEBUG ${CLIPPER_LIBRARIES_DEBUG}
|
|
+ IMPORTED_LOCATION_RELWITHDEBINFO ${CLIPPER_LIBRARIES_RELEASE}
|
|
+ IMPORTED_LOCATION_RELEASE ${CLIPPER_LIBRARIES_RELEASE}
|
|
+ IMPORTED_LOCATION_MINSIZEREL ${CLIPPER_LIBRARIES_RELEASE}
|
|
+ )
|
|
+ endif()
|
|
+endif()
|