aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/box2d/portfile.cmake11
-rw-r--r--ports/box2d/use-static-linkage.patch40
2 files changed, 48 insertions, 3 deletions
diff --git a/ports/box2d/portfile.cmake b/ports/box2d/portfile.cmake
index 122290251..b07dbc663 100644
--- a/ports/box2d/portfile.cmake
+++ b/ports/box2d/portfile.cmake
@@ -7,9 +7,6 @@ elseif(TRIPLET_SYSTEM_ARCH MATCHES "arm")
message(FATAL_ERROR "ARM not supported")
endif(TRIPLET_SYSTEM_ARCH MATCHES "x86")
-if(NOT VCPKG_CRT_LINKAGE STREQUAL "dynamic")
- message(FATAL_ERROR "Box2d only supports dynamic CRT linkage")
-endif()
include(vcpkg_common_functions)
@@ -25,6 +22,14 @@ vcpkg_from_github(
HEAD_REF master
)
+if(VCPKG_CRT_LINKAGE STREQUAL "static")
+ vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES
+ ${CMAKE_CURRENT_LIST_DIR}/use-static-linkage.patch
+ )
+endif()
+
# Put the licence and readme files where vcpkg expects it
message(STATUS "Packaging license")
file(COPY ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/box2d)
diff --git a/ports/box2d/use-static-linkage.patch b/ports/box2d/use-static-linkage.patch
new file mode 100644
index 000000000..4c3fccd53
--- /dev/null
+++ b/ports/box2d/use-static-linkage.patch
@@ -0,0 +1,40 @@
+diff --git a/Box2D/Build/vs2015/Box2D.vcxproj b/Box2D/Build/vs2015/Box2D.vcxproj
+index 830803c..5dda519 100644
+--- a/Box2D/Build/vs2015/Box2D.vcxproj
++++ b/Box2D/Build/vs2015/Box2D.vcxproj
+@@ -86,7 +86,7 @@
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+@@ -115,7 +115,7 @@
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>true</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
++ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+@@ -145,7 +145,7 @@
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
+- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+@@ -176,7 +176,7 @@
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <StringPooling>true</StringPooling>
+- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
++ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>