mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-11 06:34:36 +00:00
vcpkg complete replacement
Replaces all our 3rd party dependencies with vcpkg installed dependencies. Some will be downloaded eg assimp/libpng
This commit is contained in:
parent
12dddd07b5
commit
d0a00da9a0
6200 changed files with 1307 additions and 2646504 deletions
45
Tools/CMake/vcpkg/ports/openal-soft/devendor-fmt.diff
Normal file
45
Tools/CMake/vcpkg/ports/openal-soft/devendor-fmt.diff
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index d2a69d4..14fc9b8 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -159,7 +159,8 @@ if(MSVC)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
-add_subdirectory(fmt-11.1.1 EXCLUDE_FROM_ALL)
|
||||
+find_package(fmt CONFIG REQUIRED)
|
||||
+add_library(alsoft::fmt ALIAS fmt::fmt)
|
||||
|
||||
|
||||
set(CPP_DEFS ) # C pre-processor, not C++
|
||||
@@ -1440,7 +1441,7 @@ if(LIBTYPE STREQUAL "STATIC")
|
||||
add_library(${IMPL_TARGET} STATIC ${COMMON_OBJS} ${OPENAL_OBJS} ${ALC_OBJS} ${CORE_OBJS})
|
||||
target_compile_definitions(${IMPL_TARGET} PUBLIC AL_LIBTYPE_STATIC)
|
||||
target_link_libraries(${IMPL_TARGET} PRIVATE ${LINKER_FLAGS} ${EXTRA_LIBS} ${MATH_LIB}
|
||||
- $<BUILD_LOCAL_INTERFACE:alsoft::fmt>)
|
||||
+ alsoft::fmt)
|
||||
|
||||
if(WIN32)
|
||||
# This option is for static linking OpenAL Soft into another project
|
||||
diff --git a/OpenALConfig.cmake.in b/OpenALConfig.cmake.in
|
||||
index 9704d3c..ddabb81 100644
|
||||
--- a/OpenALConfig.cmake.in
|
||||
+++ b/OpenALConfig.cmake.in
|
||||
@@ -1,3 +1,5 @@
|
||||
+include(CMakeFindDependencyMacro)
|
||||
+find_dependency(fmt CONFIG)
|
||||
cmake_minimum_required(VERSION 3.1...3.18)
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/OpenALTargets.cmake")
|
||||
diff --git a/openal.pc.in b/openal.pc.in
|
||||
index dfa6f57..e04e807 100644
|
||||
--- a/openal.pc.in
|
||||
+++ b/openal.pc.in
|
||||
@@ -6,6 +6,7 @@ includedir=@includedir@
|
||||
Name: OpenAL
|
||||
Description: OpenAL is a cross-platform 3D audio API
|
||||
Requires: @PKG_CONFIG_REQUIRES@
|
||||
+Requires.private: fmt
|
||||
Version: @PACKAGE_VERSION@
|
||||
Libs: -L${libdir} -l@LIBNAME@ @PKG_CONFIG_LIBS@
|
||||
Libs.private:@PKG_CONFIG_PRIVATE_LIBS@
|
||||
20
Tools/CMake/vcpkg/ports/openal-soft/pkgconfig-cxx.diff
Normal file
20
Tools/CMake/vcpkg/ports/openal-soft/pkgconfig-cxx.diff
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 060a740..d2a69d4 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1379,6 +1379,15 @@ if(LIBTYPE STREQUAL "STATIC")
|
||||
set(PKG_CONFIG_PRIVATE_LIBS "${PKG_CONFIG_PRIVATE_LIBS} -l${FLAG}")
|
||||
endif()
|
||||
endforeach()
|
||||
+ foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES)
|
||||
+ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES)
|
||||
+ continue()
|
||||
+ elseif(EXISTS "${lib}")
|
||||
+ string(APPEND PKG_CONFIG_PRIVATE_LIBS " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}")
|
||||
+ else()
|
||||
+ string(APPEND PKG_CONFIG_PRIVATE_LIBS " ${CMAKE_LINK_LIBRARY_FLAG}${lib}")
|
||||
+ endif()
|
||||
+ endforeach()
|
||||
endif()
|
||||
|
||||
# End configuration
|
||||
116
Tools/CMake/vcpkg/ports/openal-soft/portfile.cmake
Normal file
116
Tools/CMake/vcpkg/ports/openal-soft/portfile.cmake
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
set(LOCAL_ARCHIVE "$ENV{VCPKG_LIB_SOURCE_ROOT}/kcat-openal-soft-1.24.3.tar.gz")
|
||||
|
||||
vcpkg_extract_source_archive(
|
||||
SOURCE_PATH
|
||||
ARCHIVE "${LOCAL_ARCHIVE}"
|
||||
PATCHES
|
||||
pkgconfig-cxx.diff
|
||||
devendor-fmt.diff
|
||||
)
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
pipewire ALSOFT_BACKEND_PIPEWIRE
|
||||
pipewire ALSOFT_REQUIRE_PIPEWIRE
|
||||
pulseaudio ALSOFT_BACKEND_PULSEAUDIO
|
||||
pulseaudio ALSOFT_REQUIRE_PULSEAUDIO
|
||||
)
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||
set(OPENAL_LIBTYPE "SHARED")
|
||||
else()
|
||||
set(OPENAL_LIBTYPE "STATIC")
|
||||
endif()
|
||||
|
||||
set(ALSOFT_REQUIRE_LINUX OFF)
|
||||
set(ALSOFT_REQUIRE_WINDOWS OFF)
|
||||
set(ALSOFT_REQUIRE_WINDOWS_NOT_UWP OFF)
|
||||
set(ALSOFT_REQUIRE_APPLE OFF)
|
||||
set(ALSOFT_CPUEXT_NEON OFF)
|
||||
|
||||
if(VCPKG_TARGET_IS_LINUX)
|
||||
set(ALSOFT_REQUIRE_LINUX ON)
|
||||
endif()
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
set(ALSOFT_REQUIRE_WINDOWS ON)
|
||||
if(NOT VCPKG_TARGET_IS_UWP)
|
||||
set(ALSOFT_REQUIRE_WINDOWS_NOT_UWP ON)
|
||||
endif()
|
||||
endif()
|
||||
if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS)
|
||||
set(ALSOFT_REQUIRE_APPLE ON)
|
||||
endif()
|
||||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
|
||||
set(ALSOFT_CPUEXT_NEON ON)
|
||||
endif()
|
||||
|
||||
vcpkg_find_acquire_program(PKGCONFIG)
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
${FEATURE_OPTIONS}
|
||||
-DALSOFT_CPUEXT_NEON=${ALSOFT_CPUEXT_NEON}
|
||||
-DALSOFT_EXAMPLES=OFF
|
||||
-DALSOFT_INSTALL_AMBDEC_PRESETS=OFF
|
||||
-DALSOFT_INSTALL_CONFIG=OFF
|
||||
-DALSOFT_INSTALL_HRTF_DATA=OFF
|
||||
-DALSOFT_NO_CONFIG_UTIL=ON
|
||||
-DALSOFT_UPDATE_BUILD_VERSION=OFF
|
||||
-DALSOFT_UTILS=OFF
|
||||
-DLIBTYPE=${OPENAL_LIBTYPE}
|
||||
"-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}"
|
||||
# order by CMakeLists.txt
|
||||
-DALSOFT_BACKEND_ALSA=${ALSOFT_REQUIRE_LINUX}
|
||||
-DALSOFT_REQUIRE_ALSA=${ALSOFT_REQUIRE_LINUX}
|
||||
-DALSOFT_BACKEND_OSS=OFF
|
||||
-DALSOFT_BACKEND_SOLARIS=OFF
|
||||
-DALSOFT_BACKEND_SNDIO=OFF
|
||||
-DALSOFT_BACKEND_WINMM=OFF
|
||||
-DALSOFT_BACKEND_DSOUND=${ALSOFT_REQUIRE_WINDOWS_NOT_UWP}
|
||||
-DALSOFT_REQUIRE_DSOUND=${ALSOFT_REQUIRE_WINDOWS_NOT_UWP}
|
||||
-DALSOFT_BACKEND_WASAPI=${ALSOFT_REQUIRE_WINDOWS}
|
||||
-DALSOFT_REQUIRE_WASAPI=${ALSOFT_REQUIRE_WINDOWS}
|
||||
-DALSOFT_BACKEND_JACK=OFF
|
||||
-DALSOFT_BACKEND_COREAUDIO=${ALSOFT_REQUIRE_APPLE}
|
||||
-DALSOFT_REQUIRE_COREAUDIO=${ALSOFT_REQUIRE_APPLE}
|
||||
-DALSOFT_BACKEND_OBOE=OFF
|
||||
-DALSOFT_BACKEND_OPENSL=${VCPKG_TARGET_IS_ANDROID}
|
||||
-DALSOFT_REQUIRE_OPENSL=${VCPKG_TARGET_IS_ANDROID}
|
||||
-DALSOFT_BACKEND_PORTAUDIO=OFF
|
||||
-DALSOFT_BACKEND_WAVE=ON
|
||||
-DCMAKE_DEBUG_POSTFIX="d"
|
||||
MAYBE_UNUSED_VARIABLES
|
||||
# NOT WIN32
|
||||
ALSOFT_BACKEND_ALSA
|
||||
ALSOFT_REQUIRE_ALSA
|
||||
ALSOFT_BACKEND_OSS
|
||||
ALSOFT_BACKEND_SOLARIS
|
||||
ALSOFT_BACKEND_SNDIO
|
||||
# WIN32
|
||||
ALSOFT_BACKEND_WINMM
|
||||
ALSOFT_BACKEND_DSOUND
|
||||
ALSOFT_REQUIRE_DSOUND
|
||||
ALSOFT_BACKEND_WASAPI
|
||||
ALSOFT_REQUIRE_WASAPI
|
||||
CMAKE_DEBUG_POSTFIX
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/OpenAL")
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
foreach(HEADER IN ITEMS al.h alc.h)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/AL/${HEADER}" "defined(AL_LIBTYPE_STATIC)" "1")
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
|
||||
file(READ "${SOURCE_PATH}/common/pffft.cpp" pffft_license)
|
||||
string(REGEX REPLACE "[*]/.*" "*/\n" pffft_license "${pffft_license}")
|
||||
file(WRITE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/pffft Notice" "${pffft_license}")
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/pffft Notice")
|
||||
42
Tools/CMake/vcpkg/ports/openal-soft/vcpkg.json
Normal file
42
Tools/CMake/vcpkg/ports/openal-soft/vcpkg.json
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"name": "openal-soft",
|
||||
"version": "1.24.3",
|
||||
"port-version": 1,
|
||||
"description": "OpenAL Soft is an LGPL-licensed, cross-platform, software implementation of the OpenAL 3D audio API.",
|
||||
"homepage": "https://github.com/kcat/openal-soft",
|
||||
"license": "LGPL-2.0-or-later",
|
||||
"supports": "!xbox",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "alsa",
|
||||
"platform": "linux"
|
||||
},
|
||||
{
|
||||
"name": "cppwinrt",
|
||||
"platform": "uwp"
|
||||
},
|
||||
"fmt",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"features": {
|
||||
"pipewire": {
|
||||
"description": "Enable PipeWire backend",
|
||||
"dependencies": [
|
||||
"pipewire"
|
||||
]
|
||||
},
|
||||
"pulseaudio": {
|
||||
"description": "Enable PulseAudio backend",
|
||||
"dependencies": [
|
||||
"pulseaudio"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
23
Tools/CMake/vcpkg/ports/pcre/export-cmake-targets.patch
Normal file
23
Tools/CMake/vcpkg/ports/pcre/export-cmake-targets.patch
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
--- a/CMakeLists.txt 2021-06-14 10:33:38.000000000 +0200
|
||||
+++ b/CMakeLists.txt 2021-06-18 18:08:24.162881000 +0200
|
||||
@@ -934,10 +934,19 @@
|
||||
# Installation
|
||||
SET(CMAKE_INSTALL_ALWAYS 1)
|
||||
|
||||
-INSTALL(TARGETS ${targets}
|
||||
+foreach(target ${targets})
|
||||
+ INSTALL(TARGETS ${target}
|
||||
+ EXPORT pcre-targets
|
||||
RUNTIME DESTINATION bin
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
+ target_include_directories(${target} PUBLIC $<INSTALL_INTERFACE:include>)
|
||||
+endforeach()
|
||||
+
|
||||
+INSTALL(EXPORT pcre-targets
|
||||
+ NAMESPACE unofficial::pcre::
|
||||
+ FILE unofficial-pcre-targets.cmake
|
||||
+ DESTINATION "share/unofficial-pcre")
|
||||
|
||||
INSTALL(FILES ${PCRE_HEADERS} ${PCREPOSIX_HEADERS} DESTINATION include)
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 2c3a309..cdd480f 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -94,7 +94,7 @@ FIND_PACKAGE( Editline )
|
||||
|
||||
INCLUDE(CheckIncludeFile)
|
||||
INCLUDE(CheckIncludeFileCXX)
|
||||
-INCLUDE(CheckFunctionExists)
|
||||
+INCLUDE(CheckSymbolExists)
|
||||
INCLUDE(CheckTypeSize)
|
||||
INCLUDE(GNUInstallDirs) # for CMAKE_INSTALL_LIBDIR
|
||||
|
||||
@@ -109,12 +109,12 @@ CHECK_INCLUDE_FILE(windows.h HAVE_WINDOWS_H)
|
||||
CHECK_INCLUDE_FILE_CXX(type_traits.h HAVE_TYPE_TRAITS_H)
|
||||
CHECK_INCLUDE_FILE_CXX(bits/type_traits.h HAVE_BITS_TYPE_TRAITS_H)
|
||||
|
||||
-CHECK_FUNCTION_EXISTS(bcopy HAVE_BCOPY)
|
||||
-CHECK_FUNCTION_EXISTS(memmove HAVE_MEMMOVE)
|
||||
-CHECK_FUNCTION_EXISTS(strerror HAVE_STRERROR)
|
||||
-CHECK_FUNCTION_EXISTS(strtoll HAVE_STRTOLL)
|
||||
-CHECK_FUNCTION_EXISTS(strtoq HAVE_STRTOQ)
|
||||
-CHECK_FUNCTION_EXISTS(_strtoi64 HAVE__STRTOI64)
|
||||
+CHECK_SYMBOL_EXISTS(bcopy strings.h HAVE_BCOPY)
|
||||
+CHECK_SYMBOL_EXISTS(memmove string.h HAVE_MEMMOVE)
|
||||
+CHECK_SYMBOL_EXISTS(strerror string.h HAVE_STRERROR)
|
||||
+CHECK_SYMBOL_EXISTS(strtoll stdlib.h HAVE_STRTOLL)
|
||||
+CHECK_SYMBOL_EXISTS(strtoq stdlib.h HAVE_STRTOQ)
|
||||
+CHECK_SYMBOL_EXISTS(_strtoi64 stdlib.h HAVE__STRTOI64)
|
||||
|
||||
CHECK_TYPE_SIZE("long long" LONG_LONG)
|
||||
CHECK_TYPE_SIZE("unsigned long long" UNSIGNED_LONG_LONG)
|
||||
|
|
@ -0,0 +1,161 @@
|
|||
Index: CMakeLists.txt
|
||||
===================================================================
|
||||
--- CMakeLists.txt (revision 1767)
|
||||
+++ CMakeLists.txt (working copy)
|
||||
@@ -436,6 +436,12 @@
|
||||
@ONLY)
|
||||
ENDIF(PCRE_BUILD_PCRECPP)
|
||||
|
||||
+# Make sure to not link debug libs
|
||||
+# against release libs and vice versa
|
||||
+IF(WIN32)
|
||||
+ SET(CMAKE_DEBUG_POSTFIX "d")
|
||||
+ENDIF(WIN32)
|
||||
+
|
||||
# Generate pkg-config files
|
||||
SET(PACKAGE_VERSION "${PCRE_MAJOR}.${PCRE_MINOR}")
|
||||
SET(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
@@ -442,6 +448,9 @@
|
||||
SET(exec_prefix "\${prefix}")
|
||||
SET(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
|
||||
SET(includedir "\${prefix}/include")
|
||||
+IF(WIN32 AND (CMAKE_BUILD_TYPE MATCHES Debug))
|
||||
+ SET(LIB_POSTFIX ${CMAKE_DEBUG_POSTFIX})
|
||||
+ENDIF()
|
||||
IF(NOT BUILD_SHARED_LIBS)
|
||||
SET(PCRE_STATIC_CFLAG "-DPCRE_STATIC")
|
||||
ENDIF(NOT BUILD_SHARED_LIBS)
|
||||
@@ -659,11 +668,6 @@
|
||||
ENDIF(MSVC)
|
||||
|
||||
SET(CMAKE_INCLUDE_CURRENT_DIR 1)
|
||||
-# needed to make sure to not link debug libs
|
||||
-# against release libs and vice versa
|
||||
-IF(WIN32)
|
||||
- SET(CMAKE_DEBUG_POSTFIX "d")
|
||||
-ENDIF(WIN32)
|
||||
|
||||
SET(targets)
|
||||
|
||||
Index: configure.ac
|
||||
===================================================================
|
||||
--- configure.ac (revision 1767)
|
||||
+++ configure.ac (working copy)
|
||||
@@ -1044,6 +1044,9 @@
|
||||
AM_CONDITIONAL([WITH_GCOV],[test "x$enable_coverage" = "xyes"])
|
||||
|
||||
# Produce these files, in addition to config.h.
|
||||
+# LIB_POSTFIX is used by CMakeLists.txt for Windows debug builds.
|
||||
+# Pass empty LIB_POSTFIX to *.pc files and pcre-config here.
|
||||
+AC_SUBST(LIB_POSTFIX)
|
||||
AC_CONFIG_FILES(
|
||||
Makefile
|
||||
libpcre.pc
|
||||
Index: libpcre.pc.in
|
||||
===================================================================
|
||||
--- libpcre.pc.in (revision 1767)
|
||||
+++ libpcre.pc.in (working copy)
|
||||
@@ -8,6 +8,6 @@
|
||||
Name: libpcre
|
||||
Description: PCRE - Perl compatible regular expressions C library with 8 bit character support
|
||||
Version: @PACKAGE_VERSION@
|
||||
-Libs: -L${libdir} -lpcre
|
||||
+Libs: -L${libdir} -lpcre@LIB_POSTFIX@
|
||||
Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
|
||||
Cflags: -I${includedir} @PCRE_STATIC_CFLAG@
|
||||
Index: libpcre16.pc.in
|
||||
===================================================================
|
||||
--- libpcre16.pc.in (revision 1767)
|
||||
+++ libpcre16.pc.in (working copy)
|
||||
@@ -8,6 +8,6 @@
|
||||
Name: libpcre16
|
||||
Description: PCRE - Perl compatible regular expressions C library with 16 bit character support
|
||||
Version: @PACKAGE_VERSION@
|
||||
-Libs: -L${libdir} -lpcre16
|
||||
+Libs: -L${libdir} -lpcre16@LIB_POSTFIX@
|
||||
Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
|
||||
Cflags: -I${includedir} @PCRE_STATIC_CFLAG@
|
||||
Index: libpcre32.pc.in
|
||||
===================================================================
|
||||
--- libpcre32.pc.in (revision 1767)
|
||||
+++ libpcre32.pc.in (working copy)
|
||||
@@ -8,6 +8,6 @@
|
||||
Name: libpcre32
|
||||
Description: PCRE - Perl compatible regular expressions C library with 32 bit character support
|
||||
Version: @PACKAGE_VERSION@
|
||||
-Libs: -L${libdir} -lpcre32
|
||||
+Libs: -L${libdir} -lpcre32@LIB_POSTFIX@
|
||||
Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@
|
||||
Cflags: -I${includedir} @PCRE_STATIC_CFLAG@
|
||||
Index: libpcrecpp.pc.in
|
||||
===================================================================
|
||||
--- libpcrecpp.pc.in (revision 1767)
|
||||
+++ libpcrecpp.pc.in (working copy)
|
||||
@@ -8,5 +8,5 @@
|
||||
Name: libpcrecpp
|
||||
Description: PCRECPP - C++ wrapper for PCRE
|
||||
Version: @PACKAGE_VERSION@
|
||||
-Libs: -L${libdir} -lpcre -lpcrecpp
|
||||
+Libs: -L${libdir} -lpcre@LIB_POSTFIX@ -lpcrecpp@LIB_POSTFIX@
|
||||
Cflags: -I${includedir} @PCRE_STATIC_CFLAG@
|
||||
Index: libpcreposix.pc.in
|
||||
===================================================================
|
||||
--- libpcreposix.pc.in (revision 1767)
|
||||
+++ libpcreposix.pc.in (working copy)
|
||||
@@ -8,6 +8,6 @@
|
||||
Name: libpcreposix
|
||||
Description: PCREPosix - Posix compatible interface to libpcre
|
||||
Version: @PACKAGE_VERSION@
|
||||
-Libs: -L${libdir} -lpcreposix
|
||||
+Libs: -L${libdir} -lpcreposix@LIB_POSTFIX@
|
||||
Cflags: -I${includedir} @PCRE_STATIC_CFLAG@
|
||||
Requires.private: libpcre
|
||||
Index: pcre-config.in
|
||||
===================================================================
|
||||
--- pcre-config.in (revision 1767)
|
||||
+++ pcre-config.in (working copy)
|
||||
@@ -91,7 +91,7 @@
|
||||
;;
|
||||
--libs-posix)
|
||||
if test @enable_pcre8@ = yes ; then
|
||||
- echo $libS$libR -lpcreposix -lpcre
|
||||
+ echo $libS$libR -lpcreposix@LIB_POSTFIX@ -lpcre@LIB_POSTFIX@
|
||||
else
|
||||
echo "${usage}" 1>&2
|
||||
fi
|
||||
@@ -98,7 +98,7 @@
|
||||
;;
|
||||
--libs)
|
||||
if test @enable_pcre8@ = yes ; then
|
||||
- echo $libS$libR -lpcre
|
||||
+ echo $libS$libR -lpcre@LIB_POSTFIX@
|
||||
else
|
||||
echo "${usage}" 1>&2
|
||||
fi
|
||||
@@ -105,7 +105,7 @@
|
||||
;;
|
||||
--libs16)
|
||||
if test @enable_pcre16@ = yes ; then
|
||||
- echo $libS$libR -lpcre16
|
||||
+ echo $libS$libR -lpcre16@LIB_POSTFIX@
|
||||
else
|
||||
echo "${usage}" 1>&2
|
||||
fi
|
||||
@@ -112,7 +112,7 @@
|
||||
;;
|
||||
--libs32)
|
||||
if test @enable_pcre32@ = yes ; then
|
||||
- echo $libS$libR -lpcre32
|
||||
+ echo $libS$libR -lpcre32@LIB_POSTFIX@
|
||||
else
|
||||
echo "${usage}" 1>&2
|
||||
fi
|
||||
@@ -119,7 +119,7 @@
|
||||
;;
|
||||
--libs-cpp)
|
||||
if test @enable_cpp@ = yes ; then
|
||||
- echo $libS$libR -lpcrecpp -lpcre
|
||||
+ echo $libS$libR -lpcrecpp@LIB_POSTFIX@ -lpcre@LIB_POSTFIX@
|
||||
else
|
||||
echo "${usage}" 1>&2
|
||||
fi
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
--- a/CMakeLists.txt 2021-06-14 10:33:38.000000000 +0200
|
||||
+++ b/CMakeLists.txt 2021-06-18 17:59:59.155148900 +0200
|
||||
@@ -77,7 +77,6 @@
|
||||
# CMP0026 to avoid warnings for the use of LOCATION in GET_TARGET_PROPERTY.
|
||||
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.5)
|
||||
-CMAKE_POLICY(SET CMP0026 OLD)
|
||||
|
||||
# For FindReadline.cmake. This was changed to allow setting CMAKE_MODULE_PATH
|
||||
# on the command line.
|
||||
@@ -199,6 +198,7 @@
|
||||
ENDIF(MINGW)
|
||||
|
||||
IF(MSVC)
|
||||
+ add_definitions(/wd4703 /wd4146 /wd4308)
|
||||
OPTION(PCRE_STATIC_RUNTIME
|
||||
"ON=Compile against the static runtime (/MT)."
|
||||
OFF)
|
||||
78
Tools/CMake/vcpkg/ports/pcre/portfile.cmake
Normal file
78
Tools/CMake/vcpkg/ports/pcre/portfile.cmake
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
set(PCRE_VERSION 8.45)
|
||||
set(EXPECTED_SHA 71f246c0abbf356222933ad1604cab87a1a2a3cd8054a0b9d6deb25e0735ce9f40f923d14cbd21f32fdac7283794270afcb0f221ad24662ac35934fcb73675cd)
|
||||
set(PATCHES
|
||||
# Fix CMake Deprecation Warning concerning OLD behavior for policy CMP0026
|
||||
# Suppress MSVC compiler warnings C4703, C4146, C4308, which fixes errors
|
||||
# under x64-uwp and arm-uwp
|
||||
pcre-8.45_suppress_cmake_and_compiler_warnings-errors.patch
|
||||
# Modified for 8.45 from https://bugs.exim.org/show_bug.cgi?id=2600
|
||||
pcre-8.45_fix_postfix_for_debug_Windows_builds.patch
|
||||
export-cmake-targets.patch
|
||||
pcre-8.4.5_fix_check_function_exists_for_arm-androi_builds.patch)
|
||||
|
||||
set(LOCAL_ARCHIVE "$ENV{VCPKG_LIB_SOURCE_ROOT}/pcre-8.45.zip")
|
||||
|
||||
vcpkg_extract_source_archive(
|
||||
SOURCE_PATH
|
||||
ARCHIVE "${LOCAL_ARCHIVE}"
|
||||
PATCHES ${PATCHES}
|
||||
)
|
||||
|
||||
set(IS_PCRE_SUPPORT_JIT YES)
|
||||
if(VCPKG_TARGET_ARCHITECTURE MATCHES "(loongarch|^s390)")
|
||||
set(IS_PCRE_SUPPORT_JIT NO)
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
OPTIONS
|
||||
-DPCRE_BUILD_TESTS=NO
|
||||
-DPCRE_BUILD_PCREGREP=NO
|
||||
-DPCRE_BUILD_PCRE32=YES
|
||||
-DPCRE_BUILD_PCRE16=YES
|
||||
-DPCRE_BUILD_PCRE8=YES
|
||||
-DPCRE_SUPPORT_JIT=${IS_PCRE_SUPPORT_JIT}
|
||||
-DPCRE_SUPPORT_UTF=YES
|
||||
-DPCRE_SUPPORT_UNICODE_PROPERTIES=YES
|
||||
# optional dependencies for PCREGREP
|
||||
-DPCRE_SUPPORT_LIBBZ2=OFF
|
||||
-DPCRE_SUPPORT_LIBZ=OFF
|
||||
-DPCRE_SUPPORT_LIBEDIT=OFF
|
||||
-DPCRE_SUPPORT_LIBREADLINE=OFF
|
||||
# OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
|
||||
# OPTIONS_RELEASE -DOPTIMIZE=1
|
||||
# OPTIONS_DEBUG -DDEBUGGABLE=1
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
|
||||
vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-${PORT}" CONFIG_PATH "share/unofficial-${PORT}")
|
||||
|
||||
foreach(FILE "${CURRENT_PACKAGES_DIR}/include/pcre.h" "${CURRENT_PACKAGES_DIR}/include/pcreposix.h")
|
||||
file(READ ${FILE} PCRE_H)
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
string(REPLACE "defined(PCRE_STATIC)" "1" PCRE_H "${PCRE_H}")
|
||||
else()
|
||||
string(REPLACE "defined(PCRE_STATIC)" "0" PCRE_H "${PCRE_H}")
|
||||
endif()
|
||||
file(WRITE ${FILE} "${PCRE_H}")
|
||||
endforeach()
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/man")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/man")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc")
|
||||
|
||||
file(REMOVE "${CURRENT_PACKAGES_DIR}/bin/pcre-config" "${CURRENT_PACKAGES_DIR}/debug/bin/pcre-config")
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" OR NOT VCPKG_TARGET_IS_WINDOWS)
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
endif()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-pcre-config.cmake" "${CURRENT_PACKAGES_DIR}/share/unofficial-pcre/unofficial-pcre-config.cmake" @ONLY)
|
||||
|
||||
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
|
|
@ -0,0 +1 @@
|
|||
include("${CMAKE_CURRENT_LIST_DIR}/unofficial-pcre-targets.cmake")
|
||||
18
Tools/CMake/vcpkg/ports/pcre/vcpkg.json
Normal file
18
Tools/CMake/vcpkg/ports/pcre/vcpkg.json
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"name": "pcre",
|
||||
"version": "8.45",
|
||||
"port-version": 7,
|
||||
"description": "Perl Compatible Regular Expressions",
|
||||
"homepage": "https://www.pcre.org/",
|
||||
"license": null,
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
41
Tools/CMake/vcpkg/ports/rapidjson/portfile.cmake
Normal file
41
Tools/CMake/vcpkg/ports/rapidjson/portfile.cmake
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
set(LOCAL_ARCHIVE "$ENV{VCPKG_LIB_SOURCE_ROOT}/Tencent-rapidjson-24b5e7a8b27f42fa16b96fc70aade9106cf7102f-2.tar.gz")
|
||||
|
||||
vcpkg_extract_source_archive(
|
||||
SOURCE_PATH
|
||||
ARCHIVE "${LOCAL_ARCHIVE}"
|
||||
)
|
||||
|
||||
# Use RapidJSON's own build process, skipping examples and tests
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
-DRAPIDJSON_BUILD_DOC=OFF
|
||||
-DRAPIDJSON_BUILD_EXAMPLES=OFF
|
||||
-DRAPIDJSON_BUILD_TESTS=OFF
|
||||
)
|
||||
vcpkg_cmake_install()
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH cmake)
|
||||
else()
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/RapidJSON)
|
||||
endif()
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug" "${CURRENT_PACKAGES_DIR}/lib")
|
||||
endif()
|
||||
|
||||
file(READ "${CURRENT_PACKAGES_DIR}/share/${PORT}/RapidJSONConfig.cmake" _contents)
|
||||
string(REPLACE "VERSION 3.0" "VERSION 3.5...3.30" _contents "${_contents}")
|
||||
string(REPLACE "\${RapidJSON_SOURCE_DIR}" "\${RapidJSON_CMAKE_DIR}/../.." _contents "${_contents}")
|
||||
string(REPLACE "set( RapidJSON_SOURCE_DIR \"${SOURCE_PATH}\")" "" _contents "${_contents}")
|
||||
string(REPLACE "set( RapidJSON_DIR \"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel\")" "" _contents "${_contents}")
|
||||
string(REPLACE "\${RapidJSON_CMAKE_DIR}/../../../include" "\${RapidJSON_CMAKE_DIR}/../../include" _contents "${_contents}")
|
||||
file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/RapidJSONConfig.cmake" "${_contents}\nset(RAPIDJSON_INCLUDE_DIRS \"\${RapidJSON_INCLUDE_DIRS}\")\n")
|
||||
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/license.txt")
|
||||
17
Tools/CMake/vcpkg/ports/rapidjson/vcpkg.json
Normal file
17
Tools/CMake/vcpkg/ports/rapidjson/vcpkg.json
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"name": "rapidjson",
|
||||
"version-date": "2025-02-26",
|
||||
"description": "A fast JSON parser/generator for C++ with both SAX/DOM style API <http://rapidjson.org/>",
|
||||
"homepage": "http://rapidjson.org/",
|
||||
"license": "MIT",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
14
Tools/CMake/vcpkg/ports/sdl2/alsa-dep-fix.patch
Normal file
14
Tools/CMake/vcpkg/ports/sdl2/alsa-dep-fix.patch
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
diff --git a/SDL2Config.cmake.in b/SDL2Config.cmake.in
|
||||
index cc8bcf26d..ead829767 100644
|
||||
--- a/SDL2Config.cmake.in
|
||||
+++ b/SDL2Config.cmake.in
|
||||
@@ -35,7 +35,8 @@ include("${CMAKE_CURRENT_LIST_DIR}/sdlfind.cmake")
|
||||
|
||||
set(SDL_ALSA @SDL_ALSA@)
|
||||
set(SDL_ALSA_SHARED @SDL_ALSA_SHARED@)
|
||||
-if(SDL_ALSA AND NOT SDL_ALSA_SHARED AND TARGET SDL2::SDL2-static)
|
||||
+if(SDL_ALSA)
|
||||
+ set(CMAKE_REQUIRE_FIND_PACKAGE_ALSA 1)
|
||||
sdlFindALSA()
|
||||
endif()
|
||||
unset(SDL_ALSA)
|
||||
24
Tools/CMake/vcpkg/ports/sdl2/cxx-linkage-pkgconfig.diff
Normal file
24
Tools/CMake/vcpkg/ports/sdl2/cxx-linkage-pkgconfig.diff
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 2a91824..a8e9de4 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -3162,6 +3162,19 @@ set(SDL_STATIC_LIBS ${SDL_LIBS} ${EXTRA_LDFLAGS} ${_EXTRA_LIBS})
|
||||
list(REMOVE_DUPLICATES SDL_STATIC_LIBS)
|
||||
listtostr(SDL_STATIC_LIBS _SDL_STATIC_LIBS)
|
||||
set(SDL_STATIC_LIBS ${_SDL_STATIC_LIBS})
|
||||
+if("${SOURCE_FILES};" MATCHES "[.]cpp;")
|
||||
+ set(FAKE_CXX_LINKAGE "")
|
||||
+ foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES)
|
||||
+ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES)
|
||||
+ continue()
|
||||
+ elseif(EXISTS "${lib}")
|
||||
+ string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}")
|
||||
+ else()
|
||||
+ string(APPEND FAKE_CXX_LINKAGE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}")
|
||||
+ endif()
|
||||
+ endforeach()
|
||||
+ string(APPEND SDL_STATIC_LIBS "${FAKE_CXX_LINKAGE}")
|
||||
+endif()
|
||||
listtostr(SDL_LIBS _SDL_LIBS)
|
||||
set(SDL_LIBS ${_SDL_LIBS})
|
||||
listtostr(SDL_CFLAGS _SDL_CFLAGS "")
|
||||
13
Tools/CMake/vcpkg/ports/sdl2/deps.patch
Normal file
13
Tools/CMake/vcpkg/ports/sdl2/deps.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake
|
||||
index 65a98efbe..2f99f28f1 100644
|
||||
--- a/cmake/sdlchecks.cmake
|
||||
+++ b/cmake/sdlchecks.cmake
|
||||
@@ -352,7 +352,7 @@ endmacro()
|
||||
# - HAVE_SDL_LOADSO opt
|
||||
macro(CheckLibSampleRate)
|
||||
if(SDL_LIBSAMPLERATE)
|
||||
- find_package(SampleRate QUIET)
|
||||
+ find_package(SampleRate CONFIG REQUIRED)
|
||||
if(SampleRate_FOUND AND TARGET SampleRate::samplerate)
|
||||
set(HAVE_LIBSAMPLERATE TRUE)
|
||||
set(HAVE_LIBSAMPLERATE_H TRUE)
|
||||
124
Tools/CMake/vcpkg/ports/sdl2/portfile.cmake
Normal file
124
Tools/CMake/vcpkg/ports/sdl2/portfile.cmake
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
set(LOCAL_ARCHIVE "$ENV{VCPKG_LIB_SOURCE_ROOT}/libsdl-org-SDL-release-2.32.10.tar.gz")
|
||||
|
||||
vcpkg_extract_source_archive(
|
||||
SOURCE_PATH
|
||||
ARCHIVE "${LOCAL_ARCHIVE}"
|
||||
PATCHES
|
||||
deps.patch
|
||||
alsa-dep-fix.patch
|
||||
cxx-linkage-pkgconfig.diff
|
||||
)
|
||||
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL_STATIC)
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SDL_SHARED)
|
||||
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" FORCE_STATIC_VCRT)
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
alsa SDL_ALSA
|
||||
dbus SDL_DBUS
|
||||
ibus SDL_IBUS
|
||||
samplerate SDL_LIBSAMPLERATE
|
||||
vulkan SDL_VULKAN
|
||||
wayland SDL_WAYLAND
|
||||
x11 SDL_X11
|
||||
)
|
||||
|
||||
if ("x11" IN_LIST FEATURES)
|
||||
message(WARNING "You will need to install Xorg dependencies to use feature x11:\nsudo apt install libx11-dev libxft-dev libxext-dev\n")
|
||||
endif()
|
||||
if ("wayland" IN_LIST FEATURES)
|
||||
message(WARNING "You will need to install Wayland dependencies to use feature wayland:\nsudo apt install libwayland-dev libxkbcommon-dev libegl1-mesa-dev\n")
|
||||
endif()
|
||||
if ("ibus" IN_LIST FEATURES)
|
||||
message(WARNING "You will need to install ibus dependencies to use feature ibus:\nsudo apt install libibus-1.0-dev\n")
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_UWP)
|
||||
set(configure_opts WINDOWS_USE_MSBUILD)
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
${configure_opts}
|
||||
OPTIONS ${FEATURE_OPTIONS}
|
||||
-DSDL_STATIC=${SDL_STATIC}
|
||||
-DSDL_SHARED=${SDL_SHARED}
|
||||
-DSDL_FORCE_STATIC_VCRT=${FORCE_STATIC_VCRT}
|
||||
-DSDL_LIBC=ON
|
||||
-DSDL_TEST=OFF
|
||||
-DSDL_INSTALL_CMAKEDIR=cmake
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
|
||||
-DSDL_LIBSAMPLERATE_SHARED=OFF
|
||||
MAYBE_UNUSED_VARIABLES
|
||||
SDL_FORCE_STATIC_VCRT
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH cmake)
|
||||
|
||||
file(REMOVE_RECURSE
|
||||
"${CURRENT_PACKAGES_DIR}/debug/include"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/share"
|
||||
"${CURRENT_PACKAGES_DIR}/bin/sdl2-config"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/bin/sdl2-config"
|
||||
"${CURRENT_PACKAGES_DIR}/SDL2.framework"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/SDL2.framework"
|
||||
"${CURRENT_PACKAGES_DIR}/share/licenses"
|
||||
"${CURRENT_PACKAGES_DIR}/share/aclocal"
|
||||
)
|
||||
|
||||
file(GLOB BINS "${CURRENT_PACKAGES_DIR}/debug/bin/*" "${CURRENT_PACKAGES_DIR}/bin/*")
|
||||
if(NOT BINS)
|
||||
file(REMOVE_RECURSE
|
||||
"${CURRENT_PACKAGES_DIR}/bin"
|
||||
"${CURRENT_PACKAGES_DIR}/debug/bin"
|
||||
)
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_UWP AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/lib/manual-link")
|
||||
file(RENAME "${CURRENT_PACKAGES_DIR}/lib/SDL2main.lib" "${CURRENT_PACKAGES_DIR}/lib/manual-link/SDL2main.lib")
|
||||
endif()
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link")
|
||||
file(RENAME "${CURRENT_PACKAGES_DIR}/debug/lib/SDL2maind.lib" "${CURRENT_PACKAGES_DIR}/debug/lib/manual-link/SDL2maind.lib")
|
||||
endif()
|
||||
|
||||
file(GLOB SHARE_FILES "${CURRENT_PACKAGES_DIR}/share/sdl2/*.cmake")
|
||||
foreach(SHARE_FILE ${SHARE_FILES})
|
||||
vcpkg_replace_string("${SHARE_FILE}" "lib/SDL2main" "lib/manual-link/SDL2main" IGNORE_UNCHANGED)
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
set(DYLIB_COMPATIBILITY_VERSION_REGEX "set\\(DYLIB_COMPATIBILITY_VERSION (.+)\\)")
|
||||
set(DYLIB_CURRENT_VERSION_REGEX "set\\(DYLIB_CURRENT_VERSION (.+)\\)")
|
||||
file(STRINGS "${SOURCE_PATH}/CMakeLists.txt" DYLIB_COMPATIBILITY_VERSION REGEX ${DYLIB_COMPATIBILITY_VERSION_REGEX})
|
||||
file(STRINGS "${SOURCE_PATH}/CMakeLists.txt" DYLIB_CURRENT_VERSION REGEX ${DYLIB_CURRENT_VERSION_REGEX})
|
||||
string(REGEX REPLACE ${DYLIB_COMPATIBILITY_VERSION_REGEX} "\\1" DYLIB_COMPATIBILITY_VERSION "${DYLIB_COMPATIBILITY_VERSION}")
|
||||
string(REGEX REPLACE ${DYLIB_CURRENT_VERSION_REGEX} "\\1" DYLIB_CURRENT_VERSION "${DYLIB_CURRENT_VERSION}")
|
||||
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug" AND NOT VCPKG_TARGET_IS_ANDROID)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2main" "-lSDL2maind" IGNORE_UNCHANGED)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2 " "-lSDL2d " IGNORE_UNCHANGED)
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-lSDL2-static " "-lSDL2-staticd " IGNORE_UNCHANGED)
|
||||
endif()
|
||||
|
||||
if(VCPKG_TARGET_IS_UWP)
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sdl2.pc" "$<$<CONFIG:Debug>:d>.lib" "")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/sdl2.pc" "-l-nodefaultlib:" "-nodefaultlib:")
|
||||
endif()
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "$<$<CONFIG:Debug>:d>.lib" "d")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/sdl2.pc" "-l-nodefaultlib:" "-nodefaultlib:")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt")
|
||||
8
Tools/CMake/vcpkg/ports/sdl2/usage
Normal file
8
Tools/CMake/vcpkg/ports/sdl2/usage
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
sdl2 provides CMake targets:
|
||||
|
||||
find_package(SDL2 CONFIG REQUIRED)
|
||||
target_link_libraries(main
|
||||
PRIVATE
|
||||
$<TARGET_NAME_IF_EXISTS:SDL2::SDL2main>
|
||||
$<IF:$<TARGET_EXISTS:SDL2::SDL2>,SDL2::SDL2,SDL2::SDL2-static>
|
||||
)
|
||||
74
Tools/CMake/vcpkg/ports/sdl2/vcpkg.json
Normal file
74
Tools/CMake/vcpkg/ports/sdl2/vcpkg.json
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
"name": "sdl2",
|
||||
"version": "2.32.10",
|
||||
"description": "Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.",
|
||||
"homepage": "https://www.libsdl.org/download-2.0.php",
|
||||
"license": "Zlib",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
],
|
||||
"default-features": [
|
||||
{
|
||||
"name": "dbus",
|
||||
"platform": "linux"
|
||||
},
|
||||
{
|
||||
"name": "ibus",
|
||||
"platform": "linux"
|
||||
},
|
||||
{
|
||||
"name": "wayland",
|
||||
"platform": "linux"
|
||||
},
|
||||
{
|
||||
"name": "x11",
|
||||
"platform": "linux"
|
||||
}
|
||||
],
|
||||
"features": {
|
||||
"alsa": {
|
||||
"description": "Support for alsa audio",
|
||||
"dependencies": [
|
||||
"alsa"
|
||||
]
|
||||
},
|
||||
"dbus": {
|
||||
"description": "Build with D-Bus support",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "dbus",
|
||||
"default-features": false,
|
||||
"platform": "linux"
|
||||
}
|
||||
]
|
||||
},
|
||||
"ibus": {
|
||||
"description": "Build with ibus IME support",
|
||||
"supports": "linux"
|
||||
},
|
||||
"samplerate": {
|
||||
"description": "Use libsamplerate for audio rate conversion",
|
||||
"dependencies": [
|
||||
"libsamplerate"
|
||||
]
|
||||
},
|
||||
"vulkan": {
|
||||
"description": "Vulkan functionality for SDL"
|
||||
},
|
||||
"wayland": {
|
||||
"description": "Build with Wayland support",
|
||||
"supports": "linux"
|
||||
},
|
||||
"x11": {
|
||||
"description": "Build with X11 support",
|
||||
"supports": "!windows"
|
||||
}
|
||||
}
|
||||
}
|
||||
29
Tools/CMake/vcpkg/ports/stb/FindStb.cmake
Normal file
29
Tools/CMake/vcpkg/ports/stb/FindStb.cmake
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Distributed under the OSI-approved BSD 3-Clause License.
|
||||
|
||||
#.rst:
|
||||
# FindStb
|
||||
# ------------
|
||||
#
|
||||
# Find the Stb include headers.
|
||||
#
|
||||
# Result Variables
|
||||
# ^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# This module defines the following variables:
|
||||
#
|
||||
# ``Stb_FOUND``
|
||||
# True if Stb library found
|
||||
#
|
||||
# ``Stb_INCLUDE_DIR``
|
||||
# Location of Stb headers
|
||||
#
|
||||
|
||||
include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
|
||||
include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake)
|
||||
|
||||
if(NOT Stb_INCLUDE_DIR)
|
||||
find_path(Stb_INCLUDE_DIR NAMES stb_image.h PATHS ${Stb_DIR} PATH_SUFFIXES include)
|
||||
endif()
|
||||
|
||||
find_package_handle_standard_args(Stb DEFAULT_MSG Stb_INCLUDE_DIR)
|
||||
mark_as_advanced(Stb_INCLUDE_DIR)
|
||||
15
Tools/CMake/vcpkg/ports/stb/portfile.cmake
Normal file
15
Tools/CMake/vcpkg/ports/stb/portfile.cmake
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
set(LOCAL_ARCHIVE "$ENV{VCPKG_LIB_SOURCE_ROOT}/nothings-stb-f75e8d1cad7d90d72ef7a4661f1b994ef78b4e31.tar.gz")
|
||||
|
||||
vcpkg_extract_source_archive(
|
||||
SOURCE_PATH
|
||||
ARCHIVE "${LOCAL_ARCHIVE}"
|
||||
)
|
||||
|
||||
file(GLOB HEADER_FILES "${SOURCE_PATH}/*.h" "${SOURCE_PATH}/stb_vorbis.c")
|
||||
file(COPY ${HEADER_FILES} DESTINATION "${CURRENT_PACKAGES_DIR}/include")
|
||||
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/FindStb.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
|
||||
4
Tools/CMake/vcpkg/ports/stb/usage
Normal file
4
Tools/CMake/vcpkg/ports/stb/usage
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
The package stb provides CMake targets:
|
||||
|
||||
find_package(Stb REQUIRED)
|
||||
target_include_directories(main PRIVATE ${Stb_INCLUDE_DIR})
|
||||
6
Tools/CMake/vcpkg/ports/stb/vcpkg-cmake-wrapper.cmake
Normal file
6
Tools/CMake/vcpkg/ports/stb/vcpkg-cmake-wrapper.cmake
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
set(STB_PREV_MODULE_PATH ${CMAKE_MODULE_PATH})
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
|
||||
|
||||
_find_package(${ARGS})
|
||||
|
||||
set(CMAKE_MODULE_PATH ${STB_PREV_MODULE_PATH})
|
||||
8
Tools/CMake/vcpkg/ports/stb/vcpkg.json
Normal file
8
Tools/CMake/vcpkg/ports/stb/vcpkg.json
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"name": "stb",
|
||||
"version-date": "2024-07-29",
|
||||
"port-version": 1,
|
||||
"description": "public domain header-only libraries",
|
||||
"homepage": "https://github.com/nothings/stb",
|
||||
"license": "MIT OR CC-PDDC"
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
From a512d312db5604efe803a6fe088e7d582e04533f Mon Sep 17 00:00:00 2001
|
||||
From: Amin Yahyaabadi <aminyahyaabadi74@gmail.com>
|
||||
Date: Wed, 26 Oct 2022 18:21:29 -0700
|
||||
Subject: [PATCH] fix: do not force export the symbols when building statically
|
||||
|
||||
---
|
||||
CMakeLists.txt | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 8802fb8..87cda90 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -16,8 +16,10 @@ endif ()
|
||||
## Main library build
|
||||
##
|
||||
|
||||
-set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||
-set(CMAKE_VISIBILITY_INLINES_HIDDEN YES)
|
||||
+if (BUILD_SHARED_LIBS)
|
||||
+ set(CMAKE_CXX_VISIBILITY_PRESET hidden)
|
||||
+ set(CMAKE_VISIBILITY_INLINES_HIDDEN YES)
|
||||
+endif()
|
||||
|
||||
add_library(tinyxml2 tinyxml2.cpp tinyxml2.h)
|
||||
add_library(tinyxml2::tinyxml2 ALIAS tinyxml2)
|
||||
@@ -36,11 +38,14 @@ target_compile_definitions(
|
||||
set_target_properties(
|
||||
tinyxml2
|
||||
PROPERTIES
|
||||
- DEFINE_SYMBOL "TINYXML2_EXPORT"
|
||||
VERSION "${tinyxml2_VERSION}"
|
||||
SOVERSION "${tinyxml2_VERSION_MAJOR}"
|
||||
)
|
||||
|
||||
+if(BUILD_SHARED_LIBS)
|
||||
+ target_compile_definitions(tinyxml2 PRIVATE "TINYXML2_EXPORT")
|
||||
+endif()
|
||||
+
|
||||
if (tinyxml2_BUILD_TESTING)
|
||||
add_executable(xmltest xmltest.cpp)
|
||||
target_link_libraries(xmltest PRIVATE tinyxml2::tinyxml2)
|
||||
--
|
||||
2.37.3.windows.1
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
From 4beabf9fe05a049577e3923327804851d6a05f24 Mon Sep 17 00:00:00 2001
|
||||
From: Amin Yahyaabadi <aminyahyaabadi74@gmail.com>
|
||||
Date: Thu, 27 Oct 2022 19:06:52 -0700
|
||||
Subject: [PATCH] fix: check for TINYXML2_EXPORT on non windows
|
||||
|
||||
---
|
||||
tinyxml2.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tinyxml2.h b/tinyxml2.h
|
||||
index cfb1053..5a36901 100755
|
||||
--- a/tinyxml2.h
|
||||
+++ b/tinyxml2.h
|
||||
@@ -72,7 +72,7 @@ distribution.
|
||||
# else
|
||||
# define TINYXML2_LIB
|
||||
# endif
|
||||
-#elif __GNUC__ >= 4
|
||||
+#elif defined(TINYXML2_EXPORT) && __GNUC__ >= 4
|
||||
# define TINYXML2_LIB __attribute__((visibility("default")))
|
||||
#else
|
||||
# define TINYXML2_LIB
|
||||
--
|
||||
2.37.3.windows.1
|
||||
|
||||
26
Tools/CMake/vcpkg/ports/tinyxml2/portfile.cmake
Normal file
26
Tools/CMake/vcpkg/ports/tinyxml2/portfile.cmake
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
set(LOCAL_ARCHIVE "$ENV{VCPKG_LIB_SOURCE_ROOT}/leethomason-tinyxml2-11.0.0.tar.gz")
|
||||
|
||||
vcpkg_extract_source_archive(
|
||||
SOURCE_PATH
|
||||
ARCHIVE "${LOCAL_ARCHIVE}"
|
||||
PATCHES
|
||||
0001-fix-do-not-force-export-the-symbols-when-building-st.patch
|
||||
0002-fix-check-for-TINYXML2_EXPORT-on-non-windows.patch
|
||||
)
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
-Dtinyxml2_BUILD_TESTING=OFF
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
|
||||
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/tinyxml2)
|
||||
vcpkg_fixup_pkgconfig()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
17
Tools/CMake/vcpkg/ports/tinyxml2/vcpkg.json
Normal file
17
Tools/CMake/vcpkg/ports/tinyxml2/vcpkg.json
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"name": "tinyxml2",
|
||||
"version-semver": "11.0.0",
|
||||
"description": "A simple, small, efficient, C++ XML parser",
|
||||
"homepage": "https://github.com/leethomason/tinyxml2",
|
||||
"license": "Zlib",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake-config",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
diff --git a/zconf.h.cmakein b/zconf.h.cmakein
|
||||
index a7f24cc..a1b359b 100644
|
||||
--- a/zconf.h.cmakein
|
||||
+++ b/zconf.h.cmakein
|
||||
@@ -434,11 +434,19 @@ typedef uLong FAR uLongf;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
|
||||
-# define Z_HAVE_UNISTD_H
|
||||
+# if ~(~HAVE_UNISTD_H + 0) == 0 && ~(~HAVE_UNISTD_H + 1) == 1
|
||||
+# define Z_HAVE_UNISTD_H
|
||||
+# elif HAVE_UNISTD_H != 0
|
||||
+# define Z_HAVE_UNISTD_H
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
|
||||
-# define Z_HAVE_STDARG_H
|
||||
+# if ~(~HAVE_STDARG_H + 0) == 0 && ~(~HAVE_STDARG_H + 1) == 1
|
||||
+# define Z_HAVE_STDARG_H
|
||||
+# elif HAVE_STDARG_H != 0
|
||||
+# define Z_HAVE_STDARG_H
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
#ifdef STDC
|
||||
diff --git a/zconf.h.in b/zconf.h.in
|
||||
index 5e1d68a..32f53c8 100644
|
||||
--- a/zconf.h.in
|
||||
+++ b/zconf.h.in
|
||||
@@ -432,11 +432,19 @@ typedef uLong FAR uLongf;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
|
||||
-# define Z_HAVE_UNISTD_H
|
||||
+# if ~(~HAVE_UNISTD_H + 0) == 0 && ~(~HAVE_UNISTD_H + 1) == 1
|
||||
+# define Z_HAVE_UNISTD_H
|
||||
+# elif HAVE_UNISTD_H != 0
|
||||
+# define Z_HAVE_UNISTD_H
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
|
||||
-# define Z_HAVE_STDARG_H
|
||||
+# if ~(~HAVE_STDARG_H + 0) == 0 && ~(~HAVE_STDARG_H + 1) == 1
|
||||
+# define Z_HAVE_STDARG_H
|
||||
+# elif HAVE_STDARG_H != 0
|
||||
+# define Z_HAVE_STDARG_H
|
||||
+# endif
|
||||
#endif
|
||||
|
||||
#ifdef STDC
|
||||
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -123,9 +123,11 @@ set(ZLIB_SRCS
|
||||
)
|
||||
|
||||
if(NOT MINGW)
|
||||
+ if(BUILD_SHARED_LIBS)
|
||||
set(ZLIB_DLL_SRCS
|
||||
win32/zlib1.rc # If present will override custom build rule below.
|
||||
)
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
|
||||
@@ -146,15 +148,17 @@ if(MINGW)
|
||||
-I ${CMAKE_CURRENT_BINARY_DIR}
|
||||
-o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
|
||||
-i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
|
||||
+ if(BUILD_SHARED_LIBS)
|
||||
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
||||
+ endif()
|
||||
endif(MINGW)
|
||||
|
||||
-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||
+add_library(zlib ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||
target_include_directories(zlib PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||
-target_include_directories(zlibstatic PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
+if (BUILD_SHARED_LIBS)
|
||||
set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
|
||||
set_target_properties(zlib PROPERTIES SOVERSION 1)
|
||||
+endif()
|
||||
|
||||
if(NOT CYGWIN)
|
||||
# This property causes shared libraries on Linux to have the full version
|
||||
@@ -169,7 +173,7 @@ endif()
|
||||
|
||||
if(UNIX)
|
||||
# On unix-like platforms the library is almost always called libz
|
||||
- set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z)
|
||||
+ set_target_properties(zlib PROPERTIES OUTPUT_NAME z)
|
||||
if(NOT APPLE AND NOT(CMAKE_SYSTEM_NAME STREQUAL AIX))
|
||||
set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
|
||||
endif()
|
||||
@@ -179,7 +183,7 @@ elseif(BUILD_SHARED_LIBS AND WIN32)
|
||||
endif()
|
||||
|
||||
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
|
||||
- install(TARGETS zlib zlibstatic
|
||||
+ install(TARGETS zlib
|
||||
RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
|
||||
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
|
||||
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" )
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -58,7 +58,7 @@ endif()
|
||||
#
|
||||
check_include_file(unistd.h Z_HAVE_UNISTD_H)
|
||||
|
||||
-if(MSVC)
|
||||
+if(WIN32)
|
||||
set(CMAKE_DEBUG_POSTFIX "d")
|
||||
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
|
||||
add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
|
||||
@@ -135,7 +135,7 @@ file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
|
||||
string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*"
|
||||
"\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
|
||||
|
||||
-if(MINGW)
|
||||
+if(MINGW AND NOT ANDROID)
|
||||
# This gets us DLL resource information when compiling on MinGW.
|
||||
if(NOT CMAKE_RC_COMPILER)
|
||||
set(CMAKE_RC_COMPILER windres.exe)
|
||||
@@ -151,7 +151,7 @@ if(MINGW)
|
||||
if(BUILD_SHARED_LIBS)
|
||||
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
||||
endif()
|
||||
-endif(MINGW)
|
||||
+endif(MINGW AND NOT ANDROID)
|
||||
|
||||
add_library(zlib ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
||||
target_include_directories(zlib PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
51
Tools/CMake/vcpkg/ports/zlib/portfile.cmake
Normal file
51
Tools/CMake/vcpkg/ports/zlib/portfile.cmake
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
set(LOCAL_ARCHIVE "$ENV{VCPKG_LIB_SOURCE_ROOT}/madler-zlib-v1.3.1.tar.gz")
|
||||
|
||||
vcpkg_extract_source_archive(
|
||||
SOURCE_PATH
|
||||
ARCHIVE "${LOCAL_ARCHIVE}"
|
||||
PATCHES
|
||||
0001-Prevent-invalid-inclusions-when-HAVE_-is-set-to-0.patch
|
||||
0002-build-static-or-shared-not-both.patch
|
||||
0003-android-and-mingw-fixes.patch
|
||||
)
|
||||
|
||||
# This is generated during the cmake build
|
||||
file(REMOVE "${SOURCE_PATH}/zconf.h")
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
-DSKIP_INSTALL_FILES=ON
|
||||
-DZLIB_BUILD_EXAMPLES=OFF
|
||||
OPTIONS_DEBUG
|
||||
-DSKIP_INSTALL_HEADERS=ON
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
|
||||
# Install the pkgconfig file
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/zlib.pc" "-lz" "-lzlib")
|
||||
endif()
|
||||
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/zlib.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig")
|
||||
endif()
|
||||
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
|
||||
if(VCPKG_TARGET_IS_WINDOWS)
|
||||
vcpkg_replace_string("${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/zlib.pc" "-lz" "-lzlibd")
|
||||
endif()
|
||||
file(COPY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/zlib.pc" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig")
|
||||
endif()
|
||||
|
||||
vcpkg_fixup_pkgconfig()
|
||||
vcpkg_copy_pdbs()
|
||||
|
||||
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/zconf.h" "ifdef ZLIB_DLL" "if 0")
|
||||
else()
|
||||
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/zconf.h" "ifdef ZLIB_DLL" "if 1")
|
||||
endif()
|
||||
|
||||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
4
Tools/CMake/vcpkg/ports/zlib/usage
Normal file
4
Tools/CMake/vcpkg/ports/zlib/usage
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
The package zlib is compatible with built-in CMake targets:
|
||||
|
||||
find_package(ZLIB REQUIRED)
|
||||
target_link_libraries(main PRIVATE ZLIB::ZLIB)
|
||||
12
Tools/CMake/vcpkg/ports/zlib/vcpkg-cmake-wrapper.cmake
Normal file
12
Tools/CMake/vcpkg/ports/zlib/vcpkg-cmake-wrapper.cmake
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
find_path(ZLIB_INCLUDE_DIR NAMES zlib.h PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include" NO_DEFAULT_PATH)
|
||||
find_library(ZLIB_LIBRARY_RELEASE NAMES zlib z PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/lib" NO_DEFAULT_PATH)
|
||||
find_library(ZLIB_LIBRARY_DEBUG NAMES zlibd z PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug/lib" NO_DEFAULT_PATH)
|
||||
if(NOT ZLIB_INCLUDE_DIR OR NOT (ZLIB_LIBRARY_RELEASE OR ZLIB_LIBRARY_DEBUG))
|
||||
message(FATAL_ERROR "Broken installation of vcpkg port zlib")
|
||||
endif()
|
||||
if(CMAKE_VERSION VERSION_LESS 3.4)
|
||||
include(SelectLibraryConfigurations)
|
||||
select_library_configurations(ZLIB)
|
||||
unset(ZLIB_FOUND)
|
||||
endif()
|
||||
_find_package(${ARGS})
|
||||
13
Tools/CMake/vcpkg/ports/zlib/vcpkg.json
Normal file
13
Tools/CMake/vcpkg/ports/zlib/vcpkg.json
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"name": "zlib",
|
||||
"version": "1.3.1",
|
||||
"description": "A compression library",
|
||||
"homepage": "https://www.zlib.net/",
|
||||
"license": "Zlib",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,19 +1,25 @@
|
|||
set(VCPKG_TARGET_ARCHITECTURE arm64)
|
||||
set(VCPKG_TARGET_ARCHITECTURE x64)
|
||||
|
||||
if(${PORT} MATCHES "sdl2|openal-soft|libsndfile")
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
else()
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE static)
|
||||
endif()
|
||||
|
||||
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
|
||||
|
||||
set(VCPKG_OSX_ARCHITECTURES "arm64;x86_64")
|
||||
|
||||
set(VCPKG_CMAKE_SYSTEM_VERSION 11.0)
|
||||
set(VCPKG_OSX_DEPLOYMENT_TARGET 11.0)
|
||||
|
||||
set(VCPKG_C_FLAGS -mmacosx-version-min=11.0)
|
||||
set(VCPKG_CXX_FLAGS -mmacosx-version-min=11.0)
|
||||
|
||||
set(VCPKG_CMAKE_CONFIGURE_OPTIONS
|
||||
-DPNG_ARM_NEON=off
|
||||
)
|
||||
|
||||
set(VCPKG_BUILD_TYPE release)
|
||||
|
|
@ -1,17 +1,23 @@
|
|||
set(VCPKG_TARGET_ARCHITECTURE arm64)
|
||||
set(VCPKG_TARGET_ARCHITECTURE x64)
|
||||
|
||||
if(${PORT} MATCHES "sdl2|openal-soft|libsndfile")
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
else()
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE static)
|
||||
endif()
|
||||
|
||||
set(VCPKG_CMAKE_SYSTEM_NAME Darwin)
|
||||
|
||||
set(VCPKG_OSX_ARCHITECTURES "arm64;x86_64")
|
||||
|
||||
set(VCPKG_CMAKE_SYSTEM_VERSION 11.0)
|
||||
set(VCPKG_OSX_DEPLOYMENT_TARGET 11.0)
|
||||
|
||||
set(VCPKG_C_FLAGS -mmacosx-version-min=11.0)
|
||||
set(VCPKG_CXX_FLAGS -mmacosx-version-min=11.0)
|
||||
|
||||
set(VCPKG_CMAKE_CONFIGURE_OPTIONS
|
||||
-DPNG_ARM_NEON=off
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue