aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Karatarakis <alex@karatarakis.com>2018-01-03 17:36:15 +0200
committerGitHub <noreply@github.com>2018-01-03 17:36:15 +0200
commitb65f76e5f0a1fea894801afd37524b439f8adcbf (patch)
tree355af454d8415b722e635249ec8d0c448d3019e6
parent6130cec4c61ff1d44d6db1171125db2faca20b8d (diff)
parent6800cbed5cbb2fdc2c52f2ff6c03e7771810003e (diff)
downloadvcpkg-b65f76e5f0a1fea894801afd37524b439f8adcbf.tar.gz
vcpkg-b65f76e5f0a1fea894801afd37524b439f8adcbf.zip
Merge pull request #2464 from jtilander/box2d_static_library
Add support for Box2D to be build as a static library
-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>