diff options
Diffstat (limited to 'vcpkg/ports/libdshowcapture')
| -rwxr-xr-x | vcpkg/ports/libdshowcapture/fix_build.patch | 27 | ||||
| -rwxr-xr-x | vcpkg/ports/libdshowcapture/portfile.cmake | 43 | ||||
| -rwxr-xr-x | vcpkg/ports/libdshowcapture/vcpkg.json | 12 |
3 files changed, 82 insertions, 0 deletions
diff --git a/vcpkg/ports/libdshowcapture/fix_build.patch b/vcpkg/ports/libdshowcapture/fix_build.patch new file mode 100755 index 0000000..21f6435 --- /dev/null +++ b/vcpkg/ports/libdshowcapture/fix_build.patch @@ -0,0 +1,27 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2c88ff6..ee1688b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,8 +6,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Mo + + option(BUILD_SHARED_LIBS "Build shared library" ON) + +-find_package(CXX11 REQUIRED) +-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX11_FLAGS}") ++set(CMAKE_CXX_STANDARD 17) + + if(${CMAKE_C_COMPILER_ID} MATCHES "Clang" OR ${CMAKE_CXX_COMPILER_ID} MATCHES + "Clang") +diff --git a/source/dshow-formats.cpp b/source/dshow-formats.cpp +index 4baf381..3f41a99 100644 +--- a/source/dshow-formats.cpp ++++ b/source/dshow-formats.cpp +@@ -283,7 +283,7 @@ bool GetMediaTypeVFormat(const AM_MEDIA_TYPE &mt, VideoFormat &format) + + /* raw formats */ + if (mt.subtype == MEDIASUBTYPE_RGB24) +- format = VideoFormat::XRGB; ++ format = VideoFormat::RGB24; + else if (mt.subtype == MEDIASUBTYPE_RGB32) + format = VideoFormat::XRGB; + else if (mt.subtype == MEDIASUBTYPE_ARGB32) diff --git a/vcpkg/ports/libdshowcapture/portfile.cmake b/vcpkg/ports/libdshowcapture/portfile.cmake new file mode 100755 index 0000000..08c3767 --- /dev/null +++ b/vcpkg/ports/libdshowcapture/portfile.cmake @@ -0,0 +1,43 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO obsproject/libdshowcapture + REF 8878638324393815512f802640b0d5ce940161f1 + SHA512 bbb9fa169bffce4f6405b8332524267f10b3e6e2dcaddcddf7ef73ffb7a6409ef4c6a13f599cab814cbf42c22690f9e24e988666886535ef9fdfb851fdb50a5c + HEAD_REF master + PATCHES + fix_build.patch +) + +vcpkg_from_github( + OUT_SOURCE_PATH DEP_SOURCE_PATH + REPO elgatosf/capture-device-support + REF fe9630974d47f51bf54826e72fb8b654e620aa93 + SHA512 971185ffaf0c5777c060d3cf49ee8f907aebc8191e3ada9c9f3c4c0d553c257d13e2828c991985b9d47a446d003b26664ecec2c18c0e6c66dfdba904baee0ae6 + HEAD_REF main +) + +file(REMOVE_RECURSE "${SOURCE_PATH}/external/capture-device-support") +file(RENAME "${DEP_SOURCE_PATH}" "${SOURCE_PATH}/external/capture-device-support") +file(REMOVE_RECURSE "${DEP_SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_build(TARGET libdshowcapture) + +# Copy files +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") +if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + if(NOT VCPKG_BUILD_TYPE) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libdshowcapture.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/bin") + endif() + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libdshowcapture.dll" DESTINATION "${CURRENT_PACKAGES_DIR}/bin") +endif() +if(NOT VCPKG_BUILD_TYPE) + file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/libdshowcapture.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") +endif() +file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libdshowcapture.lib" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") +file(INSTALL "${SOURCE_PATH}/dshowcapture.hpp" DESTINATION "${CURRENT_PACKAGES_DIR}/include") + +vcpkg_copy_pdbs() diff --git a/vcpkg/ports/libdshowcapture/vcpkg.json b/vcpkg/ports/libdshowcapture/vcpkg.json new file mode 100755 index 0000000..057b995 --- /dev/null +++ b/vcpkg/ports/libdshowcapture/vcpkg.json @@ -0,0 +1,12 @@ +{ + "name": "libdshowcapture", + "version-date": "2025-02-08", + "description": "Free and Open Source C++11 Library for capturing DirectShow video/audio devices on windows.", + "supports": "windows & !uwp", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + } + ] +} |