aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Paulyshka <me@mixaill.tk>2017-08-27 04:18:26 +0300
committerMikhail Paulyshka <me@mixaill.tk>2017-08-27 04:18:26 +0300
commit36d359679a6df150b3ed595da6c085732fff515d (patch)
tree41c55555522853bfdbd0543b1b9adee6c9939c05
parent3a026cbe21881dc35278c2c7946b3b12b7815d09 (diff)
downloadvcpkg-36d359679a6df150b3ed595da6c085732fff515d.tar.gz
vcpkg-36d359679a6df150b3ed595da6c085732fff515d.zip
[FCL] add version 0.5.0
-rw-r--r--ports/fcl/0001_fix_package_detection.patch81
-rw-r--r--ports/fcl/CONTROL4
-rw-r--r--ports/fcl/portfile.cmake42
3 files changed, 127 insertions, 0 deletions
diff --git a/ports/fcl/0001_fix_package_detection.patch b/ports/fcl/0001_fix_package_detection.patch
new file mode 100644
index 000000000..9ae1b60e5
--- /dev/null
+++ b/ports/fcl/0001_fix_package_detection.patch
@@ -0,0 +1,81 @@
+From c43e3771cc2ec314191e5d4a5b485aab258c1b18 Mon Sep 17 00:00:00 2001
+From: Mikhail Paulyshka <me@mixaill.tk>
+Date: Sun, 27 Aug 2017 04:12:36 +0300
+Subject: [PATCH] use cmake-exports for package detection
+
+---
+ CMakeLists.txt | 48 +++---------------------------------------------
+ 1 file changed, 3 insertions(+), 45 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5a4a559..8978b61 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -65,32 +65,11 @@ if(FCL_COVERALLS)
+ endif()
+
+ # Find Octomap (optional)
+-find_package(PkgConfig QUIET)
+-
+ option(FCL_WITH_OCTOMAP "octomap library support" ON)
+ set(FCL_HAVE_OCTOMAP 0)
+ if(FCL_WITH_OCTOMAP)
+- if(PKG_CONFIG_FOUND)
+- pkg_check_modules(OCTOMAP QUIET octomap)
+- endif()
+- if(NOT OCTOMAP_FOUND)
+- # if pkgconfig is not installed, then fall back on more fragile detection
+- # of octomap
+- find_path(OCTOMAP_INCLUDE_DIRS octomap.h
+- PATH_SUFFIXES octomap)
+- find_library(OCTOMAP_LIBRARY_DIRS
+- ${CMAKE_SHARED_LIBRARY_PREFIX}octomap${CMAKE_SHARED_LIBRARY_SUFFIX})
+- if(OCTOMAP_INCLUDE_DIRS AND OCTOMAP_LIBRARY_DIRS)
+- set(OCTOMAP_LIBRARIES "octomap;octomath")
+- endif()
+- endif()
+- if (OCTOMAP_FOUND OR (OCTOMAP_INCLUDE_DIRS AND OCTOMAP_LIBRARY_DIRS))
+- string(REPLACE "." ";" VERSION_LIST ${OCTOMAP_VERSION})
+- list(GET VERSION_LIST 0 OCTOMAP_MAJOR_VERSION)
+- list(GET VERSION_LIST 1 OCTOMAP_MINOR_VERSION)
+- list(GET VERSION_LIST 2 OCTOMAP_PATCH_VERSION)
+- include_directories(${OCTOMAP_INCLUDE_DIRS})
+- link_directories(${OCTOMAP_LIBRARY_DIRS})
++ find_package(OCTOMAP REQUIRED)
++ if (OCTOMAP_FOUND)
+ set(FCL_HAVE_OCTOMAP 1)
+ message(STATUS "FCL uses Octomap")
+ else()
+@@ -116,28 +95,7 @@ endif()
+ include_directories(BEFORE "include")
+ include_directories("${CMAKE_CURRENT_BINARY_DIR}/include")
+
+-if(PKG_CONFIG_FOUND)
+- pkg_check_modules(CCD ccd)
+- # check to see if the pkg is installed under the libccd name
+- if(NOT CCD_FOUND)
+- pkg_check_modules(CCD libccd)
+- endif()
+-endif()
+-
+-if(NOT CCD_FOUND)
+- # if pkgconfig is not installed, then fall back on more fragile detection
+- # of ccd
+- find_path(CCD_INCLUDE_DIRS ccd/ccd.h)
+- find_library(CCD_LIBRARY
+- ${CMAKE_SHARED_LIBRARY_PREFIX}ccd${CMAKE_SHARED_LIBRARY_SUFFIX})
+- if(CCD_INCLUDE_DIRS AND CCD_LIBRARY)
+- set(CCD_LIBRARIES "${CCD_LIBRARY}")
+- else()
+- message(FATAL_ERROR "Libccd is required by FCL")
+- endif()
+-endif()
+-include_directories(${CCD_INCLUDE_DIRS})
+-link_directories(${CCD_LIBRARY_DIRS})
++find_package(CCD REQUIRED)
+
+ add_subdirectory(include/fcl)
+ add_subdirectory(src)
+--
+2.12.2.windows.2
+
diff --git a/ports/fcl/CONTROL b/ports/fcl/CONTROL
new file mode 100644
index 000000000..c83593cb3
--- /dev/null
+++ b/ports/fcl/CONTROL
@@ -0,0 +1,4 @@
+Source: fcl
+Version: 0.5.0-1
+Description: a library for performing three types of proximity queries on a pair of geometric models composed of triangles
+Build-Depends: boost, ccd, octomap \ No newline at end of file
diff --git a/ports/fcl/portfile.cmake b/ports/fcl/portfile.cmake
new file mode 100644
index 000000000..e0cee7e02
--- /dev/null
+++ b/ports/fcl/portfile.cmake
@@ -0,0 +1,42 @@
+include(vcpkg_common_functions)
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ message(STATUS "Warning: Dynamic building not supported yet. Building static.")
+ set(VCPKG_LIBRARY_LINKAGE static)
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO flexible-collision-library/fcl
+ REF 54e9619bc2b084ee50e986ac3308160d663481c4
+ SHA512 11bfa3fdeeda6766769a34d2248ca32b6b13ecb32b412c068aa1c7aa3495d55b3f7a82a93621965904f9813c3fd0f128a84f796ae5731d2ff15b85935a0e1261
+ HEAD_REF fcl-0.5
+)
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/0001_fix_package_detection.patch)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ set(FCL_STATIC_LIBRARY ON)
+else()
+ set(FCL_STATIC_LIBRARY OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DFCL_STATIC_LIBRARY=${FCL_STATIC_LIBRARY}
+ -DFCL_BUILD_TESTS=OFF
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH "cmake/")
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/fcl RENAME copyright)