This commit is contained in:
Sam Richards 2026-09-03 13:40:05 -04:00 committed by GitHub
commit 4c76d5bb9c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 145 additions and 0 deletions

View File

@ -0,0 +1,21 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0000000..1111111 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -43,7 +43,15 @@ endif()
# Set compiler flags and options.
if(MSVC)
- message("Not supported yet!")
+ if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE "Release")
+ endif()
+
+ add_compile_options(/W3 /wd4996)
+ if(NOT CMAKE_BUILD_TYPE MATCHES "Debug")
+ add_compile_options(/O2)
+ endif()
+
elseif(UNIX OR MINGW)
if(ENABLE_COVERAGE)
set(CMAKE_BUILD_TYPE "Debug")

View File

@ -0,0 +1,33 @@
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0000000..1111111 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -163,24 +163,24 @@ if(OAPV_BUILD_SHARED_LIB)
set_target_properties(${LIB_NAME_BASE}_dynamic PROPERTIES PUBLIC_HEADER "${OAPV_PUBLIC_HEADERS}")
install(TARGETS ${LIB_NAME_BASE}_dynamic
RUNTIME COMPONENT Libraries DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY
COMPONENT Libraries DESTINATION ${CMAKE_INSTALL_LIBDIR}
NAMELINK_COMPONENT Development DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE COMPONENT Development DESTINATION ${CMAKE_INSTALL_LIBDIR}/${LIB_NAME_BASE}/import
+ ARCHIVE COMPONENT Development DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER COMPONENT Development DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${LIB_NAME_BASE}
)
install(FILES
${PROJECT_BINARY_DIR}/include/oapv/oapv_exports.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${LIB_NAME_BASE}
)
endif()
-if(NOT MSVC)
+if(TRUE)
if(OAPV_BUILD_SHARED_LIB)
set(EXTRA_CFLAGS "")
set(EXTRA_CFLAGS_PRIVATE "-DOAPV_STATIC_DEFINE")
else()
set(EXTRA_CFLAGS "-DOAPV_STATIC_DEFINE")
set(EXTRA_CFLAGS_PRIVATE "")
endif()
configure_file(

View File

@ -0,0 +1,42 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO AcademySoftwareFoundation/openapv
REF v0.2.1.0
SHA512 6489242a971d27e5a23fab1544beea7770812157919ddf9d15bfdc7f6de0514c458e7d43c7c65ae6036138b8cc7d3bdc2e85bf08aefa0c9dac3a7fac33545512
HEAD_REF main
PATCHES
enable-msvc.patch
fix-pkgconfig-windows.patch
)
vcpkg_check_features(
OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
tools OAPV_BUILD_APPS
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" OAPV_BUILD_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" OAPV_BUILD_SHARED)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
-DOAPV_BUILD_STATIC_LIB=${OAPV_BUILD_STATIC}
-DOAPV_BUILD_SHARED_LIB=${OAPV_BUILD_SHARED}
-DOAPV_APP_STATIC_BUILD=${OAPV_BUILD_STATIC}
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
if("tools" IN_LIST FEATURES)
vcpkg_copy_tools(TOOL_NAMES oapv_app_dec oapv_app_enc AUTO_CLEAN)
endif()
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

9
ports/openapv/usage Normal file
View File

@ -0,0 +1,9 @@
openapv provides CMake targets:
find_package(oapv CONFIG REQUIRED)
target_link_libraries(main PRIVATE oapv)
openapv provides pkg-config modules:
# OpenAPV library
oapv

27
ports/openapv/vcpkg.json Normal file
View File

@ -0,0 +1,27 @@
{
"name": "openapv",
"version": "0.2.1.0",
"description": "Open Advanced Professional Video (APV) codec implementation.",
"homepage": "https://github.com/AcademySoftwareFoundation/openapv",
"license": "BSD-3-Clause",
"supports": "!x86",
"dependencies": [
{
"name": "pthreads",
"platform": "windows"
},
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"tools": {
"description": "Build and install the tools"
}
}
}

View File

@ -7432,6 +7432,10 @@
"baseline": "1.25.1",
"port-version": 2
},
"openapv": {
"baseline": "0.2.1.0",
"port-version": 0
},
"openblas": {
"baseline": "0.3.33",
"port-version": 0

9
versions/o-/openapv.json Normal file
View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "e45b726b973d16debe75441fa286757c4006ee28",
"version": "0.2.1.0",
"port-version": 0
}
]
}