diff options
Diffstat (limited to 'ports/mpir')
| -rw-r--r-- | ports/mpir/CONTROL | 6 | ||||
| -rw-r--r-- | ports/mpir/enable-runtimelibrary-toggle.patch | 26 | ||||
| -rw-r--r-- | ports/mpir/portfile.cmake | 182 |
3 files changed, 130 insertions, 84 deletions
diff --git a/ports/mpir/CONTROL b/ports/mpir/CONTROL index fc15d9b41..b9d1b2d74 100644 --- a/ports/mpir/CONTROL +++ b/ports/mpir/CONTROL @@ -1,3 +1,3 @@ -Source: mpir
-Version: 3.0.0-2
-Description: Multiple Precision Integers and Rationals.
\ No newline at end of file +Source: mpir +Version: 3.0.0-3 +Description: Multiple Precision Integers and Rationals. diff --git a/ports/mpir/enable-runtimelibrary-toggle.patch b/ports/mpir/enable-runtimelibrary-toggle.patch new file mode 100644 index 000000000..d0260e869 --- /dev/null +++ b/ports/mpir/enable-runtimelibrary-toggle.patch @@ -0,0 +1,26 @@ +diff --git a/build.vc/mpir_debug_lib.props b/build.vc/mpir_debug_lib.props +index b2fd57b..3937570 100644 +--- a/build.vc/mpir_debug_lib.props ++++ b/build.vc/mpir_debug_lib.props +@@ -9,7 +9,7 @@ + <ItemDefinitionGroup> + <ClCompile> + <ObjectFileName>$(IntDir)dum\my\%(RelativeDir)</ObjectFileName> +- <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> ++ <RuntimeLibrary>$(RuntimeLibrary)</RuntimeLibrary> + <ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName> + </ClCompile> + <Link> +diff --git a/build.vc/mpir_release_lib.props b/build.vc/mpir_release_lib.props +index 6cdff3e..3937570 100644 +--- a/build.vc/mpir_release_lib.props ++++ b/build.vc/mpir_release_lib.props +@@ -9,7 +9,7 @@ + <ItemDefinitionGroup> + <ClCompile> + <ObjectFileName>$(IntDir)dum\my\%(RelativeDir)</ObjectFileName> +- <RuntimeLibrary>MultiThreaded</RuntimeLibrary> ++ <RuntimeLibrary>$(RuntimeLibrary)</RuntimeLibrary> + <ProgramDataBaseFileName>$(TargetDir)$(TargetName).pdb</ProgramDataBaseFileName> + </ClCompile> + <Link> diff --git a/ports/mpir/portfile.cmake b/ports/mpir/portfile.cmake index 1595a6533..c56cfa545 100644 --- a/ports/mpir/portfile.cmake +++ b/ports/mpir/portfile.cmake @@ -1,81 +1,101 @@ -include(vcpkg_common_functions)
-
-set(MPIR_VERSION 3.0.0)
-set(MPIR_HASH "c735105db8b86db739fd915bf16064e6bc82d0565ad8858059e4e93f62c9d72d9a1c02a5ca9859b184346a8dc64fa714d4d61404cff1e405dc548cbd54d0a88e")
-set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpir-${MPIR_VERSION})
-
-vcpkg_download_distfile(ARCHIVE_FILE
- URLS "http://mpir.org/mpir-${MPIR_VERSION}.tar.bz2"
- FILENAME "mpir-${MPIR_VERSION}.tar.bz2"
- SHA512 ${MPIR_HASH}
-)
-vcpkg_extract_source_archive(${ARCHIVE_FILE})
-
-if(VCPKG_PLATFORM_TOOLSET MATCHES "v141")
- set(MSVC_VERSION 15)
-else()
- set(MSVC_VERSION 14)
-endif()
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/build.vc${MSVC_VERSION}/dll_mpir_gc/dll_mpir_gc.vcxproj
- )
-else()
- vcpkg_build_msbuild(
- PROJECT_PATH ${SOURCE_PATH}/build.vc${MSVC_VERSION}/lib_mpir_gc/lib_mpir_gc.vcxproj
- )
-endif()
-
-IF (VCPKG_TARGET_ARCHITECTURE MATCHES "x86")
- SET(BUILD_ARCH "Win32")
-ELSE()
- SET(BUILD_ARCH ${VCPKG_TARGET_ARCHITECTURE})
-ENDIF()
-
-if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
- file(INSTALL
- ${SOURCE_PATH}/dll/${BUILD_ARCH}/Debug/gmp.h
- ${SOURCE_PATH}/dll/${BUILD_ARCH}/Debug/gmpxx.h
- ${SOURCE_PATH}/dll/${BUILD_ARCH}/Debug/mpir.h
- ${SOURCE_PATH}/dll/${BUILD_ARCH}/Debug/mpirxx.h
- DESTINATION ${CURRENT_PACKAGES_DIR}/include
- )
- file(INSTALL
- ${SOURCE_PATH}/dll/${BUILD_ARCH}/Debug/mpir.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
- )
- file(INSTALL
- ${SOURCE_PATH}/dll/${BUILD_ARCH}/Release/mpir.dll
- DESTINATION ${CURRENT_PACKAGES_DIR}/bin
- )
- file(INSTALL
- ${SOURCE_PATH}/dll/${BUILD_ARCH}/Debug/mpir.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
- )
- file(INSTALL
- ${SOURCE_PATH}/dll/${BUILD_ARCH}/Release/mpir.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
- )
- file(INSTALL ${SOURCE_PATH}/COPYING.lib DESTINATION ${CURRENT_PACKAGES_DIR}/share/mpir RENAME copyright)
- vcpkg_copy_pdbs()
-else()
- file(INSTALL
- ${SOURCE_PATH}/lib/${BUILD_ARCH}/Debug/gmp.h
- ${SOURCE_PATH}/lib/${BUILD_ARCH}/Debug/gmpxx.h
- ${SOURCE_PATH}/lib/${BUILD_ARCH}/Debug/mpir.h
- ${SOURCE_PATH}/lib/${BUILD_ARCH}/Debug/mpirxx.h
- DESTINATION ${CURRENT_PACKAGES_DIR}/include
- )
- file(INSTALL
- ${SOURCE_PATH}/lib/${BUILD_ARCH}/Debug/mpir.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
- )
- file(INSTALL
- ${SOURCE_PATH}/lib/${BUILD_ARCH}/Release/mpir.lib
- DESTINATION ${CURRENT_PACKAGES_DIR}/lib
- )
- file(INSTALL ${SOURCE_PATH}/COPYING.lib DESTINATION ${CURRENT_PACKAGES_DIR}/share/mpir RENAME copyright)
-endif()
-
-message(STATUS "Installing done")
+include(vcpkg_common_functions) + +if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "MPIR currently can only be built for desktop") +endif() + +if(VCPKG_CRT_LINKAGE STREQUAL "static" AND VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + message(FATAL_ERROR "MPIR currently can only be built using the dynamic CRT when building DLLs") +endif() + +set(MPIR_VERSION 3.0.0) +set(MPIR_HASH "c735105db8b86db739fd915bf16064e6bc82d0565ad8858059e4e93f62c9d72d9a1c02a5ca9859b184346a8dc64fa714d4d61404cff1e405dc548cbd54d0a88e") +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mpir-${MPIR_VERSION}) + +vcpkg_download_distfile(ARCHIVE_FILE + URLS "http://mpir.org/mpir-${MPIR_VERSION}.tar.bz2" + FILENAME "mpir-${MPIR_VERSION}.tar.bz2" + SHA512 ${MPIR_HASH} +) +vcpkg_extract_source_archive(${ARCHIVE_FILE}) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES "${CMAKE_CURRENT_LIST_DIR}/enable-runtimelibrary-toggle.patch" +) + +if(VCPKG_PLATFORM_TOOLSET MATCHES "v141") + set(MSVC_VERSION 15) +else() + set(MSVC_VERSION 14) +endif() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/build.vc${MSVC_VERSION}/dll_mpir_gc/dll_mpir_gc.vcxproj + ) +else() + if(VCPKG_CRT_LINKAGE STREQUAL "static") + set(RuntimeLibraryExt "") + else() + set(RuntimeLibraryExt "DLL") + endif() + vcpkg_build_msbuild( + PROJECT_PATH ${SOURCE_PATH}/build.vc${MSVC_VERSION}/lib_mpir_gc/lib_mpir_gc.vcxproj + OPTIONS_DEBUG "/p:RuntimeLibrary=MultiThreadedDebug${RuntimeLibraryExt}" + OPTIONS_RELEASE "/p:RuntimeLibrary=MultiThreaded${RuntimeLibraryExt}" + ) +endif() + +IF (VCPKG_TARGET_ARCHITECTURE MATCHES "x86") + SET(BUILD_ARCH "Win32") +ELSE() + SET(BUILD_ARCH ${VCPKG_TARGET_ARCHITECTURE}) +ENDIF() + +if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + file(INSTALL + ${SOURCE_PATH}/dll/${BUILD_ARCH}/Debug/gmp.h + ${SOURCE_PATH}/dll/${BUILD_ARCH}/Debug/gmpxx.h + ${SOURCE_PATH}/dll/${BUILD_ARCH}/Debug/mpir.h + ${SOURCE_PATH}/dll/${BUILD_ARCH}/Debug/mpirxx.h + DESTINATION ${CURRENT_PACKAGES_DIR}/include + ) + file(INSTALL + ${SOURCE_PATH}/dll/${BUILD_ARCH}/Debug/mpir.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin + ) + file(INSTALL + ${SOURCE_PATH}/dll/${BUILD_ARCH}/Release/mpir.dll + DESTINATION ${CURRENT_PACKAGES_DIR}/bin + ) + file(INSTALL + ${SOURCE_PATH}/dll/${BUILD_ARCH}/Debug/mpir.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + ) + file(INSTALL + ${SOURCE_PATH}/dll/${BUILD_ARCH}/Release/mpir.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/lib + ) +else() + file(INSTALL + ${SOURCE_PATH}/lib/${BUILD_ARCH}/Debug/gmp.h + ${SOURCE_PATH}/lib/${BUILD_ARCH}/Debug/gmpxx.h + ${SOURCE_PATH}/lib/${BUILD_ARCH}/Debug/mpir.h + ${SOURCE_PATH}/lib/${BUILD_ARCH}/Debug/mpirxx.h + DESTINATION ${CURRENT_PACKAGES_DIR}/include + ) + file(INSTALL + ${SOURCE_PATH}/lib/${BUILD_ARCH}/Debug/mpir.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib + ) + file(INSTALL + ${SOURCE_PATH}/lib/${BUILD_ARCH}/Release/mpir.lib + DESTINATION ${CURRENT_PACKAGES_DIR}/lib + ) +endif() + +file(INSTALL ${SOURCE_PATH}/COPYING.lib DESTINATION ${CURRENT_PACKAGES_DIR}/share/mpir RENAME copyright) +vcpkg_copy_pdbs() + +message(STATUS "Installing done") |
