aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph D <joseph@outurnate.com>2017-04-15 14:24:29 -0400
committerJoseph D <joseph@outurnate.com>2017-04-15 14:24:29 -0400
commit55cbb96fa0e635e774f16b217ebf89bb06584a57 (patch)
treecd385324d18422be727bdd9dd0e4b597e4c0e07c
parente1f5fe728d702c12c466cc4ff65f3d628d07ea19 (diff)
downloadvcpkg-55cbb96fa0e635e774f16b217ebf89bb06584a57.tar.gz
vcpkg-55cbb96fa0e635e774f16b217ebf89bb06584a57.zip
Add mdnsresponder port
-rw-r--r--ports/mdnsresponder/CONTROL3
-rw-r--r--ports/mdnsresponder/portfile.cmake85
2 files changed, 88 insertions, 0 deletions
diff --git a/ports/mdnsresponder/CONTROL b/ports/mdnsresponder/CONTROL
new file mode 100644
index 000000000..f703d5860
--- /dev/null
+++ b/ports/mdnsresponder/CONTROL
@@ -0,0 +1,3 @@
+Source: mdnsresponder
+Version: 765.30.11
+Description: The mDNSResponder project is a component of Bonjour, Apple's ease-of-use IP networking initiative: <http://developer.apple.com/bonjour/> \ No newline at end of file
diff --git a/ports/mdnsresponder/portfile.cmake b/ports/mdnsresponder/portfile.cmake
new file mode 100644
index 000000000..df86db75c
--- /dev/null
+++ b/ports/mdnsresponder/portfile.cmake
@@ -0,0 +1,85 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mDNSResponder-765.30.11)
+vcpkg_download_distfile(ARCHIVE_FILE
+ URLS https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-765.30.11.tar.gz
+ FILENAME mDNSResponder-765.30.11.tar.gz
+ SHA512 dfdea663ec1089058c2225ede13d70241dfec8311ff7fb8d29c8d386f5077a4104455d78f8777496cce96b8ff289b73ed1aec2bf65c52154b866fc1b7675ef90
+)
+vcpkg_extract_source_archive(${ARCHIVE_FILE})
+
+IF (TRIPLET_SYSTEM_ARCH MATCHES "x86")
+ SET(BUILD_ARCH "Win32")
+ELSEIF(TRIPLET_SYSTEM_ARCH MATCHES "arm")
+ MESSAGE(FATAL_ERROR " ARM is currently not supported.")
+ELSE()
+ SET(BUILD_ARCH ${TRIPLET_SYSTEM_ARCH})
+ENDIF()
+
+function(FIX_VCXPROJ VCXPROJ_PATH)
+ file(READ ${VCXPROJ_PATH} ORIG)
+ if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ string(REPLACE
+ "<ConfigurationType>StaticLibrary</ConfigurationType>"
+ "<ConfigurationType>DynamicLibrary</ConfigurationType>"
+ ORIG "${ORIG}")
+ string(REGEX REPLACE
+ "<RuntimeLibrary>*</RuntimeLibrary>"
+ "<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>"
+ ORIG "${ORIG}")
+ string(REGEX REPLACE
+ "<RuntimeLibrary>*</RuntimeLibrary>"
+ "<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>"
+ ORIG "${ORIG}")
+ else()
+ string(REPLACE
+ "<ConfigurationType>DynamicLibrary</ConfigurationType>"
+ "<ConfigurationType>StaticLibrary</ConfigurationType>"
+ ORIG "${ORIG}")
+ string(REGEX REPLACE
+ "<RuntimeLibrary>*Debug</RuntimeLibrary>"
+ "<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>"
+ ORIG "${ORIG}")
+ string(REGEX REPLACE
+ "<RuntimeLibrary>*</RuntimeLibrary>"
+ "<RuntimeLibrary>MultiThreaded</RuntimeLibrary>"
+ ORIG "${ORIG}")
+ endif()
+ file(WRITE ${VCXPROJ_PATH} "${ORIG}")
+endfunction()
+
+FIX_VCXPROJ(${SOURCE_PATH}/mDNSWindows/DLL/dnssd.vcxproj)
+FIX_VCXPROJ(${SOURCE_PATH}/Clients/DNS-SD.VisualStudio/dns-sd.vcxproj)
+
+vcpkg_build_msbuild(
+ PROJECT_PATH ${SOURCE_PATH}/mDNSResponder.sln
+ PLATFORM ${BUILD_ARCH}
+ TARGET dns-sd
+)
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
+ file(INSTALL
+ ${SOURCE_PATH}/mDNSWindows/DLL/${BUILD_ARCH}/Release/dnssd.dll
+ DESTINATION ${CURRENT_PACKAGES_DIR}/bin
+ )
+ file(INSTALL
+ ${SOURCE_PATH}/mDNSWindows/DLL/${BUILD_ARCH}/Debug/dnssd.dll
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
+ )
+endif()
+file(INSTALL
+ ${SOURCE_PATH}/mDNSWindows/DLL/${BUILD_ARCH}/Release/dnssd.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/lib
+)
+file(INSTALL
+ ${SOURCE_PATH}/mDNSWindows/DLL/${BUILD_ARCH}/Debug/dnssd.lib
+ DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
+)
+file(INSTALL
+ ${SOURCE_PATH}/mDNSShared/dns_sd.h
+ DESTINATION ${CURRENT_PACKAGES_DIR}/include
+)
+file(INSTALL
+ ${SOURCE_PATH}/LICENSE
+ DESTINATION ${CURRENT_PACKAGES_DIR}/share/mdnsresponder/copyright
+)
+vcpkg_copy_pdbs() \ No newline at end of file