diff options
| author | Jim Tilander <jim@tilander.org> | 2017-12-28 15:37:56 -0800 |
|---|---|---|
| committer | Jim Tilander <jim@tilander.org> | 2017-12-28 15:39:37 -0800 |
| commit | 6800cbed5cbb2fdc2c52f2ff6c03e7771810003e (patch) | |
| tree | dd0fe89390aae45b91b6339b2af89885c0f10c3d | |
| parent | 50baf7db17b8b23df300e48664863030e6d90936 (diff) | |
| download | vcpkg-6800cbed5cbb2fdc2c52f2ff6c03e7771810003e.tar.gz vcpkg-6800cbed5cbb2fdc2c52f2ff6c03e7771810003e.zip | |
Add support for Box2D to be build as a static library
| -rw-r--r-- | ports/box2d/portfile.cmake | 11 | ||||
| -rw-r--r-- | ports/box2d/use-static-linkage.patch | 40 |
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> |
