aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Traversaro <silvio.traversaro@iit.it>2020-06-12 08:20:27 +0200
committerGitHub <noreply@github.com>2020-06-11 23:20:27 -0700
commitb97fe822f5e59fbf6b93fd9c97794dddc1d8b9f0 (patch)
tree5858583c7f586ebd0c76d2e2f621a1dfe61c1b44
parent310f4df34f154e1e2cd0502a717baf6ccbe29549 (diff)
downloadvcpkg-b97fe822f5e59fbf6b93fd9c97794dddc1d8b9f0.tar.gz
vcpkg-b97fe822f5e59fbf6b93fd9c97794dddc1d8b9f0.zip
[ccd] Add emscripten support (#11407)
Backport upstream patch: https://github.com/danfis/libccd/pull/70 Disable BUILD_TESTING, that has also the nice side effect of a faster build on all triplets.
-rw-r--r--ports/ccd/CONTROL2
-rw-r--r--ports/ccd/portfile.cmake6
-rw-r--r--ports/ccd/support-emscripten.patch25
3 files changed, 30 insertions, 3 deletions
diff --git a/ports/ccd/CONTROL b/ports/ccd/CONTROL
index ded728779..5a5f59e28 100644
--- a/ports/ccd/CONTROL
+++ b/ports/ccd/CONTROL
@@ -1,4 +1,4 @@
Source: ccd
-Version: 2.1-3
+Version: 2.1-4
Homepage: https://github.com/danfis/libccd
Description: Library for collision detection between two convex shapes
diff --git a/ports/ccd/portfile.cmake b/ports/ccd/portfile.cmake
index 424732917..29f0f9efa 100644
--- a/ports/ccd/portfile.cmake
+++ b/ports/ccd/portfile.cmake
@@ -1,16 +1,18 @@
-include(vcpkg_common_functions)
-
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO danfis/libccd
REF v2.1
SHA512 ff037d9c4df50f09600cf9b3514b259b2850ff43f74817853f5665d22812891168f70bd3cc3969b2c9e3c706f6254991a65421476349607fbd04d894b217456d
HEAD_REF master
+ # Backport https://github.com/danfis/libccd/pull/70 to support Emscripten
+ PATCHES "support-emscripten.patch"
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
+ OPTIONS
+ -DBUILD_TESTING=OFF
)
vcpkg_install_cmake()
diff --git a/ports/ccd/support-emscripten.patch b/ports/ccd/support-emscripten.patch
new file mode 100644
index 000000000..2fe689a79
--- /dev/null
+++ b/ports/ccd/support-emscripten.patch
@@ -0,0 +1,25 @@
+From c3616f28d33019047e8e71df8abeb0493159539e Mon Sep 17 00:00:00 2001
+From: Silvio Traversaro <silvio@traversaro.it>
+Date: Sun, 17 May 2020 11:42:24 +0200
+Subject: [PATCH] Fix configuration with Emscripten
+
+In Emscripten there is no separate libm library, so there is no need to explicitly link it,
+and in particular the find_library call would fail as there is not libm to find.
+See https://stackoverflow.com/questions/24663915/how-can-i-link-libm-to-my-emscripten-port
+---
+ src/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1407080..357ed76 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -48,7 +48,7 @@ target_include_directories(ccd PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
+
+-if(NOT WIN32)
++if(NOT WIN32 AND NOT (CMAKE_SYSTEM_NAME STREQUAL "Emscripten"))
+ find_library(LIBM_LIBRARY NAMES m)
+ if(NOT LIBM_LIBRARY)
+ message(FATAL_ERROR "Could NOT find required library LibM")