[glib up to gtk] update and make it work with meson (#13100)

* update glib to meson

* update ci baseline

* update glib to 2.66.3
remove cmakelists

* fix some minor meson issue but meson is still a mess

* add_bin_to_path to vcpkg_install_meson

* regen docs

* try fixing/touching all glib dependent ports

* fix libsigcpp-3 version

* fix glibmm

* fix gmime

* fix libcroco

* update libnice

* fix atk build

* update harfbuzz

* fix few builds

* update libxmlpp

* fix gdk-pixbuf

* fix gts

* gts add patch

* remove old libsigcpp

* add missing comma

* fix supports logic

* fix name mismatch

* restore original ci baseline.

* fix a lot of small details.
increment controls.

* fix harfbuzz & glib

* bump port version

* update port_versions

* fix version field

* update versions

* fix glib in harfbuzz

* update port versions

* silly uppercase type

* update port-versions

* fix cairo build

* update version

* fix atk

* update atk port-verisons

* fix gts public includes

* update versions

* fix cairomm

* fix pango

* fix ignition

* update versions.

* fix gtk

* fix librsvg

* update versions

* fix atk linux

* fix libgpod

* update versions

* fix lcm

* fix librsvg

* update pango and pangomm

* update pango to meson

* more updates

* update pixman

* fix cairo

* fix cairo

* some fixes

* reorder meson a bit

* add none.txt for meson

* fix x86_x64 to x86 "cross" builds

* add tiff pkgconfig

* update gdk-pixbuf

* fix tiff and jpeg

* add graphene

* fix gdk-pixbuf

* add sassc

* update gtk

* fix cairo complete build

* add harfbuzz inlcude in pango since meson does not add it into pkgconfig.

* fix gtk build. Remaining issue fix install script.

* fix gtk build

* fix io2d

* add supports field

* fix cartographer?

* fix librsvg build

* fix gtk build

* fix cartographer

* fix sassc on linux

* fix tiff and libjpeg pc files

* fix pixman x86

* _isnanf is undefined on arm-

* merge fix for make on arm64

* fix gdk-pixbuf on arm64-windows

* pixman remove test/demos.
should fix it on osx.

* [vcpkg_install_meson] add bin to path to run code generators

* [vcpkg_configure_meson]
deactivate native compiler in cross builds
make x86 on x86_x64 a native instead of a cross build
(as long as we are not building for UWP)

* pixman reenable UWP support.

* pixman reenable arm support

* add pixman:arm-uwp=fail to baseline

* update gtkmm

* remove double whitespaces

* gtk baseline
gtk dependency on cairo x11
remove double spaces in flags

* fix linux build

* native none again

* cairo fix cairo-script.pc

* comment out patch since the cairo changes should have fixed it.

* disable wayland backend in GTK since CI is missing system packages

* silly typo in cairo pc file correction
install lzo pc on windows

* remove double spaces in _FLAGS
remove unnecessary comments

* actually disabling wayland backend

* fix glib codegen issue having the wrong path

* try to fix paths in glib codegen

* integrate changes form #12860

* add the uwp patch back in

* deactivate extra harfbuzz shapers.

* vcpkg x-add-version --all --overwrite-version

* remove patches in tesseract.

* fix version

* rerun add-version

* add libgpod:x64-linux=fail to baseline due to missing system tools/libraries

* change regex to take double - into account.

* run x-add-version

* run format-manifest

* add missing removal of multiple spaces back into the regex

* remove ws diff change

* fix gtkmm the upstream way

* remove ws to reduce diff

* make glib build on osx

* format manifest

* run x-add-version

* add pthread dependency

* update baseline due to glib compiling on osx now.

* add meson as a dep to glib

* - add glib host dependencies
- switch to manifest of touched ports

* switch to manifest.

* [libxml2] add gnuinstalldirs

* [libxml2] add missing include of GNUInstallDirs

* add version info

* add include dir to pc files ....

* update version

* add UWP as crosscompiling target

* Apply suggestions from code review

* trying to fix cairo pthread detection on osx.

* fix libmicrohttpd by adding the required system frameworks on osx

* fix poppler by not removing the CXX standard

* fix missing coretext header from harfbuzz in pano

* fix formating issues

* fix librsvg on osx

* revert version changes

* bump version

* version stuff.

* fix graphene version stuff

* fix version stuff

* removing ports from ci baseline to cause me pain

* move cairomm:x64-linux=fail
to gtkmm:x64-linx=fail
remove pangomm:x64-osx=fail

* fix typo

* revert ws changes to vcpkg_install_meson

* update port version after merge

* version stuff

* fix fluidsynth by adding vcpkg_check_features

* move cairo to ci baseline on osx

* version stuff

* fluidsynth corrections

* more version stuff

* apply code review changes

* clean version stuff.

* update version stuff

* code review cleanup

* version stuff

* formating

* update version stuff again

* remove gdi again

* version stuff

* version stuff

* version baseline

* Apply strega-nil suggestions from code review

* run x-add-version

* reset versions to upstream/master

* v8 CONTROL -> json

* reset fluidsynth to upstream/master

* first batch of version-string -> version conversion

* second and last batch of version-string -> version conversions

* update version stuff

* disable gdi feature in harfbuzz (missing user32 linkage in qt5-base)

* version stuff

* Apply suggestions from code review

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

* more CR stuff

* update versions

* back out provision changes so that pr can be merged.

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
This commit is contained in:
Alexander Neumann 2021-04-26 19:28:21 +02:00 committed by GitHub
parent a9b27ed5df
commit 546813ae7b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
193 changed files with 2099 additions and 8696 deletions

View File

@ -1,155 +0,0 @@
cmake_minimum_required(VERSION 3.0)
project(atk C)
set(ATK_LIB_SUFFIX @ATK_LIB_SUFFIX@)
set(ATK_DLL_SUFFIX @ATK_DLL_SUFFIX@)
set(GLIB_LIB_VERSION @GLIB_LIB_VERSION@)
if(BUILD_SHARED_LIBS)
set(ATK_EXPORT_MACRO DLL_EXPORT)
endif()
# generate atkmarshal.c and atkmarshal.h source files
# glib-genmarshal should be installed along with glib
find_program(GLIB_GENMARSHAL glib-genmarshal PATH_SUFFIXES glib)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/atk)
message("Generating atkmarshal.h: ${GLIB_GENMARSHAL} --prefix=atk_marshal ${CMAKE_CURRENT_SOURCE_DIR}/atk/atkmarshal.list --header")
execute_process(
COMMAND ${GLIB_GENMARSHAL} --prefix=atk_marshal ${CMAKE_CURRENT_SOURCE_DIR}/atk/atkmarshal.list --header
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/atk
OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/atk/atkmarshal.h
)
message("Generating atkmarshal.c: ${GLIB_GENMARSHAL} --prefix=atk_marshal ${CMAKE_CURRENT_SOURCE_DIR}/atk/atkmarshal.list --body")
execute_process(
COMMAND ${GLIB_GENMARSHAL} --prefix=atk_marshal ${CMAKE_CURRENT_SOURCE_DIR}/atk/atkmarshal.list --body
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/atk
OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/atk/atkmarshal.c
)
if (WIN32)
configure_file(config.h.win32 ${CMAKE_CURRENT_BINARY_DIR}/config.h COPYONLY)
else()
configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h @ONLY)
endif()
add_definitions(-DHAVE_CONFIG_H)
include_directories(. ./atk ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/atk)
find_path(GLIB_INCLUDE_DIR glib.h)
find_library(GLIB_GLIB_LIBRARY glib-${GLIB_LIB_VERSION})
find_library(GLIB_GOBJECT_LIBRARY gobject-${GLIB_LIB_VERSION})
find_library(GLIB_GMODULE_LIBRARY gmodule-${GLIB_LIB_VERSION})
set(GLIB_LIBRARIES ${GLIB_GLIB_LIBRARY} ${GLIB_GOBJECT_LIBRARY} ${GLIB_GMODULE_LIBRARY})
if (WIN32 OR APPLE)
find_path(LIBINTL_INCLUDE_DIR libintl.h)
find_library(LIBINTL_LIBRARY NAMES libintl intl)
else()
find_package(Intl REQUIRED)
set(LIBINTL_INCLUDE_DIR ${Intl_INCLUDE_DIRS})
set(LIBINTL_LIBRARY ${Intl_LIBRARIES})
endif()
set(ATK_SOURCES
atk/atkaction.c
atk/atkcomponent.c
atk/atkdocument.c
atk/atkeditabletext.c
atk/atkgobjectaccessible.c
atk/atkhyperlink.c
atk/atkhyperlinkimpl.c
atk/atkhypertext.c
atk/atkimage.c
atk/atknoopobject.c
atk/atknoopobjectfactory.c
atk/atkobject.c
atk/atkobjectfactory.c
atk/atkplug.c
atk/atkprivate.c
atk/atkrange.c
atk/atkregistry.c
atk/atkrelation.c
atk/atkrelationset.c
atk/atkselection.c
atk/atksocket.c
atk/atkstate.c
atk/atkstateset.c
atk/atkstreamablecontent.c
atk/atktable.c
atk/atktablecell.c
atk/atktext.c
atk/atkutil.c
atk/atkmisc.c
atk/atkvalue.c
atk/atkversion.c
atk/atkwindow.c
atk/atk-enum-types.c)
add_library(atk ${ATK_SOURCES})
target_compile_definitions(atk PRIVATE ATK_COMPILATION ${ATK_EXPORT_MACRO} G_DISABLE_SINGLE_INCLUDES ATK_LOCALEDIR="/dummy/share/locale")
target_link_libraries(atk ${LIBINTL_LIBRARY} ${GLIB_LIBRARIES})
target_include_directories(atk PRIVATE ${GLIB_INCLUDE_DIR} ${LIBINTL_INCLUDE_DIR})
set_target_properties(atk PROPERTIES
OUTPUT_NAME atk-${ATK_DLL_SUFFIX}
ARCHIVE_OUTPUT_NAME atk-${ATK_LIB_SUFFIX})
install(TARGETS atk RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
if(NOT ATK_SKIP_HEADERS)
install(FILES
atk/atk.h
atk/atkaction.h
atk/atkcomponent.h
atk/atkdocument.h
atk/atkeditabletext.h
atk/atkgobjectaccessible.h
atk/atkhyperlink.h
atk/atkhyperlinkimpl.h
atk/atkhypertext.h
atk/atknoopobject.h
atk/atknoopobjectfactory.h
atk/atkobject.h
atk/atkobjectfactory.h
atk/atkplug.h
atk/atkimage.h
atk/atkrange.h
atk/atkregistry.h
atk/atkrelation.h
atk/atkrelationtype.h
atk/atkrelationset.h
atk/atkselection.h
atk/atksocket.h
atk/atkstate.h
atk/atkstateset.h
atk/atkstreamablecontent.h
atk/atktable.h
atk/atktablecell.h
atk/atktext.h
atk/atkutil.h
atk/atkmisc.h
atk/atkvalue.h
atk/atkwindow.h
atk/atkversion.h
atk/atk-enum-types.h
atk/atkversion.h
DESTINATION include/atk)
endif()
message(STATUS "Link-time dependencies:")
message(STATUS " " ${LIBINTL_LIBRARY})
foreach(GL ${GLIB_LIBRARIES})
message(STATUS " " ${GL})
endforeach()
set(prefix ${CMAKE_INSTALL_PREFIX})
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
set(includedir ${CMAKE_INSTALL_PREFIX}/include)
set(ATK_API_VERSION @ATK_API_VERSION@)
set(VERSION @ATK_VERSION@)
set(GLIB_PACKAGES "glib-${GLIB_LIB_VERSION} gobject-${GLIB_LIB_VERSION} gmodule-${GLIB_LIB_VERSION}")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/atk.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/atk.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/atk.pc" DESTINATION lib/pkgconfig)

View File

@ -1,7 +0,0 @@
Source: atk
Version: 2.24.0-5
Port-Version: 2
Homepage: https://developer.gnome.org/atk/
Description: GNOME Accessibility Toolkit
Build-Depends: glib, gettext
Supports: !(osx|arm)

View File

@ -1,22 +0,0 @@
diff --git a/config.h.in b/config.h.in
index b94d23f..a26dac8 100644
--- a/config.h.in
+++ b/config.h.in
@@ -5,7 +5,7 @@
#undef ENABLE_NLS
/* Define the gettext package to be used */
-#undef GETTEXT_PACKAGE
+#cmakedefine GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#undef HAVE_BIND_TEXTDOMAIN_CODESET
@@ -86,7 +86,7 @@
#undef STDC_HEADERS
/* Version number of package */
-#undef VERSION
+#cmakedefine VERSION @VERSION@
/* defines how to decorate public symbols while building */
#undef _ATK_EXTERN

View File

@ -1,45 +1,31 @@
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY ONLY_DYNAMIC_CRT)
set(ATK_VERSION 2.24.0)
set(ATK_VERSION 2.36.0)
vcpkg_download_distfile(ARCHIVE
URLS "https://ftp.gnome.org/pub/GNOME/sources/atk/2.24/atk-${ATK_VERSION}.tar.xz"
URLS "https://ftp.gnome.org/pub/GNOME/sources/atk/2.36/atk-${ATK_VERSION}.tar.xz"
FILENAME "atk-${ATK_VERSION}.tar.xz"
SHA512 3ae0a4d5f28d5619d465135c685161f690732053bcb70a47669c951fbf389b5d2ccc5c7c73d4ee8c5a3b2df14e2f5b082e812a215f10a79b27b412d077f5e962
SHA512 d0f18204eaf96511e8448e3dfbc4b6953a7cf8b816151fb7caf5592cf578572b1cdb16836fe2157b11e3ad018ef171f1ca1bfdf255bb31bb455716d7519fd634
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES
fix-linux-config.patch
)
# Here are used API version of library, not the version of library itself
set(ATK_LIB_SUFFIX 1.0)
set(ATK_DLL_SUFFIX 1)
set(GLIB_LIB_VERSION 2.0)
if (WIN32)
set(ATK_API_VERSION ${ATK_LIB_SUFFIX})
else()
set(ATK_API_VERSION ${ATK_DLL_SUFFIX})
endif()
configure_file("${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.in" "${SOURCE_PATH}/CMakeLists.txt" @ONLY)
vcpkg_configure_cmake(
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DCMAKE_PROGRAM_PATH=${CURRENT_INSTALLED_DIR}/tools/glib
-DGETTEXT_PACKAGE=atk10
-DVERSION=10
OPTIONS_DEBUG
-DATK_SKIP_HEADERS=ON)
OPTIONS -Dintrospection=false
ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
)
vcpkg_install_meson()
vcpkg_install_cmake()
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

15
ports/atk/vcpkg.json Normal file
View File

@ -0,0 +1,15 @@
{
"name": "atk",
"version": "2.36.0",
"description": "GNOME Accessibility Toolkit",
"homepage": "https://developer.gnome.org/atk/",
"supports": "!(osx | arm)",
"dependencies": [
"gettext",
"glib",
{
"name": "glib",
"host": true
}
]
}

View File

@ -1,7 +0,0 @@
Source: atkmm
Version: 2.24.2
Port-Version: 5
Homepage: https://www.gtkmm.org
Description: atkmm is the official C++ interface for the ATK accessibility toolkit library. It may be used, for instance, by user interfaces implemented with gtkmm.
Build-Depends: glib, gettext, atk, glibmm
Supports: !(osx)

View File

@ -1,98 +0,0 @@
diff --git a/MSVC_Net2013/atkmm.vcxproj b/MSVC_Net2013/atkmm.vcxproj
index 40f21cb..e9f5c5e 100644
--- a/MSVC_Net2013/atkmm.vcxproj
+++ b/MSVC_Net2013/atkmm.vcxproj
@@ -22,21 +22,22 @@
<ProjectName>atkmm</ProjectName>
<ProjectGuid>{9FE0D5A6-458C-45C7-B954-2C3C1E6196C2}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
diff --git a/MSVC_Net2013/gendef.vcxproj b/MSVC_Net2013/gendef.vcxproj
index d6f2798..aab7023 100644
--- a/MSVC_Net2013/gendef.vcxproj
+++ b/MSVC_Net2013/gendef.vcxproj
@@ -21,21 +21,22 @@
<PropertyGroup Label="Globals">
<ProjectGuid>{07324745-C9BE-4D65-B08A-9C88188C0C28}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
diff --git a/MSVC_Net2013/install.vcxproj b/MSVC_Net2013/install.vcxproj
index 6225a66..7f61dc5 100644
--- a/MSVC_Net2013/install.vcxproj
+++ b/MSVC_Net2013/install.vcxproj
@@ -22,28 +22,29 @@
<ProjectGuid>{2093D218-190E-4194-9421-3BA7CBF33B10}</ProjectGuid>
<RootNamespace>install</RootNamespace>
<Keyword>Win32Proj</Keyword>
+ <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

View File

@ -1,306 +0,0 @@
diff --git a/MSVC_Net2013/atkmm-build-defines.props b/MSVC_Net2013/atkmm-build-defines.props
index 421f5c3..0275e6e 100644
--- a/MSVC_Net2013/atkmm-build-defines.props
+++ b/MSVC_Net2013/atkmm-build-defines.props
@@ -5,8 +5,6 @@
</ImportGroup>
<PropertyGroup Label="UserMacros">
<AtkMMBuildDefs>ATKMM_BUILD</AtkMMBuildDefs>
- <CPPDepLibsRelease>glibmm-vc$(VSVer)0-2_4.lib;sigc-vc$(VSVer)0-2_0.lib</CPPDepLibsRelease>
- <CPPDepLibsDebug>glibmm-vc$(VSVer)0-d-2_4.lib;sigc-vc$(VSVer)0-d-2_0.lib</CPPDepLibsDebug>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>panogmmbuilddefinesprops</_PropertySheetDisplayName>
@@ -15,25 +13,19 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
- <AdditionalIncludeDirectories>.\atkmm;..\atk;$(GlibEtcInstallRoot)\include\glibmm-2.4;$(GlibEtcInstallRoot)\lib\glibmm-2.4\include;$(GlibEtcInstallRoot)\include\sigc++-2.0;$(GlibEtcInstallRoot)\lib\sigc++-2.0\include;$(GlibEtcInstallRoot)\include\atk-1.0;$(GlibEtcInstallRoot)\include\glib-2.0;$(GlibEtcInstallRoot)\lib\glib-2.0\include;$(GlibEtcInstallRoot)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\atkmm;..\atk;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ForcedIncludeFiles>msvc_recommended_pragmas.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<AdditionalOptions>/d2Zi+ %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
- <AdditionalDependencies>atk-1.0.lib;gobject-2.0.lib;glib-2.0.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <AdditionalLibraryDirectories>$(GlibEtcInstallRoot)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<BuildMacro Include="AtkMMBuildDefs">
<Value>$(AtkMMBuildDefs)</Value>
</BuildMacro>
- <BuildMacro Include="CPPDepLibsRelease">
- <Value>$(CPPDepLibsRelease)</Value>
- </BuildMacro>
- <BuildMacro Include="CPPDepLibsDebug">
- <Value>$(CPPDepLibsDebug)</Value>
- </BuildMacro>
</ItemGroup>
</Project>
\ No newline at end of file
diff --git a/MSVC_Net2013/atkmm-version-paths.props b/MSVC_Net2013/atkmm-version-paths.props
index affd50f..675aa3e 100644
--- a/MSVC_Net2013/atkmm-version-paths.props
+++ b/MSVC_Net2013/atkmm-version-paths.props
@@ -2,13 +2,9 @@
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="UserMacros">
<VSVer>12</VSVer>
- <GlibEtcInstallRoot>$(SolutionDir)\..\..\vs$(VSVer)\$(Platform)</GlibEtcInstallRoot>
- <CopyDir>$(GlibEtcInstallRoot)</CopyDir>
<DefDir>$(SolutionDir)$(Configuration)\$(Platform)\obj\$(ProjectName)\</DefDir>
<ApiMajorVersion>1</ApiMajorVersion>
<ApiMinorVersion>6</ApiMinorVersion>
- <ReleaseDllSuffix>-vc$(VSVer)0-$(ApiMajorVersion)_$(ApiMinorVersion)</ReleaseDllSuffix>
- <DebugDllSuffix>-vc$(VSVer)0-d-$(ApiMajorVersion)_$(ApiMinorVersion)</DebugDllSuffix>
</PropertyGroup>
<PropertyGroup>
<_PropertySheetDisplayName>atkmmversionpathsprops</_PropertySheetDisplayName>
@@ -17,12 +13,6 @@
<BuildMacro Include="VSVer">
<Value>$(VSVer)</Value>
</BuildMacro>
- <BuildMacro Include="GlibEtcInstallRoot">
- <Value>$(GlibEtcInstallRoot)</Value>
- </BuildMacro>
- <BuildMacro Include="CopyDir">
- <Value>$(CopyDir)</Value>
- </BuildMacro>
<BuildMacro Include="DefDir">
<Value>$(DefDir)</Value>
</BuildMacro>
@@ -32,11 +22,5 @@
<BuildMacro Include="ApiMinorVersion">
<Value>$(ApiMinorVersion)</Value>
</BuildMacro>
- <BuildMacro Include="ReleaseDllSuffix">
- <Value>$(ReleaseDllSuffix)</Value>
- </BuildMacro>
- <BuildMacro Include="DebugDllSuffix">
- <Value>$(DebugDllSuffix)</Value>
- </BuildMacro>
</ItemGroup>
</Project>
\ No newline at end of file
diff --git a/MSVC_Net2013/atkmm.vcxproj b/MSVC_Net2013/atkmm.vcxproj
index c3db50a..40f21cb 100644
--- a/MSVC_Net2013/atkmm.vcxproj
+++ b/MSVC_Net2013/atkmm.vcxproj
@@ -41,7 +41,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
diff --git a/MSVC_Net2013/atkmm.vcxproj.filters b/MSVC_Net2013/atkmm.vcxproj.filters
index f0fca22..6598996 100644
--- a/MSVC_Net2013/atkmm.vcxproj.filters
+++ b/MSVC_Net2013/atkmm.vcxproj.filters
@@ -15,55 +15,143 @@
</Filter>
</ItemGroup>
<ItemGroup>
- <ClCompile Include="..\atk\atkmm\action.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\component.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\document.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\editabletext.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\hyperlink.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\hypertext.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\image.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\implementor.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\init.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\noopobject.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\object.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\objectaccessible.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\range.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\relation.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\relationset.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\selection.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\stateset.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\streamablecontent.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\table.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\text.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\value.cc"><Filter>Source Files</Filter></ClCompile>
- <ClCompile Include="..\atk\atkmm\wrap_init.cc"><Filter>Source Files</Filter></ClCompile>
+ <ClCompile Include="..\atk\atkmm\action.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\component.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\document.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\editabletext.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\hyperlink.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\hypertext.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\image.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\implementor.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\init.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\noopobject.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\object.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\objectaccessible.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\range.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\relation.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\relationset.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\selection.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\stateset.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\streamablecontent.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\table.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\text.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\value.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\atk\atkmm\wrap_init.cc">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
- <ClInclude Include="..\atk\atkmm\action.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\component.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\document.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\editabletext.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\hyperlink.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\hypertext.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\image.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\implementor.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\init.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\noopobject.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\object.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\objectaccessible.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\range.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\relation.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\relationset.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\selection.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\stateset.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\streamablecontent.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\table.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\text.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\value.h"><Filter>Header Files</Filter></ClInclude>
- <ClInclude Include="..\atk\atkmm\wrap_init.h"><Filter>Header Files</Filter></ClInclude>
+ <ClInclude Include="..\atk\atkmm\action.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\component.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\document.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\editabletext.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\hyperlink.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\hypertext.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\image.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\implementor.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\init.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\noopobject.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\object.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\objectaccessible.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\range.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\relation.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\relationset.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\selection.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\stateset.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\streamablecontent.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\table.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\text.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\value.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\atk\atkmm\wrap_init.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
- <ResourceCompile Include="atkmm.rc">
+ <ResourceCompile Include=".\atkmm\atkmm.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
diff --git a/MSVC_Net2013/gendef.vcxproj b/MSVC_Net2013/gendef.vcxproj
index 554054c..d6f2798 100644
--- a/MSVC_Net2013/gendef.vcxproj
+++ b/MSVC_Net2013/gendef.vcxproj
@@ -40,7 +40,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v120</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

View File

@ -1,34 +0,0 @@
#ifndef _MSC_VER
#pragma error "This header is for Microsoft VC only."
#endif /* _MSC_VER */
/* Make MSVC more pedantic, this is a recommended pragma list
* from _Win32_Programming_ by Rector and Newcomer.
*/
#pragma warning(error:4002) /* too many actual parameters for macro */
#pragma warning(error:4003) /* not enough actual parameters for macro */
#pragma warning(1:4010) /* single-line comment contains line-continuation character */
#pragma warning(error:4013) /* 'function' undefined; assuming extern returning int */
#pragma warning(1:4016) /* no function return type; using int as default */
#pragma warning(error:4020) /* too many actual parameters */
#pragma warning(error:4021) /* too few actual parameters */
#pragma warning(error:4027) /* function declared without formal parameter list */
#pragma warning(error:4029) /* declared formal parameter list different from definition */
#pragma warning(error:4033) /* 'function' must return a value */
#pragma warning(error:4035) /* 'function' : no return value */
#pragma warning(error:4045) /* array bounds overflow */
#pragma warning(error:4047) /* different levels of indirection */
#pragma warning(error:4049) /* terminating line number emission */
#pragma warning(error:4053) /* An expression of type void was used as an operand */
#pragma warning(error:4071) /* no function prototype given */
#pragma warning(disable:4101) /* unreferenced local variable */
#pragma warning(error:4150)
#pragma warning(disable:4244) /* No possible loss of data warnings */
#pragma warning(disable:4305) /* No truncation from int to char warnings */
#pragma warning(error:4819) /* The file contains a character that cannot be represented in the current code page */
/* work around Microsoft's premature attempt to deprecate the C-Library */
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_NONSTDC_NO_WARNINGS

View File

@ -3,57 +3,26 @@ if (VCPKG_TARGET_IS_WINDOWS)
endif()
vcpkg_download_distfile(ARCHIVE
URLS "https://ftp.gnome.org/pub/GNOME/sources/atkmm/2.24/atkmm-2.24.2.tar.xz"
FILENAME "atkmm-2.24.2.tar.xz"
SHA512 427714cdf3b10e3f9bc36df09c4b05608d295f5895fb1e079b9bd84afdf7bf1cfdec6794ced7f1e35bd430b76f87792df4ee63c515071a2ea6e3e51e672cdbe2
URLS "https://ftp.gnome.org/pub/GNOME/sources/atkmm/2.36/atkmm-2.36.0.tar.xz"
FILENAME "atkmm-2.36.0.tar.xz"
SHA512 8527dfa50191919a7dcf6db6699767352cb0dac800d834ee39ed21694eee3136a41a7532d600b8b3c0fcea52da6129b623e8e61ada728d806aa61fdc8dc8dedf
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES
fix_properties.patch
fix_charset.patch
)
if (VCPKG_TARGET_IS_WINDOWS)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h DESTINATION ${SOURCE_PATH}/MSVC_Net2013)
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-Dbuild-documentation=false
-Dbuild-deprecated-api=true # Build deprecated API and include it in the library
-Dmsvc14x-parallel-installable=false) # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019
vcpkg_install_meson()
set(VS_PLATFORM ${VCPKG_TARGET_ARCHITECTURE})
if(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86)
set(VS_PLATFORM "Win32")
endif(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86)
vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/MSVC_Net2013/atkmm.sln
TARGET atkmm
PLATFORM ${VS_PLATFORM}
USE_VCPKG_INTEGRATION
)
# Handle headers
file(COPY ${SOURCE_PATH}/MSVC_Net2013/atkmm/atkmmconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(COPY ${SOURCE_PATH}/atk/atkmm.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(COPY ${SOURCE_PATH}/atk/atkmm
DESTINATION ${CURRENT_PACKAGES_DIR}/include
FILES_MATCHING PATTERN *.h)
# Handle libraries
file(COPY ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/atkmm.dll
DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
file(COPY ${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/atkmm.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
file(COPY ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/atkmm.dll
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
file(COPY ${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/atkmm.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
vcpkg_copy_pdbs()
else()
set(ENV{CONFIG_SHELL} bash)
vcpkg_configure_make(SOURCE_PATH ${SOURCE_PATH} OPTIONS ${ATKMM_OPTIONS})
vcpkg_install_make()
endif()
vcpkg_fixup_pkgconfig()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")

13
ports/atkmm/vcpkg.json Normal file
View File

@ -0,0 +1,13 @@
{
"name": "atkmm",
"version": "2.36.0",
"description": "atkmm is the official C++ interface for the ATK accessibility toolkit library. It may be used, for instance, by user interfaces implemented with gtkmm.",
"homepage": "https://www.gtkmm.org",
"supports": "!osx",
"dependencies": [
"atk",
"gettext",
"glib",
"glibmm"
]
}

View File

@ -1,360 +0,0 @@
cmake_minimum_required(VERSION 3.11)
project(cairo C)
# Add include directories
include_directories(".")
if(WIN32)
include_directories("./win32")
endif()
set(CAIRO_HEADERS
cairo.h
cairo-deprecated.h
cairo-features.h
cairo-pdf.h
cairo-ps.h
cairo-script.h
cairo-svg.h
cairo-version.h
cairo-win32.h
../util/cairo-gobject/cairo-gobject.h
cairo-ft.h
)
set(CAIRO_X11_HEADERS
cairo-xlib.h
)
set(CAIRO_QUARTZ_HEADERS
cairo-quartz.h
cairo-quartz-image.h
)
file(GLOB SOURCES
"cairo-analysis-surface.c"
"cairo-arc.c"
"cairo-array.c"
"cairo-atomic.c"
"cairo-base64-stream.c"
"cairo-base85-stream.c"
"cairo-bentley-ottmann.c"
"cairo-bentley-ottmann-rectangular.c"
"cairo-bentley-ottmann-rectilinear.c"
"cairo-botor-scan-converter.c"
"cairo-boxes.c"
"cairo-boxes-intersect.c"
"cairo.c"
"cairo-cache.c"
"cairo-clip.c"
"cairo-clip-boxes.c"
"cairo-clip-polygon.c"
"cairo-clip-region.c"
"cairo-clip-surface.c"
"cairo-color.c"
"cairo-composite-rectangles.c"
"cairo-compositor.c"
"cairo-contour.c"
"cairo-damage.c"
"cairo-debug.c"
"cairo-default-context.c"
"cairo-device.c"
"cairo-error.c"
"cairo-fallback-compositor.c"
"cairo-fixed.c"
"cairo-font-face.c"
"cairo-font-face-twin.c"
"cairo-font-face-twin-data.c"
"cairo-font-options.c"
"cairo-freelist.c"
"cairo-freed-pool.c"
"cairo-gstate.c"
"cairo-hash.c"
"cairo-hull.c"
"cairo-image-compositor.c"
"cairo-image-info.c"
"cairo-image-source.c"
"cairo-image-surface.c"
"cairo-line.c"
"cairo-lzw.c"
"cairo-matrix.c"
"cairo-mask-compositor.c"
"cairo-mesh-pattern-rasterizer.c"
"cairo-mempool.c"
"cairo-misc.c"
"cairo-mono-scan-converter.c"
"cairo-mutex.c"
"cairo-no-compositor.c"
"cairo-observer.c"
"cairo-output-stream.c"
"cairo-paginated-surface.c"
"cairo-path-bounds.c"
"cairo-path.c"
"cairo-path-fill.c"
"cairo-path-fixed.c"
"cairo-path-in-fill.c"
"cairo-path-stroke.c"
"cairo-path-stroke-boxes.c"
"cairo-path-stroke-polygon.c"
"cairo-path-stroke-traps.c"
"cairo-path-stroke-tristrip.c"
"cairo-pattern.c"
"cairo-pen.c"
"cairo-polygon.c"
"cairo-polygon-intersect.c"
"cairo-polygon-reduce.c"
"cairo-raster-source-pattern.c"
"cairo-recording-surface.c"
"cairo-rectangle.c"
"cairo-rectangular-scan-converter.c"
"cairo-region.c"
"cairo-rtree.c"
"cairo-scaled-font.c"
"cairo-shape-mask-compositor.c"
"cairo-slope.c"
"cairo-spans.c"
"cairo-spans-compositor.c"
"cairo-spline.c"
"cairo-stroke-dash.c"
"cairo-stroke-style.c"
"cairo-surface.c"
"cairo-surface-clipper.c"
"cairo-surface-fallback.c"
"cairo-surface-observer.c"
"cairo-surface-offset.c"
"cairo-surface-snapshot.c"
"cairo-surface-subsurface.c"
"cairo-surface-wrapper.c"
"cairo-time.c"
"cairo-tor-scan-converter.c"
"cairo-tor22-scan-converter.c"
"cairo-clip-tor-scan-converter.c"
"cairo-tag-attributes.c"
"cairo-tag-stack.c"
"cairo-toy-font-face.c"
"cairo-traps.c"
"cairo-tristrip.c"
"cairo-traps-compositor.c"
"cairo-unicode.c"
"cairo-user-font.c"
"cairo-version.c"
"cairo-wideint.c"
# generic font support
"cairo-cff-subset.c"
"cairo-scaled-font-subsets.c"
"cairo-truetype-subset.c"
"cairo-type1-fallback.c"
"cairo-type1-glyph-names.c"
"cairo-type1-subset.c"
"cairo-type3-glyph-surface.c"
# pdf
"cairo-pdf-interchange.c"
"cairo-pdf-operators.c"
"cairo-pdf-shading.c"
"cairo-pdf-surface.c"
# png
"cairo-png.c"
# ps surface
"cairo-ps-surface.c"
# deflate source
"cairo-deflate-stream.c"
# svg surface
"cairo-svg-surface.c"
# script surface
"cairo-script-surface.c"
)
if(WITH_FREETYPE)
file(GLOB _FREETYPE_SOURCES "cairo-ft-font.c")
list(APPEND SOURCES ${_FREETYPE_SOURCES})
endif()
if(WITH_QUARTZ)
file(GLOB _QUARTZ_SOURCES
"cairo-quartz-font.c"
"cairo-quartz-image-surface.c"
"cairo-quartz-surface.c"
)
list(APPEND SOURCES ${_QUARTZ_SOURCES})
endif()
# win32
file(GLOB PLATFORM_SOURCES_WIN32
"win32/cairo-win32-debug.c"
"win32/cairo-win32-device.c"
"win32/cairo-win32-gdi-compositor.c"
"win32/cairo-win32-system.c"
"win32/cairo-win32-surface.c"
"win32/cairo-win32-display-surface.c"
"win32/cairo-win32-printing-surface.c"
"win32/cairo-win32-font.c"
)
if(WIN32)
list(APPEND SOURCES ${PLATFORM_SOURCES_WIN32})
endif()
set(CMAKE_DEBUG_POSTFIX "d")
find_package(Threads REQUIRED)
find_package(ZLIB REQUIRED)
find_package(PNG REQUIRED)
if(WITH_FREETYPE)
find_package(Freetype REQUIRED)
endif()
if(WITH_FONTCONFIG)
find_package(Fontconfig REQUIRED)
endif()
if(WITH_QUARTZ)
find_library(CF CoreFoundation)
find_library(CG CoreGraphics)
endif()
find_package(unofficial-pixman CONFIG REQUIRED)
# Cairo needs to be told which features of FreeType are availible
if(WITH_FREETYPE)
add_definitions(
-DHAVE_FT_GLYPHSLOT_EMBOLDEN=1
-DHAVE_FT_LIBRARY_SETLCDFILTER=1
-DHAVE_FT_GLYPHSLOT_OBLIQUE=1
-DHAVE_FT_LOAD_SFNT_TABLE=1
-DHAVE_FT_GET_X11_FONT_FORMAT=1)
endif()
# additional features for macOS
if(UNIX OR APPLE)
add_definitions(
-DHAVE_INTTYPES_H=1
-DHAVE_STDINT_H=1
-DHAVE_SYS_TYPES_H=1
-DHAVE_UINT64_T=1
-DHAVE_UNISTD_H=1
-DCAIRO_HAS_PTHREAD=1
-DCAIRO_HAS_REAL_PTHREAD=1)
endif()
add_library(cairo ${SOURCES})
if (WITH_X11)
target_compile_definitions(cairo PUBLIC -DCAIRO_HAS_XLIB_SURFACE=1)
endif()
if(WITH_FREETYPE)
target_include_directories(cairo PUBLIC ${FREETYPE_INCLUDE_DIRS})
target_link_libraries(cairo PRIVATE Freetype::Freetype)
endif()
if(WITH_FONTCONFIG)
target_link_libraries(cairo PRIVATE Fontconfig::Fontconfig)
endif()
target_link_libraries(cairo PRIVATE ZLIB::ZLIB PNG::PNG unofficial::pixman::pixman-1)
if(WIN32)
target_link_libraries(cairo PRIVATE gdi32 msimg32 user32)
endif()
if(WITH_QUARTZ)
target_link_libraries(cairo PRIVATE ${CF} ${CG})
endif()
# GObject support module
set(CAIRO_GOBJECT_SOURCES
"../util/cairo-gobject/cairo-gobject-enums.c"
"../util/cairo-gobject/cairo-gobject-structs.c")
# GObject support sources do not include header with export macro
if(WITH_GOBJECT)
if(BUILD_SHARED_LIBS)
if(MSVC)
set_source_files_properties(
"../util/cairo-gobject/cairo-gobject-enums.c"
"../util/cairo-gobject/cairo-gobject-structs.c"
PROPERTIES COMPILE_DEFINITIONS "cairo_public=__declspec(dllexport)")
else()
set_source_files_properties(
"../util/cairo-gobject/cairo-gobject-enums.c"
"../util/cairo-gobject/cairo-gobject-structs.c"
PROPERTIES COMPILE_DEFINITIONS "cairo_public=__attribute__((visibility(\"default\")))")
endif()
endif()
find_package(unofficial-glib CONFIG REQUIRED)
add_library(cairo-gobject ${CAIRO_GOBJECT_SOURCES})
target_link_libraries(cairo-gobject PRIVATE cairo unofficial::glib::gobject unofficial::glib::glib)
endif()
if(MSVC)
# cairo produces a lot of warnings which are disabled here because they otherwise fill up the log files
# NOTE: options only available to MSVC, clang in macOS doesn't understand these flags
target_compile_options(cairo PRIVATE
"/wd4244" "/wd4146" "/wd4312" "/wd4267" "/wd4996" "/wd4311" "/wd4334" "/wd4101"
)
if(WITH_GOBJECT)
target_compile_options(cairo-gobject PRIVATE
"/wd4244" "/wd4146" "/wd4312" "/wd4267" "/wd4996" "/wd4311" "/wd4334" "/wd4101"
)
endif()
endif()
if (CAIRO_HAS_XLIB_SURFACE)
file(INSTALL cairo-xlib.h DESTINATION include)
endif()
install(FILES ${CAIRO_HEADERS} DESTINATION include)
install(FILES ${CAIRO_HEADERS} DESTINATION include/cairo)
if(WITH_QUARTZ)
install(FILES ${CAIRO_QUARTZ_HEADERS} DESTINATION include)
install(FILES ${CAIRO_QUARTZ_HEADERS} DESTINATION include/cairo)
endif()
if (WITH_X11)
install(FILES ${CAIRO_X11_HEADERS} DESTINATION include)
install(FILES ${CAIRO_X11_HEADERS} DESTINATION include/cairo)
endif()
install(TARGETS cairo
EXPORT cairo-targets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
if(WITH_GOBJECT)
install(TARGETS cairo-gobject
EXPORT cairo-targets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
endif()
install(
EXPORT cairo-targets
NAMESPACE unofficial::cairo::
FILE unofficial-cairo-targets.cmake
DESTINATION share/unofficial-cairo
)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-cairo-config.cmake
"include(CMakeFindDependencyMacro)
find_dependency(ZLIB)
find_dependency(PNG)
if(${WITH_FREETYPE})
find_dependency(Freetype)
endif()
if(${WITH_FONTCONFIG})
find_dependency(Fontconfig)
endif()
find_dependency(unofficial-pixman CONFIG)
if(${WITH_GOBJECT})
find_dependency(unofficial-glib CONFIG)
endif()
if(${WITH_QUARTZ})
find_library(CF CoreFoundation)
find_library(CG CoreGraphics)
endif()
include(\${CMAKE_CURRENT_LIST_DIR}/unofficial-cairo-targets.cmake)
")
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/unofficial-cairo-config.cmake DESTINATION share/unofficial-cairo)

109
ports/cairo/build2.patch Normal file
View File

@ -0,0 +1,109 @@
diff --git a/build/Makefile.win32.common b/build/Makefile.win32.common
index 7d7e9735f..f39ea1991 100644
--- a/build/Makefile.win32.common
+++ b/build/Makefile.win32.common
@@ -44,13 +44,13 @@ else
ifeq ($(ZLIB_PATH),)
ZLIB_PATH := $(top_builddir)/../zlib
endif
-ZLIB_CFLAGS += -I$(ZLIB_PATH)/
-CAIRO_LIBS += $(ZLIB_PATH)/zdll.lib
+# ZLIB_CFLAGS += -I$(ZLIB_PATH)/
+# CAIRO_LIBS += $(ZLIB_PATH)/zdll.lib
endif
DEFAULT_CFLAGS = -nologo $(CFG_CFLAGS)
DEFAULT_CFLAGS += -I. -I$(top_srcdir) -I$(top_srcdir)/src
-DEFAULT_CFLAGS += $(PIXMAN_CFLAGS) $(LIBPNG_CFLAGS) $(ZLIB_CFLAGS)
+DEFAULT_CFLAGS += $(PIXMAN_CFLAGS) $(LIBPNG_CFLAGS)
CAIRO_CFLAGS = $(DEFAULT_CFLAGS) $(CFLAGS)
diff --git a/configure.ac b/configure.ac
index 5e33c96ea..c9e9cfaa9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -43,7 +43,7 @@ AC_CACHE_SAVE
dnl ===========================================================================
-AC_CHECK_LIB(z, compress,
+AC_SEARCH_LIBS(compress, z zlib zlibd,
[AC_CHECK_HEADER(zlib.h, [
have_libz=yes
AC_DEFINE(HAVE_ZLIB, 1, [Define to 1 if you have zlib available])
@@ -481,7 +481,7 @@ CAIRO_ENABLE_SURFACE_BACKEND(script, script, yes, [
any2ppm_cs=yes
# The script backend requires zlib.
use_script=$have_libz
- script_NONPKGCONFIG_LIBS=-lz
+ script_NONPKGCONFIG_LIBS=$ac_cv_search_compress
])
dnl ===========================================================================
@@ -582,7 +582,7 @@ dnl ===========================================================================
CAIRO_ENABLE_SURFACE_BACKEND(ps, PostScript, yes, [
# The ps backend requires zlib.
use_ps=$have_libz
- ps_NONPKGCONFIG_LIBS=-lz
+ ps_NONPKGCONFIG_LIBS=$ac_cv_search_compress
])
dnl ===========================================================================
@@ -619,7 +619,7 @@ dnl ===========================================================================
CAIRO_ENABLE_SURFACE_BACKEND(pdf, PDF, yes, [
# The pdf backend requires zlib.
use_pdf=$have_libz
- pdf_NONPKGCONFIG_LIBS=-lz
+ pdf_NONPKGCONFIG_LIBS=$ac_cv_search_compress
])
dnl ===========================================================================
@@ -706,7 +706,7 @@ CAIRO_ENABLE_SURFACE_BACKEND(observer, observer, always)
CAIRO_ENABLE_SURFACE_BACKEND(tee, tee, no)
CAIRO_ENABLE_SURFACE_BACKEND(xml, xml, no, [
use_xml=$have_libz
- xml_NONPKGCONFIG_LIBS=-lz
+ xml_NONPKGCONFIG_LIBS=$ac_cv_search_compress
])
dnl ===========================================================================
diff --git a/src/Makefile.am b/src/Makefile.am
index acf0a8281..fe339a3cf 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -68,7 +68,7 @@ cairo.def: cairo-features.h $(enabled_cairo_headers)
@(echo EXPORTS; \
(cd $(srcdir); cat $(enabled_cairo_headers) || echo 'cairo_ERROR ()' ) | \
$(EGREP) -v '^# *include' | \
- ( cat cairo-features.h - | $(CPP) -D__cplusplus - || echo 'cairo_ERROR ()' ) | \
+ ( cat cairo-features.h - | $(CPP) $(CPP_FLAGS) -D__cplusplus - || echo 'cairo_ERROR ()' ) | \
$(EGREP) '^cairo_.* \(' | \
sed -e 's/[ ].*//' | \
sort; \
diff --git a/util/cairo-script/Makefile.am b/util/cairo-script/Makefile.am
index d5c2998ac..e6e23b2ed 100644
--- a/util/cairo-script/Makefile.am
+++ b/util/cairo-script/Makefile.am
@@ -15,7 +15,7 @@ libcairo_script_interpreter_la_SOURCES = \
$(NULL)
libcairo_script_interpreter_la_CFLAGS = $(CAIRO_CFLAGS)
libcairo_script_interpreter_la_LDFLAGS = -version-info $(CAIRO_LIBTOOL_VERSION_INFO) -no-undefined $(export_symbols)
-libcairo_script_interpreter_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) $(lzo_LIBS) -lz
+libcairo_script_interpreter_la_LIBADD = $(top_builddir)/src/libcairo.la $(CAIRO_LIBS) $(lzo_LIBS)
csi_replay_SOURCES = csi-replay.c
csi_replay_CFLAGS = $(CAIRO_CFLAGS)
diff --git a/util/cairo-trace/Makefile.am b/util/cairo-trace/Makefile.am
index a0091f882..64d86184f 100644
--- a/util/cairo-trace/Makefile.am
+++ b/util/cairo-trace/Makefile.am
@@ -13,7 +13,7 @@ libcairo_trace_la_CPPFLAGS = -DCAIRO_TRACE_OUTDIR="\"$(cairooutdir)\"" \
libcairo_trace_la_CFLAGS = $(CAIRO_CFLAGS) $(real_pthread_CFLAGS)
libcairo_trace_la_LDFLAGS = -module -no-undefined -avoid-version
-libcairo_trace_la_LIBADD = $(real_pthread_LIBS) -lz
+libcairo_trace_la_LIBADD = $(real_pthread_LIBS)
if CAIRO_HAS_DL
libcairo_trace_la_LIBADD += -ldl
endif

View File

@ -1,43 +0,0 @@
#ifndef CAIRO_FEATURES_H
#define CAIRO_FEATURES_H
/* Chosen from the various possible defines in "../build/Makefile.win32.features.h""
guided by "../build/Makefile.win32.features". Modify at your own risk.
*/
/* Always for Win32 */
#ifdef _WIN32
#define CAIRO_HAS_WIN32_SURFACE 1
#define CAIRO_HAS_WIN32_FONT 1
#endif
/* Require libpng */
#define CAIRO_HAS_PNG_FUNCTIONS 1
#define CAIRO_HAS_PS_SURFACE 1
#define CAIRO_HAS_PDF_SURFACE 1
// Likely available
#define CAIRO_HAS_SCRIPT_SURFACE 1
#define CAIRO_HAS_SVG_SURFACE 1
/* Always available */
#define CAIRO_HAS_IMAGE_SURFACE 1
#define CAIRO_HAS_MIME_SURFACE 1
#define CAIRO_HAS_RECORDING_SURFACE 1
#define CAIRO_HAS_OBSERVER_SURFACE 1
#define CAIRO_HAS_USER_FONT 1
/* Require GObject */
#define CAIRO_HAS_GOBJECT_FUNCTIONS 1
/* Require FreeType */
#cmakedefine01 CAIRO_HAS_FT_FONT
/* Require FontConfig */
#cmakedefine01 CAIRO_HAS_FC_FONT
// apple quartz support
#cmakedefine01 CAIRO_HAS_QUARTZ_FONT
#cmakedefine01 CAIRO_HAS_QUARTZ_IMAGE_SURFACE
#cmakedefine01 CAIRO_HAS_QUARTZ_SURFACE
#endif

View File

@ -12,72 +12,90 @@ vcpkg_extract_source_archive_ex(
PATCHES
export-only-in-shared-build.patch
0001_fix_osx_defined.patch
build2.patch
remove_test_perf.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}/src)
#TODO the autoconf script has a lot of additional option which use auto detection and should be disabled!
if("fontconfig" IN_LIST FEATURES)
list(APPEND OPTIONS --enable-fc=yes)
else()
list(APPEND OPTIONS --enable-fc=no)
endif()
if("freetype" IN_LIST FEATURES)
set(CAIRO_HAS_FT_FONT TRUE)
list(APPEND OPTIONS --enable-ft=yes)
else()
list(APPEND OPTIONS --enable-ft=no)
endif()
if("fontconfig" IN_LIST FEATURES)
set(CAIRO_HAS_FC_FONT TRUE)
endif()
if("quartz" IN_LIST FEATURES)
set(CAIRO_HAS_QUARTZ TRUE)
set(CAIRO_HAS_QUARTZ_FONT TRUE)
set(CAIRO_HAS_QUARTZ_IMAGE_SURFACE TRUE)
set(CAIRO_HAS_QUARTZ_SURFACE TRUE)
endif()
configure_file("${CMAKE_CURRENT_LIST_DIR}/cairo-features.h.in" "${SOURCE_PATH}/src/cairo-features.h")
if ("x11" IN_LIST FEATURES)
if (VCPKG_TARGET_IS_WINDOWS)
message(FATAL_ERROR "Feature x11 only support UNIX.")
endif()
message(WARNING "You will need to install Xorg dependencies to use feature x11:\napt install libx11-dev libxft-dev\n")
list(APPEND OPTIONS --with-x --enable-xlib=yes)
else()
list(APPEND OPTIONS --enable-xlib=no)
endif()
if("gobject" IN_LIST FEATURES)
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static")
message(FATAL_ERROR "Feature gobject currently only supports dynamic build.")
endif()
list(APPEND OPTIONS --enable-gobject=yes)
else()
list(APPEND OPTIONS --enable-gobject=no)
endif()
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
x11 WITH_X11
gobject WITH_GOBJECT
freetype WITH_FREETYPE
fontconfig WITH_FONTCONFIG
quartz WITH_QUARTZ
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
set(ENV{CPP} "cl_cpp_wrapper")
endif()
vcpkg_configure_make(
SOURCE_PATH ${SOURCE_PATH}
AUTOCONFIG
OPTIONS ${OPTIONS}
ax_cv_c_float_words_bigendian=no
ac_cv_lib_z_compress=yes
ac_cv_lib_lzo2_lzo2a_decompress=yes
lt_cv_deplibs_check_method=pass_all
)
vcpkg_configure_cmake(
PREFER_NINJA
SOURCE_PATH ${SOURCE_PATH}/src
OPTIONS ${FEATURE_OPTIONS}
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-cairo TARGET_PATH share/unofficial-cairo)
vcpkg_install_make()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
foreach(FILE "${CURRENT_PACKAGES_DIR}/include/cairo.h" "${CURRENT_PACKAGES_DIR}/include/cairo/cairo.h")
file(READ ${FILE} CAIRO_H)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
string(REPLACE "defined (CAIRO_WIN32_STATIC_BUILD)" "1" CAIRO_H "${CAIRO_H}")
else()
string(REPLACE "defined (CAIRO_WIN32_STATIC_BUILD)" "0" CAIRO_H "${CAIRO_H}")
endif()
file(WRITE ${FILE} "${CAIRO_H}")
endforeach()
set(_file "${CURRENT_PACKAGES_DIR}/include/cairo/cairo.h")
file(READ ${_file} CAIRO_H)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
string(REPLACE "defined (CAIRO_WIN32_STATIC_BUILD)" "1" CAIRO_H "${CAIRO_H}")
else()
string(REPLACE "defined (CAIRO_WIN32_STATIC_BUILD)" "0" CAIRO_H "${CAIRO_H}")
endif()
file(WRITE ${_file} "${CAIRO_H}")
# Handle copyright
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
vcpkg_copy_pdbs()
if(VCPKG_TARGET_IS_WINDOWS)
set(ZLINK "-lzlibd")
else()
set(ZLINK "-lz")
endif()
set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/cairo-script.pc")
if(EXISTS "${_file}")
vcpkg_replace_string("${_file}" "Libs: ${ZLINK}" "Requires.private: lzo2 zlib\nLibs: -L\${libdir} -lcairo-script-interpreter")
file(INSTALL "${_file}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/" RENAME cairo-script-interpreter.pc) #normally the *.pc file is named like the library
endif()
if(VCPKG_TARGET_IS_WINDOWS)
set(ZLINK "-lzlib")
endif()
set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/cairo-script.pc")
if(EXISTS "${_file}")
vcpkg_replace_string("${_file}" "Libs: ${ZLINK}" "Requires.private: lzo2 zlib\nLibs: -L\${libdir} -lcairo-script-interpreter")
file(INSTALL "${_file}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/" RENAME cairo-script-interpreter.pc) #normally the *.pc file is named like the library
endif()
vcpkg_fixup_pkgconfig()

View File

@ -0,0 +1,122 @@
diff --git a/Makefile.am b/Makefile.am
index 03fa35236..94a7a263a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -16,11 +16,11 @@ EXTRA_DIST += \
ACLOCAL_AMFLAGS = -I build ${ACLOCAL_FLAGS}
-DIST_SUBDIRS = src doc util boilerplate test perf
-SUBDIRS = src doc util
+DIST_SUBDIRS = src util boilerplate
+SUBDIRS = src util
# libpng is required for our test programs
if CAIRO_HAS_PNG_FUNCTIONS
-SUBDIRS += boilerplate test perf
+SUBDIRS += boilerplate
endif
configure: cairo-version.h
@@ -28,12 +28,11 @@ configure: cairo-version.h
doc:
cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
test retest recheck: all
- cd test && $(MAKE) $(AM_MAKEFLAGS) $@
+ echo "do nothing"
perf: all
cd perf && $(MAKE) $(AM_MAKEFLAGS) $@
check-valgrind: all
- cd test && $(MAKE) $(AM_MAKEFLAGS) check-valgrind
- cd perf && $(MAKE) $(AM_MAKEFLAGS) check-valgrind
+ echo "do nothing"
.PHONY: doc test retest recheck perf check-valgrind
diff --git a/boilerplate/Makefile.am b/boilerplate/Makefile.am
index 29ad015ac..9234014ed 100644
--- a/boilerplate/Makefile.am
+++ b/boilerplate/Makefile.am
@@ -69,7 +69,7 @@ test: check
if CROSS_COMPILING
else
-TESTS += check-link$(EXEEXT)
+#TESTS += check-link$(EXEEXT)
endif
check_PROGRAMS += check-link
diff --git a/perf/cairo-analyse-trace.c b/perf/cairo-analyse-trace.c
index 994148660..5d2dceaec 100644
--- a/perf/cairo-analyse-trace.c
+++ b/perf/cairo-analyse-trace.c
@@ -53,7 +53,7 @@
#include <sys/stat.h>
#ifdef _MSC_VER
-#include "dirent-win32.h"
+#include "dirent.h"
static char *
basename_no_ext (char *path)
diff --git a/perf/cairo-perf-trace.c b/perf/cairo-perf-trace.c
index 02e0e29f9..36daf3fd6 100644
--- a/perf/cairo-perf-trace.c
+++ b/perf/cairo-perf-trace.c
@@ -54,7 +54,7 @@
#include <sys/stat.h>
#ifdef _MSC_VER
-#include "dirent-win32.h"
+#include "dirent.h"
static char *
basename_no_ext (char *path)
diff --git a/src/Makefile.am b/src/Makefile.am
index fe339a3cf..df6de0136 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -100,8 +100,8 @@ else
TESTS += check-link$(EXEEXT)
endif
-EXTRA_DIST += $(TESTS_SH) check-has-hidden-symbols.c check-doc-syntax.awk
-check_PROGRAMS += check-link
+# EXTRA_DIST += $(TESTS_SH) check-has-hidden-symbols.c check-doc-syntax.awk
+# check_PROGRAMS += check-link
check_link_LDADD = libcairo.la
check: headers-standalone
diff --git a/src/cairo-compiler-private.h b/src/cairo-compiler-private.h
index d982c101d..ad9b26ba0 100644
--- a/src/cairo-compiler-private.h
+++ b/src/cairo-compiler-private.h
@@ -201,10 +201,10 @@
#define hypot _hypot
#define pclose _pclose
#define popen _popen
-#define snprintf _snprintf
+//#define snprintf _snprintf
#define strdup _strdup
#define unlink _unlink
-#define vsnprintf _vsnprintf
+//#define vsnprintf _vsnprintf
#endif
#ifdef _MSC_VER
diff --git a/test/Makefile.am b/test/Makefile.am
index e3c42ea88..099ca8b22 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -351,9 +351,9 @@ FAILED_TESTS = `grep -l '\<FAIL\>' $(test_sources:.c=.log) 2>/dev/null | tr '\n'
recheck = check CAIRO_TESTS="$(FAILED_TESTS)"
# Re-checks all failed tests, i.e. tests with a log file that has a failure
-recheck:
- @echo Re-checking failed tests
- @$(MAKE) $(AM_MAKEFLAGS) $(recheck)
+# recheck:
+# @echo Re-checking failed tests
+# @$(MAKE) $(AM_MAKEFLAGS) $(recheck)
# Checks tests.
# Target doesn't fail if tests fail.

View File

@ -1,13 +1,15 @@
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
"name": "cairo",
"version-string": "1.16.0",
"port-version": 10,
"version": "1.16.0",
"port-version": 11,
"description": "Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.",
"homepage": "https://cairographics.org",
"dependencies": [
"dirent",
"libpng",
"lzo",
"pixman",
"pthread",
"zlib"
],
"default-features": [
@ -33,9 +35,6 @@
"glib"
]
},
"quartz": {
"description": "build with quartz support"
},
"x11": {
"description": "build with x11 support"
}

View File

@ -1,25 +0,0 @@
From b769f250a39df110db2615c0e0d85b52f2ab6e77 Mon Sep 17 00:00:00 2001
From: Mikhail Paulyshka <me@mixaill.tk>
Date: Sun, 12 Mar 2017 17:57:03 +0300
Subject: [PATCH] Fix build
---
cairomm/win32_surface.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/cairomm/win32_surface.h b/cairomm/win32_surface.h
index 2e35b9a..c4454c4 100644
--- a/cairomm/win32_surface.h
+++ b/cairomm/win32_surface.h
@@ -84,6 +84,8 @@ public:
*/
static RefPtr<Win32Surface> create(HDC hdc);
+ static RefPtr<Win32Surface> create(Format format, int width, int height);
+
/** Creates a device-independent-bitmap surface not associated with any
* particular existing surface or device context. The created bitmap will be
* unititialized.
--
2.11.0.windows.1

View File

@ -1,125 +0,0 @@
project(cairomm)
cmake_minimum_required(VERSION 3.4)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build/cmake")
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
#get cairomm version
file (STRINGS "configure.ac" CONFIGURE_AC_INIT REGEX "AC_INIT\\(\\[cairomm\\], \\[.*\\].*" )
string(REGEX REPLACE "AC_INIT\\(\\[.*\\], \\[([0-9]+\\.[0-9]+\\.[0-9]+)\\].*" "\\1" VERSION ${CONFIGURE_AC_INIT})
string(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" CAIROMM_MAJOR_VERSION ${VERSION})
string(REGEX REPLACE "[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" CAIROMM_MINOR_VERSION ${VERSION})
string(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" CAIROMM_MICRO_VERSION ${VERSION})
message(STATUS "Ciaromm version: ${CAIROMM_MAJOR_VERSION}.${CAIROMM_MINOR_VERSION}.${CAIROMM_MICRO_VERSION}")
find_package(Cairo REQUIRED)
find_package(Freetype REQUIRED)
find_package(SigC++ REQUIRED)
#configure
option(BUILD_SHARED_LIBS "Build the shared library" ON)
option(CAIROMM_ENABLE_API_EXCEPTIONS "enable API exceptions" ON)
if(CAIROMM_ENABLE_API_EXCEPTIONS)
set(CAIROMM_EXCEPTIONS_ENABLED ON)
else()
set(CAIROMM_EXCEPTIONS_ENABLED OFF)
endif()
configure_file("build/cmake/cairommconfig.h.cmake" "cairommconfig.h")
configure_file("build/cmake/cairomm.rc.cmake" "cairomm.rc" @ONLY)
#build
set(cairomm_cc
cairomm/context.cc
cairomm/device.cc
cairomm/exception.cc
cairomm/fontface.cc
cairomm/fontoptions.cc
cairomm/matrix.cc
cairomm/path.cc
cairomm/pattern.cc
cairomm/private.cc
cairomm/region.cc
cairomm/scaledfont.cc
cairomm/script.cc
cairomm/script_surface.cc
cairomm/surface.cc)
set(cairomm_public_h
cairomm/cairomm.h
cairomm/context.h
cairomm/device.h
cairomm/enums.h
cairomm/exception.h
cairomm/fontface.h
cairomm/fontoptions.h
cairomm/matrix.h
cairomm/path.h
cairomm/pattern.h
cairomm/refptr.h
cairomm/region.h
cairomm/scaledfont.h
cairomm/script.h
cairomm/script_surface.h
cairomm/surface.h
cairomm/types.h)
set(cairomm_private_h
cairomm/context_private.h
cairomm/private.h)
set(cairomm_rc
${CMAKE_BINARY_DIR}/cairomm.rc)
if(WITH_QUARTZ)
list(APPEND cairomm_cc
cairomm/context_surface_quartz.cc
cairomm/quartz_font.cc
cairomm/quartz_surface.cc)
list(APPEND cairomm_public_h
cairomm/xlib_surface.h)
endif()
if(WITH_X11)
list(APPEND cairomm_cc
cairomm/xlib_surface.cc
cairomm/context_surface_xlib.cc)
list(APPEND cairomm_public_h
cairomm/quartz_font.h
cairomm/quartz_surface.h)
endif()
if(WIN32)
list(APPEND cairomm_cc
cairomm/context_surface_win32.cc
cairomm/win32_font.cc
cairomm/win32_surface.cc)
list(APPEND cairomm_public_h
cairomm/win32_font.h
cairomm/win32_surface.h)
endif()
add_library(cairomm-1.0 ${cairomm_cc} ${cairomm_rc})
target_link_libraries(cairomm-1.0 ${CAIRO_LIBRARY} ${SIGC++_LIBRARY} Freetype::Freetype)
target_include_directories(cairomm-1.0 PRIVATE
${CAIRO_INCLUDE_DIR}
${SIGC++_INCLUDE_DIR}
${CMAKE_BINARY_DIR}
${CMAKE_SOURCE_DIR})
install(
TARGETS cairomm-1.0
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
install(
FILES ${cairomm_public_h}
DESTINATION include/cairomm)
install(
FILES ${CMAKE_BINARY_DIR}/cairommconfig.h
DESTINATION include)

View File

@ -1,131 +0,0 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#
# revision: 2
# See https://github.com/CMakePorts/CMakeFindPackages for updates
#
#.rst:
# FindCairo
# ---------
#
# Locate Cairo library
#
# This module defines
#
# ::
# CAIRO_FOUND - system has the CAIRO library
# CAIRO_INCLUDE_DIR - the CAIRO include directory
# CAIRO_LIBRARIES - The libraries needed to use CAIRO
# CAIRO_VERSION - This is set to $major.$minor.$revision (eg. 0.9.8)
# CAIRO_VERSION_STRING - This is set to $major.$minor.$revision (eg. 0.9.8)
#
# Authors:
# Copyright (c) Eric Wing
# Copyright (c) Alexander Neundorf
# Copyright (c) 2008 Joshua L. Blocher <verbalshadow at gmail dot com>
# Copyright (c) 2012 Dmitry Baryshnikov <polimax at mail dot ru>
# Copyright (c) 2013-2017 Mikhail Paulyshka <me at mixaill dot tk>
#
if (NOT WIN32)
find_package(PkgConfig)
if (PKG_CONFIG_FOUND)
pkg_check_modules(_CAIRO cairo)
SET(CAIRO_VERSION ${_CAIRO_VERSION})
STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\1" num "${CAIRO_VERSION}")
MATH (EXPR CAIRO_VERSION_MAJOR "${num}")
STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\2" num "${CAIRO_VERSION}")
MATH (EXPR CAIRO_VERSION_MINOR "${num}")
STRING (REGEX REPLACE "([0-9]+).([0-9]+).([0-9]+)" "\\3" num "${CAIRO_VERSION}")
MATH (EXPR CAIRO_VERSION_MICRO "${num}")
endif (PKG_CONFIG_FOUND)
endif (NOT WIN32)
set(_CAIRO_ROOT_HINTS_AND_PATHS
HINTS
$ENV{CAIRO}
$ENV{CAIRO_DIR}
${CMAKE_FIND_ROOT_PATH}
${CAIRO_ROOT_DIR}
PATHS
${CMAKE_FIND_ROOT_PATH}
$ENV{CAIRO}/src
/usr
/usr/local
)
find_path(CAIRO_INCLUDE_DIR
NAMES
cairo.h
HINTS
${_CAIRO_INCLUDEDIR}
${_CAIRO_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
include
"include/cairo"
)
if(NOT CAIRO_LIBRARY)
FIND_LIBRARY(CAIRO_LIBRARY_RELEASE
NAMES
cairo
cairo-static
HINTS
${_CAIRO_LIBDIR}
${_CAIRO_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
"lib"
"local/lib"
)
FIND_LIBRARY(CAIRO_LIBRARY_DEBUG
NAMES
cairod
cairo-staticd
HINTS
${_CAIRO_LIBDIR}
${_CAIRO_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
"lib"
"local/lib"
)
include(SelectLibraryConfigurations)
select_library_configurations(CAIRO)
endif()
set(CAIRO_LIBRARIES ${CAIRO_LIBRARY})
if (NOT CAIRO_VERSION)
if (EXISTS "${CAIRO_INCLUDE_DIR}/cairo-version.h")
file(READ "${CAIRO_INCLUDE_DIR}/cairo-version.h" CAIRO_VERSION_CONTENT)
string(REGEX MATCH "#define +CAIRO_VERSION_MAJOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
set(CAIRO_VERSION_MAJOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define +CAIRO_VERSION_MINOR +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
set(CAIRO_VERSION_MINOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define +CAIRO_VERSION_MICRO +([0-9]+)" _dummy "${CAIRO_VERSION_CONTENT}")
set(CAIRO_VERSION_MICRO "${CMAKE_MATCH_1}")
set(CAIRO_VERSION "${CAIRO_VERSION_MAJOR}.${CAIRO_VERSION_MINOR}.${CAIRO_VERSION_MICRO}")
set(CAIRO_VERSION_STRING CAIRO_VERSION)
endif ()
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
CAIRO
REQUIRED_VARS
CAIRO_LIBRARIES
CAIRO_INCLUDE_DIR
VERSION_VAR
CAIRO_VERSION_STRING
)
MARK_AS_ADVANCED(
CAIRO_INCLUDE_DIR
CAIRO_LIBRARY
CAIRO_LIBRARIES)

View File

@ -1,111 +0,0 @@
# - Try to find SIGC++
# Once done this will define
#
# SIGC++_ROOT_DIR - Set this variable to the root installation of SIGC++
# SIGC++_FOUND - system has SIGC++
# SIGC++_INCLUDE_DIRS - the SIGC++ include directory
# SIGC++_LIBRARIES - Link these to use SIGC++
#
# Copyright (c) 2008 Joshua L. Blocher <verbalshadow at gmail dot com>
# Copyright (c) 2012 Dmitry Baryshnikov <polimax at mail dot ru>
# Copyright (c) 2013-2017 Mikhail Paulyshka <me at mixaill dot tk>
#
# Distributed under the OSI-approved BSD License
#
if (NOT WIN32)
find_package(PkgConfig)
if (PKG_CONFIG_FOUND)
pkg_check_modules(_SIGC++ sigc++-2.0)
SET(SIGC++_VERSION ${_SIGC++_VERSION})
endif (PKG_CONFIG_FOUND)
endif (NOT WIN32)
SET(_SIGC++_ROOT_HINTS
$ENV{SIGC++}
${CMAKE_FIND_ROOT_PATH}
${SIGC++_ROOT_DIR}
)
SET(_SIGC++_ROOT_PATHS
$ENV{SIGC++}/src
/usr
/usr/local
)
SET(_SIGC++_ROOT_HINTS_AND_PATHS
HINTS ${_SIGC++_ROOT_HINTS}
PATHS ${_SIGC++_ROOT_PATHS}
)
FIND_PATH(SIGC++_INCLUDE_DIR
NAMES
"sigc++/sigc++.h"
HINTS
${_SIGC++_INCLUDEDIR}
${_SIGC++_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
include
"include/sigc++-2.0"
)
find_path(SIGC++_CONFIG_INCLUDE_DIR
NAMES
sigc++config.h
HINTS
${_SIGC++_LIBDIR}
${_SIGC++_INCLUDEDIR}
${_SIGC++_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
include
lib
"sigc++-2.0/include"
"lib/sigc++-2.0"
"lib/sigc++-2.0/include"
)
FIND_LIBRARY(SIGC++_LIBRARY
NAMES
sigc-2.0
HINTS
${_SIGC++_LIBDIR}
${_SIGC++_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
"lib"
"local/lib"
)
SET(SIGC++_LIBRARIES
${SIGC++_LIBRARY}
)
SET(SIGC++_INCLUDE_DIRS
${SIGC++_INCLUDE_DIR}
${SIGC++_CONFIG_INCLUDE_DIR}
)
if (NOT SIGC++_VERSION)
if (EXISTS "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h")
file(READ "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h" SIGC++_VERSION_CONTENT)
string(REGEX MATCH "#define +SIGCXX_MAJOR_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
set(SIGC++_VERSION_MAJOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define +SIGCXX_MINOR_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
set(SIGC++_VERSION_MINOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define +SIGCXX_MICRO_VERSION +([0-9]+)" _dummy "${SIGC++_VERSION_CONTENT}")
set(SIGC++_VERSION_MICRO "${CMAKE_MATCH_1}")
set(SIGC++_VERSION "${SIGC++_VERSION_MAJOR}.${SIGC++_VERSION_MINOR}.${SIGC++_VERSION_MICRO}")
endif (EXISTS "${SIGC++_CONFIG_INCLUDE_DIR}/sigc++config.h")
endif(NOT SIGC++_VERSION)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SIGC++
REQUIRED_VARS SIGC++_LIBRARIES SIGC++_INCLUDE_DIRS
VERSION_VAR SIGC++_VERSION
FAIL_MESSAGE "Could NOT find SIGC++, try to set the path to SIGC++ root folder in the system variable SIGC++"
)
MARK_AS_ADVANCED(SIGC++_CONFIG_INCLUDE_DIR SIGC++_INCLUDE_DIR SIGC++_INCLUDE_DIRS SIGC++_LIBRARY SIGC++_LIBRARIES)

View File

@ -1,71 +0,0 @@
#define APSTUDIO_READONLY_SYMBOLS
#include <windows.h>
#undef APSTUDIO_READONLY_SYMBOLS
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
VS_VERSION_INFO VERSIONINFO
FILEVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1
PRODUCTVERSION @CAIROMM_MAJOR_VERSION@,@CAIROMM_MINOR_VERSION@,@CAIROMM_MICRO_VERSION@,1
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "The cairomm development team (see AUTHORS)"
VALUE "FileDescription", "The official C++ wrapper for cairo"
VALUE "FileVersion", "@VERSION@"
VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
VALUE "OriginalFilename", "cairomm-1.0"
VALUE "ProductName", "cairomm"
VALUE "ProductVersion", "@VERSION@"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (U.S.) resources
#ifndef APSTUDIO_INVOKED
#endif // not APSTUDIO_INVOKED

View File

@ -1,13 +0,0 @@
/* This file is part of cairomm. */
/* Defined when the --enable-api-exceptions configure argument was given */
#cmakedefine CAIROMM_EXCEPTIONS_ENABLED 1
/* Major version number of cairomm. */
#cmakedefine CAIROMM_MAJOR_VERSION @CAIROMM_MAJOR_VERSION@
/* Minor version number of cairomm. */
#cmakedefine CAIROMM_MINOR_VERSION @CAIROMM_MINOR_VERSION@
/* Micro version number of cairomm. */
#cmakedefine CAIROMM_MICRO_VERSION @CAIROMM_MICRO_VERSION@

View File

@ -1,11 +1,9 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
set(CAIROMM_VERSION 1.15.3)
set(CAIROMM_HASH a2c28786dbd167179561d8f580eeb11d10634a36dfdb1adeefc0279acf83ee906f01f264cb924845fc4ab98da1afac71e1ead742f283c1a32368ca9af28e464a)
set(CAIROMM_VERSION 1.16.0)
set(CAIROMM_HASH 51929620feeac45377da5d486ea7a091bbd10ad8376fb16525328947b9e6ee740cdc8e8bd190a247b457cc9fec685a829c81de29b26cabaf95383ef04cce80d3)
vcpkg_download_distfile(ARCHIVE
URLS "https://www.cairographics.org/releases/cairomm-${CAIROMM_VERSION}.tar.gz"
FILENAME "cairomm-${CAIROMM_VERSION}.tar.gz"
URLS "https://www.cairographics.org/releases/cairomm-${CAIROMM_VERSION}.tar.xz"
FILENAME "cairomm-${CAIROMM_VERSION}.tar.xz"
SHA512 ${CAIROMM_HASH}
)
@ -13,29 +11,31 @@ vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES
0001-fix-build.patch
undef.win32.patch # because WIN32 is used as an ENUM identifier.
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake DESTINATION ${SOURCE_PATH}/build)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
x11 WITH_X11
gobject WITH_GOBJECT
freetype WITH_FREETYPE
fontconfig WITH_FONTCONFIG
quartz WITH_QUARTZ
)
vcpkg_configure_cmake(
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-Dbuild-examples=false
-Dmsvc14x-parallel-installable=false # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019
)
vcpkg_install_cmake()
vcpkg_install_meson()
vcpkg_fixup_pkgconfig()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
if(VCPKG_LIBRARY_LINAKGE STREQUAL "static")
set(_file "${CURRENT_PACKAGES_DIR}/lib/cairomm-1.16/include/cairommconfig.h")
if(EXISTS "${_file}")
vcpkg_replace_string("${_file}" "# define CAIROMM_DLL 1" "# undef CAIROMM_DLL\n# define CAIROMM_STATIC_LIB 1")
endif()
set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/cairomm-1.16/include/cairommconfig.h")
if(EXISTS "${_file}")
vcpkg_replace_string("${_file}" "# define CAIROMM_DLL 1" "# undef CAIROMM_DLL\n# define CAIROMM_STATIC_LIB 1")
endif()
endif()

View File

@ -0,0 +1,12 @@
diff --git a/cairomm/surface.h b/cairomm/surface.h
index c923e6086..8cfaa76a3 100644
--- a/cairomm/surface.h
+++ b/cairomm/surface.h
@@ -49,6 +49,7 @@
#include <cairo-glitz.h>
#endif // CAIRO_HAS_GLITZ_SURFACE
+#undef WIN32
namespace Cairo
{

View File

@ -1,78 +1,10 @@
{
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
"name": "cairomm",
"version-string": "1.15.3",
"port-version": 6,
"description": "A C++ wrapper for the cairo graphics library.",
"homepage": "https://cairographics.org",
"version": "1.16.0",
"description": "A C++ wrapper for the cairo graphics library",
"homepage": "https://www.cairographics.org",
"dependencies": [
"cairo",
"libsigcpp"
],
"default-features": [
"fontconfig",
"freetype"
],
"features": {
"fontconfig": {
"description": "build with fontconfig",
"dependencies": [
{
"name": "cairo",
"default-features": false,
"features": [
"fontconfig"
]
}
]
},
"freetype": {
"description": "use the freetype font backend",
"dependencies": [
{
"name": "cairo",
"default-features": false,
"features": [
"freetype"
]
}
]
},
"gobject": {
"description": "build gobject module",
"dependencies": [
{
"name": "cairo",
"default-features": false,
"features": [
"gobject"
]
}
]
},
"quartz": {
"description": "build with quartz support",
"dependencies": [
{
"name": "cairo",
"default-features": false,
"features": [
"quartz"
]
}
]
},
"x11": {
"description": "build with x11 support",
"dependencies": [
{
"name": "cairo",
"default-features": false,
"features": [
"x11"
]
}
]
}
}
]
}

View File

@ -1,5 +0,0 @@
Source: cartographer
Version: 1.0.0-3
Build-Depends: ceres[suitesparse], gflags, glog, lua, cairo, boost-iostreams, gtest, protobuf
Homepage: https://github.com/googlecartographer/cartographer
Description: Google 2D & 3D SLAM package

View File

@ -28,9 +28,9 @@ index 2e3a686..f36f15a 100644
-PKG_SEARCH_MODULE(CAIRO REQUIRED cairo>=1.12.16)
+#include(FindPkgConfig)
+#PKG_SEARCH_MODULE(CAIRO REQUIRED cairo>=1.12.16)
+if(CMAKE_BUILD_TYPE STREQUAL Debug)
+ set(CAIRO_LIB_SUFFIX d)
+endif()
+#if(CMAKE_BUILD_TYPE STREQUAL Debug)
+# set(CAIRO_LIB_SUFFIX d)
+#endif()
+find_library(CAIRO_LIBRARY cairo${CAIRO_LIB_SUFFIX})
# Only build the documentation if we can find Sphinx.
@ -88,7 +88,7 @@ index 2e3a686..f36f15a 100644
-target_link_libraries(${PROJECT_NAME} PUBLIC gflags)
+#target_link_libraries(${PROJECT_NAME} PUBLIC glog)
+#target_link_libraries(${PROJECT_NAME} PUBLIC gflags)
+target_link_libraries(${PROJECT_NAME} PUBLIC ${CAIRO_LIBRARY})
+#target_link_libraries(${PROJECT_NAME} PUBLIC ${CAIRO_LIBRARY})
target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC
"${CAIRO_INCLUDE_DIRS}")

View File

@ -0,0 +1,22 @@
{
"name": "cartographer",
"version": "1.0.0",
"port-version": 4,
"description": "Google 2D & 3D SLAM package",
"homepage": "https://github.com/googlecartographer/cartographer",
"dependencies": [
"boost-iostreams",
"cairo",
{
"name": "ceres",
"features": [
"suitesparse"
]
},
"gflags",
"glog",
"gtest",
"lua",
"protobuf"
]
}

View File

@ -1,144 +0,0 @@
cmake_minimum_required(VERSION 3.0)
project(gdk-pixbuf C)
set(GDK_PIXBUF_LIB_SUFFIX 2.0)
set(GDK_PIXBUF_DLL_SUFFIX 2)
set(GDK_PIXBUF_BINARY_VERSION 2.10.0)
set(GLIB_LIB_VERSION 2.0)
find_package(ZLIB REQUIRED)
find_package(PNG REQUIRED)
find_package(unofficial-glib CONFIG REQUIRED)
find_path(GLIB_INCLUDE_DIR glib.h)
find_package(Intl REQUIRED)
find_path(LIBINTL_INCLUDE_DIR libintl.h)
if(WIN32)
configure_file(${CMAKE_SOURCE_DIR}/config.h.win32 ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
else()
configure_file(${CMAKE_SOURCE_DIR}/config.h.linux ${CMAKE_SOURCE_DIR}/config.h COPYONLY)
endif()
include_directories(. ./gdk-pixbuf)
set(SOURCES
gdk-pixbuf/gdk-pixbuf.c
gdk-pixbuf/gdk-pixbuf-animation.c
gdk-pixbuf/gdk-pixbuf-data.c
gdk-pixbuf/gdk-pixbuf-io.c
gdk-pixbuf/gdk-pixbuf-loader.c
gdk-pixbuf/gdk-pixbuf-scale.c
gdk-pixbuf/gdk-pixbuf-simple-anim.c
gdk-pixbuf/gdk-pixbuf-scaled-anim.c
gdk-pixbuf/gdk-pixbuf-util.c
gdk-pixbuf/gdk-pixdata.c
gdk-pixbuf/gdk-pixbuf-enum-types.c
gdk-pixbuf/gdk-pixbuf-marshal.c
gdk-pixbuf/io-ani.c
gdk-pixbuf/io-ani-animation.c
gdk-pixbuf/io-icns.c
gdk-pixbuf/io-pnm.c
gdk-pixbuf/io-png.c
gdk-pixbuf/io-qtif.c
gdk-pixbuf/io-tga.c
gdk-pixbuf/gdk-pixbuf-buffer-queue.c
gdk-pixbuf/io-xpm.c
gdk-pixbuf/io-xbm.c
gdk-pixbuf/pixops/pixops.c
)
if(WIN32)
list(APPEND SOURCES
gdk-pixbuf/io-gdip-animation.c
gdk-pixbuf/io-gdip-bmp.c
gdk-pixbuf/io-gdip-emf.c
gdk-pixbuf/io-gdip-gif.c
gdk-pixbuf/io-gdip-ico.c
gdk-pixbuf/io-gdip-jpeg.c
gdk-pixbuf/io-gdip-tiff.c
gdk-pixbuf/io-gdip-utils.c
gdk-pixbuf/io-gdip-wmf.c
)
endif()
add_library(gdk-pixbuf ${SOURCES})
target_include_directories(gdk-pixbuf PRIVATE
${GLIB_INCLUDE_DIR}
${PNG_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIRS}
${Intl_INCLUDE_DIR})
set(LIBS
unofficial::glib::gio unofficial::glib::glib unofficial::glib::gmodule unofficial::glib::gobject ${Intl_LIBRARIES}
${ZLIB_LIBRARIES}
${PNG_LIBRARIES}
)
if(WIN32)
list(APPEND LIBS Gdiplus ole32)
else()
list(APPEND LIBS m)
endif()
target_link_libraries(gdk-pixbuf ${LIBS})
set(DEFS
HAVE_CONFIG_H
GDK_PIXBUF_COMPILATION
GDK_PIXBUF_ENABLE_BACKEND
DLL_EXPORT
GDK_PIXBUF_RELOCATABLE
GDK_PIXBUF_PREFIX="/dummy"
GDK_PIXBUF_BINARY_VERSION="${GDK_PIXBUF_BINARY_VERSION}"
INCLUDE_ani
INCLUDE_tga
INCLUDE_xbm
INCLUDE_png
INCLUDE_qtif
INCLUDE_pnm
INCLUDE_icns
INCLUDE_xpm
G_DISABLE_SINGLE_INCLUDES
GDK_PIXBUF_DISABLE_SINGLE_INCLUDES)
if(WIN32)
list(APPEND DEFS INCLUDE_gdiplus)
endif()
target_compile_definitions(gdk-pixbuf PRIVATE ${DEFS})
set_target_properties(gdk-pixbuf PROPERTIES
OUTPUT_NAME gdk_pixbuf-${GDK_PIXBUF_DLL_SUFFIX}
ARCHIVE_OUTPUT_NAME gdk_pixbuf-${GDK_PIXBUF_LIB_SUFFIX})
install(TARGETS gdk-pixbuf
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib)
macro(gdk_add_tool TOOL_NAME)
add_executable(${TOOL_NAME} ${ARGN})
target_include_directories(${TOOL_NAME} PRIVATE ${GLIB_INCLUDE_DIR})
target_link_libraries(${TOOL_NAME} gdk-pixbuf ${GLIB_LIBRARIES})
install(TARGETS ${TOOL_NAME} RUNTIME DESTINATION tools/gdk-pixbuf)
endmacro()
if(NOT GDK_SKIP_TOOLS)
gdk_add_tool(gdk-pixbuf-csource gdk-pixbuf/gdk-pixbuf-csource.c)
gdk_add_tool(gdk-pixbuf-pixdata gdk-pixbuf/gdk-pixbuf-pixdata.c)
endif()
if(NOT GDK_SKIP_HEADERS)
INSTALL(FILES
gdk-pixbuf/gdk-pixbuf.h
gdk-pixbuf/gdk-pixbuf-autocleanups.h
gdk-pixbuf/gdk-pixbuf-core.h
gdk-pixbuf/gdk-pixbuf-transform.h
gdk-pixbuf/gdk-pixbuf-io.h
gdk-pixbuf/gdk-pixbuf-animation.h
gdk-pixbuf/gdk-pixbuf-simple-anim.h
gdk-pixbuf/gdk-pixbuf-loader.h
gdk-pixbuf/gdk-pixbuf-enum-types.h
gdk-pixbuf/gdk-pixbuf-marshal.h
gdk-pixbuf/gdk-pixbuf-features.h
gdk-pixbuf/gdk-pixdata.h
gdk-pixbuf/gdk-pixbuf-macros.h
DESTINATION include/gdk-pixbuf)
endif()

View File

@ -1,6 +0,0 @@
Source: gdk-pixbuf
Version: 2.36.9-5
Port-Version: 7
Homepage: https://developer.gnome.org/gdk-pixbuf/
Description: Image loading library.
Build-Depends: gettext, zlib, libpng, glib

View File

@ -1,158 +0,0 @@
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#define ENABLE_NLS 1
/* Define to 1 to replace the build-time prefix in modules */
/* #undef GDK_PIXBUF_RELOCATABLE */
/* Define if gio can sniff image data */
#define GDK_PIXBUF_USE_GIO_MIME 1
/* The prefix for our gettext translation domains. */
#define GETTEXT_PACKAGE "gdk-pixbuf"
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#define HAVE_BIND_TEXTDOMAIN_CODESET 1
/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
CoreFoundation framework. */
/* #undef HAVE_CFLOCALECOPYCURRENT */
/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
the CoreFoundation framework. */
/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */
/* Define if the GNU dcgettext() function is already present or preinstalled.
*/
#define HAVE_DCGETTEXT 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define if the GNU gettext() function is already present or preinstalled. */
#define HAVE_GETTEXT 1
/* Define if you have the iconv() function and it works. */
/* #undef HAVE_ICONV */
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if libm has lrint */
#define HAVE_LRINT 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 is libjpeg supports progressive JPEG */
#define HAVE_PROGRESSIVE_JPEG 1
/* Define to 1 if libm has round */
#define HAVE_ROUND 1
/* Define to 1 if you have the `setrlimit' function. */
#define HAVE_SETRLIMIT 1
/* Define to 1 if sigsetjmp is available */
#define HAVE_SIGSETJMP 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/resource.h> header file. */
#define HAVE_SYS_RESOURCE_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if sys/sysinfo.h is available */
#define HAVE_SYS_SYSINFO_H 1
/* Define to 1 if sys/systeminfo.h is available */
/* #undef HAVE_SYS_SYSTEMINFO_H */
/* Define to 1 if you have the <sys/time.h> header file. */
#define HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#define LT_OBJDIR ".libs/"
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
/* #undef NO_MINUS_C_MINUS_O */
/* Define to 1 if it's a darwin platform */
/* #undef OS_DARWIN */
/* Define to 1 if it's a Linux platform */
#define OS_LINUX 1
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=gdk-pixbuf"
/* Define to the full name of this package. */
#define PACKAGE_NAME "gdk-pixbuf"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "gdk-pixbuf 2.36.9"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gdk-pixbuf"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION "2.36.9"
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if gmodule works and should be used */
#define USE_GMODULE 1
/* Whether to load modules via .la files rather than directly */
/* #undef USE_LA_MODULES */
/* Define to 1 if medialib is available and should be used */
/* #undef USE_MEDIALIB */
/* Define to 1 if medialib 2.5 is available */
/* #undef USE_MEDIALIB25 */
/* Define to 1 if MMX is available and should be used */
/* #undef USE_MMX */
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* defines how to decorate public symbols while building */
#define _GDK_PIXBUF_EXTERN __attribute__((visibility("default"))) extern
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */

View File

@ -0,0 +1,67 @@
diff --git a/build-aux/post-install.bat b/build-aux/post-install.bat
index 6994d49e1..b4789dd62 100644
--- a/build-aux/post-install.bat
+++ b/build-aux/post-install.bat
@@ -7,8 +7,8 @@ set binary_version=%3
set libdir_windows=%libdir:/=\%
if not "%DESTDIR%" == "" goto warn_msg
-if not exist %libdir_windows%\gdk-pixbuf-2.0\%binary_version%\ mkdir %libdir_windows%\gdk-pixbuf-2.0\%binary_version%
-%bindir%\gdk-pixbuf-query-loaders > %libdir_windows%\gdk-pixbuf-2.0\%binary_version%\loaders.cache
+if not exist %libdir_windows%\..\gdk-pixbuf-2.0\%binary_version%\ mkdir %libdir_windows%\..\gdk-pixbuf-2.0\%binary_version%
+%bindir%\gdk-pixbuf-query-loaders > %libdir_windows%\..\gdk-pixbuf-2.0\%binary_version%\loaders.cache
goto end
@@ -18,7 +18,7 @@ echo *** Warning: loaders.cache not built
echo ***
echo *** You should generate this file manually on the host system
echo *** using:
-echo *** gdk-pixbuf-query-loaders ^> %libdir_windows%\gdk-pixbuf-2.0\%binary_version%\loaders.cache
+echo *** gdk-pixbuf-query-loaders ^> %libdir_windows%\..\gdk-pixbuf-2.0\%binary_version%\loaders.cache
echo ***
:end
diff --git a/build-aux/post-install.sh b/build-aux/post-install.sh
index 661bceeef..0b1a46527 100644
--- a/build-aux/post-install.sh
+++ b/build-aux/post-install.sh
@@ -5,14 +5,14 @@ libdir="$2"
binary_version="$3"
if [ -z "$DESTDIR" ]; then
- mkdir -p "$libdir/gdk-pixbuf-2.0/$binary_version"
- $bindir/gdk-pixbuf-query-loaders > "$libdir/gdk-pixbuf-2.0/$binary_version/loaders.cache"
+ mkdir -p "$libdir/../gdk-pixbuf-2.0/$binary_version"
+ $bindir/gdk-pixbuf-query-loaders > "$libdir/../gdk-pixbuf-2.0/$binary_version/loaders.cache"
else
echo "***"
echo "*** Warning: loaders.cache not built"
echo "***"
echo "*** You should generate this file manually on the host system"
echo "*** using:"
- echo "*** gdk-pixbuf-query-loaders > $libdir/gdk-pixbuf-2.0/$binary_version/loaders.cache"
+ echo "*** gdk-pixbuf-query-loaders > $libdir/../gdk-pixbuf-2.0/$binary_version/loaders.cache"
echo "***"
fi
diff --git a/meson.build b/meson.build
index c38607029..4b5df91ae 100644
--- a/meson.build
+++ b/meson.build
@@ -308,12 +310,12 @@ endif
# Don't check and build the jpeg loader if native_windows_loaders is true
if get_option('jpeg') and not native_windows_loaders
if cc.has_header('jpeglib.h')
- jpeg_dep = cc.find_library('jpeg', required: false)
- if cc.get_id() == 'msvc' and not jpeg_dep.found()
+ jpeg_dep = dependency('libjpeg', required: false)
+ #if cc.get_id() == 'msvc' and not jpeg_dep.found()
# The IJG JPEG library builds the .lib file as libjpeg.lib in its MSVC build system,
# so look for it as well when jpeg.lib cannot be found
- jpeg_dep = cc.find_library('libjpeg', required: false)
- endif
+ # jpeg_dep = cc.find_library('libjpeg', required: false)
+ #endif
if jpeg_dep.found() and cc.has_function('jpeg_destroy_decompress', dependencies: jpeg_dep)
enabled_loaders += 'jpeg'
loaders_deps += jpeg_dep

View File

@ -1,32 +1,69 @@
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
set(GDK_PIXBUF_VERSION 2.36)
set(GDK_PIXBUF_PATCH 9)
set(GDK_PIXBUF_VERSION 2.42)
set(GDK_PIXBUF_PATCH 2)
vcpkg_download_distfile(ARCHIVE
URLS "https://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/${GDK_PIXBUF_VERSION}/gdk-pixbuf-${GDK_PIXBUF_VERSION}.${GDK_PIXBUF_PATCH}.tar.xz"
FILENAME "gdk-pixbuf-${GDK_PIXBUF_VERSION}.${GDK_PIXBUF_PATCH}.tar.xz"
SHA512 ab8f2cda4490012936b094a1321e64b85e1fa1f8d070fae135a514f87f695201b845f4192e4a02954e2767d44314c0a95d727118853528182952d15890130261
SHA512 f341d032ea410efed7a35f8ca6a7389bf988f663dae16e774d114d6f11611e9e182c835e90d752b71c258c905cc5c4c785ea697feed5e6921a2a676c9deaa5f2
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES fix_build.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
configure_file(${CMAKE_CURRENT_LIST_DIR}/config.h.linux ${SOURCE_PATH}/config.h.linux)
vcpkg_configure_cmake(
if(VCPKG_TARGET_IS_WINDOWS)
#list(APPEND OPTIONS -Dnative_windows_loaders=true) # Use Windows system components to handle BMP, EMF, GIF, ICO, JPEG, TIFF and WMF images, overriding jpeg and tiff. To build this into gdk-pixbuf, pass in windows" with the other loaders to build in or use "all" with the builtin_loaders option
endif()
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS_DEBUG
-DGDK_SKIP_HEADERS=ON
-DGDK_SKIP_TOOLS=ON)
OPTIONS
-Dman=false # Whether to generate man pages (requires xlstproc)
-Dgtk_doc=false # Whether to generate the API reference (requires GTK-Doc)
-Ddocs=false
-Dpng=true # Enable PNG loader (requires libpng)
-Dtiff=true # Enable TIFF loader (requires libtiff), disabled on Windows if "native_windows_loaders" is used
-Djpeg=true # Enable JPEG loader (requires libjpeg), disabled on Windows if "native_windows_loaders" is used
-Dintrospection=disabled # Whether to generate the API introspection data (requires GObject-Introspection)
-Drelocatable=true # Whether to enable application bundle relocation support
-Dinstalled_tests=false
-Dgio_sniffing=false # Perform file type detection using GIO (Unused on MacOS and Windows)
-Dbuiltin_loaders=all # since it is unclear where loadable plugins should be located;
# Comma-separated list of loaders to build into gdk-pixbuf, or "none", or "all" to build all buildable loaders into gdk-pixbuf
ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
)
vcpkg_install_meson(ADD_BIN_TO_PATH)
# Fix paths in pc file.
set(_file "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gdk-pixbuf-2.0.pc")
if(EXISTS "${_file}")
file(READ "${_file}" _contents)
string(REPLACE [[${bindir}]] "\${bindir}/../../tools/${PORT}" _contents "${_contents}")
string(REPLACE [[gdk_pixbuf_binarydir=${libdir}/gdk-pixbuf-2.0/2.10.0]] "gdk_pixbuf_binarydir=\${libdir}/../gdk-pixbuf-2.0/2.10.0" _contents "${_contents}")
file(WRITE "${_file}" "${_contents}")
endif()
set(_file "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gdk-pixbuf-2.0.pc")
if(EXISTS "${_file}")
file(READ "${_file}" _contents)
string(REPLACE [[${bindir}]] "\${bindir}/../tools/${PORT}" _contents "${_contents}")
string(REPLACE [[gdk_pixbuf_binarydir=${libdir}/gdk-pixbuf-2.0/2.10.0]] "gdk_pixbuf_binarydir=\${libdir}/../gdk-pixbuf-2.0/2.10.0" _contents "${_contents}")
file(WRITE "${_file}" "${_contents}")
endif()
vcpkg_fixup_pkgconfig()
set(TOOL_NAMES gdk-pixbuf-csource gdk-pixbuf-pixdata gdk-pixbuf-query-loaders gdk-pixbuf-thumbnailer)
if(VCPKG_TARGET_ARCHITECTURE MATCHES "arm" AND VCPKG_TARGET_IS_WINDOWS)
list(REMOVE_ITEM TOOL_NAMES gdk-pixbuf-thumbnailer)
endif()
vcpkg_install_cmake()
vcpkg_copy_pdbs()
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/gdk-pixbuf)
vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN)
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gdk-pixbuf)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/gdk-pixbuf/COPYING ${CURRENT_PACKAGES_DIR}/share/gdk-pixbuf/copyright)
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")

View File

@ -0,0 +1,17 @@
{
"name": "gdk-pixbuf",
"version": "2.42.2",
"description": "Image loading library.",
"homepage": "https://developer.gnome.org/gdk-pixbuf/",
"dependencies": [
"gettext",
"glib",
{
"name": "glib",
"host": true
},
"libpng",
"tiff",
"zlib"
]
}

View File

@ -1,393 +0,0 @@
cmake_minimum_required(VERSION 3.0)
project(glib C)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_C_STANDARD 11)
if(MSVC)
add_compile_options(/utf-8)
endif()
set(GLIB_DLL_SUFFIX 2.0)
set(GLIB_LIB_SUFFIX 2.0)
if(CMAKE_BUILD_TYPE STREQUAL Debug)
add_definitions(-DG_ENABLE_DEBUG)
endif()
if(BUILD_SHARED_LIBS)
add_definitions(-DDLL_EXPORT)
endif()
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
# find dependencies
# zlib
find_package(ZLIB REQUIRED)
# pcre
find_path(PCRE_INCLUDE_DIR pcre.h)
if(CMAKE_BUILD_TYPE STREQUAL Debug)
set(PCRE_SUFFIX d)
endif()
find_library(PCRE_LIBRARY NAMES pcre${PCRE_SUFFIX} pcre)
# libiconv
find_package(Iconv REQUIRED)
# libffi
find_path(FFI_INCLUDE_DIR ffi.h)
find_library(FFI_LIBRARY NAMES ffi libffi)
get_filename_component(LIB_DIR "${FFI_LIBRARY}" DIRECTORY)
if(APPLE)
find_library(COREFOUNDATION_LIBRARY CoreFoundation)
find_library(FOUNDATION_LIBRARY Foundation)
find_library(CORESERVICES_LIBRARY CoreServices)
link_libraries(${CORESERVICES_LIBRARY} ${COREFOUNDATION_LIBRARY} ${FOUNDATION_LIBRARY})
endif()
if(WIN32 OR APPLE)
# libintl(gettext)
find_package(Intl REQUIRED)
endif()
if(WIN32)
set(LIBRESOLV_LIBRARY)
else()
find_library(LIBRESOLV_LIBRARY NAMES resolv libresolv)
endif()
#prepare config files
if(WIN32)
configure_file(config.h.win32 ${CMAKE_BINARY_DIR}/config/config.h COPYONLY)
configure_file(glib/glibconfig.h.win32 ${CMAKE_BINARY_DIR}/config/glib/glibconfig.h COPYONLY)
configure_file(gmodule/gmoduleconf.h.win32 ${CMAKE_BINARY_DIR}/config/gmodule/gmoduleconf.h COPYONLY)
configure_file(gio/gnetworking.h.win32 ${CMAKE_BINARY_DIR}/config/gio/gnetworking.h COPYONLY)
add_definitions(-DHAVE_CONFIG_H)
else()
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/config)
set(ENV{LIBFFI_LIBS} "${FFI_LIBRARY}")
set(ENV{PCRE_LIBS} "${PCRE_LIBRARY}")
set(ENV{LIBFFI_CFLAGS} "-I${FFI_INCLUDE_DIR}")
set(ENV{PCRE_CFLAGS} "-I${PCRE_INCLUDE_DIR}")
set(ENV{MSGFMT} "/bin/echo")
set(ENV{GMSGFMT} "/bin/echo")
string(TOUPPER "${CMAKE_BUILD_TYPE}" UPPER_CONFIG)
set(CXXFLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_${UPPER_CONFIG}} -I${PCRE_INCLUDE_DIR}")
set(CFLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${UPPER_CONFIG}} -I${PCRE_INCLUDE_DIR}")
if(BUILD_SHARED_LIBS)
set(LDFLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CMAKE_SHARED_LINKER_FLAGS_${UPPER_CONFIG}} -L${LIB_DIR}")
else()
set(LDFLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_STATIC_LINKER_FLAGS_${UPPER_CONFIG}} -L${LIB_DIR}")
endif()
string(STRIP "${CXXFLAGS}" CXXFLAGS)
string(STRIP "${CFLAGS}" CFLAGS)
string(STRIP "${LDFLAGS}" LDFLAGS)
execute_process(
COMMAND "${CMAKE_SOURCE_DIR}/configure"
--disable-libelf
--disable-libmount
"CPPFLAGS=${CXXFLAGS}"
"CFLAGS=${CFLAGS}"
"LDFLAGS=${LDFLAGS}"
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/config
RESULT_VARIABLE res
)
if(NOT res EQUAL 0)
message(FATAL_ERROR "Configure failed.")
endif()
if (NOT HAVE_SELINUX)
file(READ "${CMAKE_BINARY_DIR}/config/config.h" CONFIG_H)
string(REPLACE "#define HAVE_SELINUX 1"
"#undef HAVE_SELINUX" CONFIG_H "${CONFIG_H}")
file(WRITE "${CMAKE_BINARY_DIR}/config/config.h" "${CONFIG_H}")
endif()
add_definitions("-DGIO_MODULE_DIR=\"gio/modules\"")
endif()
install(FILES ${CMAKE_BINARY_DIR}/config/config.h DESTINATION include/glib)
install(FILES ${CMAKE_SOURCE_DIR}/msvc_recommended_pragmas.h DESTINATION include)
include_directories(${CMAKE_BINARY_DIR}/config ${CMAKE_BINARY_DIR}/config/glib ${CMAKE_BINARY_DIR}/config/gio ${CMAKE_BINARY_DIR}/config/gmodule)
include_directories(. glib)
# This macro purposely doesn't find nodes with sources that have additional properties set
# Most of such files in glib are PCRE sources which we don't use anyway
macro(extract_vcproj_sources VC_PROJECT OUT_VAR)
file(READ ${VC_PROJECT} ${VC_PROJECT}-CONTENTS)
STRING(REPLACE "\n" ";" ${VC_PROJECT}-CONTENTS "${${VC_PROJECT}-CONTENTS}") # split by lines
foreach(LINE ${${VC_PROJECT}-CONTENTS})
if(LINE MATCHES "<ClCompile Include=\\\".*\\\" />")
string(REPLACE "<ClCompile Include=\"..\\..\\..\\" "" LINE ${LINE})
string(REPLACE "\" />" "" LINE ${LINE})
string(STRIP ${LINE} LINE)
file(TO_CMAKE_PATH ${LINE} LINE)
list(APPEND ${OUT_VAR} ${LINE})
endif()
endforeach()
endmacro()
# main module
extract_vcproj_sources(win32/vs14/glib.vcxproj GLIB_SOURCES)
list(APPEND GLIB_SOURCES glib/libcharset/localcharset.c) # modified internal version with prefixed symbols
if(NOT WIN32)
list(FILTER GLIB_SOURCES EXCLUDE REGEX "win32.c\$|win32-helper.c\$")
list(APPEND GLIB_SOURCES "glib/gthread-posix.c" "glib/giounix.c" "glib/gspawn.c" "glib/glib-unix.c")
endif()
add_library(glib ${GLIB_SOURCES})
target_compile_definitions(glib PRIVATE GLIB_COMPILATION G_LOG_DOMAIN="GLib" LIBDIR="")
target_link_libraries(glib PRIVATE ${PCRE_LIBRARY} Iconv::Iconv ${Intl_LIBRARIES})
if(WIN32)
target_compile_definitions(glib PRIVATE USE_SYSTEM_PCRE)
target_link_libraries(glib PRIVATE ws2_32 winmm advapi32 ole32 shell32)
else()
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
target_link_libraries(glib PRIVATE Threads::Threads ${CMAKE_DL_LIBS})
endif()
target_include_directories(glib PRIVATE ${PCRE_INCLUDE_DIR} ${ICONV_INCLUDE_DIR})
target_include_directories(glib PUBLIC $<BUILD_INTERFACE:${Intl_INCLUDE_DIRS}> $<INSTALL_INTERFACE:include>)
list(APPEND GLIB_TARGETS glib)
if(NOT GLIB_SKIP_HEADERS)
install(FILES glib/glib.h glib/glib-object.h ${CMAKE_BINARY_DIR}/config/glib/glibconfig.h DESTINATION include)
file(GLOB GLIB_HEADERS glib/*.h)
list(FILTER GLIB_HEADERS EXCLUDE REGEX "/glib.h\$|/glib-object.h\$|private.h\$")
install(FILES ${GLIB_HEADERS} DESTINATION include/glib)
file(GLOB GLIB_DEP_HEADERS glib/deprecated/*.h)
install(FILES ${GLIB_DEP_HEADERS} DESTINATION include/glib/deprecated)
endif()
# gthread
add_library(gthread gthread/gthread-impl.c)
target_compile_definitions(gthread PRIVATE G_LOG_DOMAIN="GThread")
target_link_libraries(gthread PRIVATE glib ${Intl_LIBRARIES})
target_include_directories(gthread PRIVATE ${Intl_INCLUDE_DIRS})
list(APPEND GLIB_TARGETS gthread)
# gobject
extract_vcproj_sources(win32/vs14/gobject.vcxproj GOBJECT_SOURCES)
add_library(gobject ${GOBJECT_SOURCES})
target_compile_definitions(gobject PRIVATE GOBJECT_COMPILATION G_LOG_DOMAIN="GLib-GObject")
target_link_libraries(gobject PRIVATE gthread glib ${FFI_LIBRARY})
target_include_directories(gobject PRIVATE ${FFI_INCLUDE_DIR} PUBLIC $<INSTALL_INTERFACE:include>)
list(APPEND GLIB_TARGETS gobject)
if(NOT GLIB_SKIP_HEADERS)
file(GLOB GOBJECT_HEADERS gobject/*.h gobject/gobjectnotifyqueue.c)
list(FILTER GOBJECT_HEADERS EXCLUDE REGEX "private.h\$")
install(FILES ${GOBJECT_HEADERS} DESTINATION include/gobject)
endif()
# gmodule
add_library(gmodule gmodule/gmodule.c)
target_compile_definitions(gmodule PRIVATE G_LOG_DOMAIN="GModule")
target_link_libraries(gmodule PRIVATE glib ${CMAKE_DL_LIBS} ${Intl_LIBRARIES})
target_include_directories(gmodule PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/gmodule>)
target_include_directories(gmodule PRIVATE ${Intl_INCLUDE_DIRS} PUBLIC $<INSTALL_INTERFACE:include>)
list(APPEND GLIB_TARGETS gmodule)
if(NOT GLIB_SKIP_HEADERS)
install(FILES gmodule/gmodule.h DESTINATION include)
endif()
# gio subdirs
if(NOT WIN32)
file(GLOB XDGMIME_SOURCES gio/xdgmime/*.c)
add_library(xdgmime ${XDGMIME_SOURCES})
target_compile_definitions(xdgmime PRIVATE -DXDG_PREFIX=_gio_xdg)
list(APPEND GLIB_TARGETS xdgmime)
endif()
if(NOT WIN32 AND NOT APPLE)
file(GLOB INOTIFY_SOURCES gio/inotify/*.c)
add_library(inotify ${INOTIFY_SOURCES})
target_link_libraries(inotify PRIVATE gmodule)
target_compile_definitions(inotify PRIVATE -DG_LOG_DOMAIN=\"GLib-GIO\" -DGIO_COMPILATION -DG_DISABLE_DEPRECATED)
list(APPEND GLIB_TARGETS inotify)
endif()
if(APPLE)
file(GLOB KQUEUE_SOURCES gio/kqueue/*.c)
add_library(kqueue ${KQUEUE_SOURCES})
target_link_libraries(kqueue PRIVATE gmodule)
target_compile_definitions(kqueue PRIVATE -DG_LOG_DOMAIN=\"GLib-GIO\" -DGIO_COMPILATION -DG_DISABLE_DEPRECATED)
list(APPEND GLIB_TARGETS kqueue)
endif()
# gio
extract_vcproj_sources(win32/vs14/gio.vcxproj GIO_SOURCES)
if(NOT WIN32)
file(GLOB GIO_UNIX_SOURCES "gio/gunix*.c" "gio/g*notificationbackend.c" "gio/g*portal*.c")
list(APPEND GIO_SOURCES ${GIO_UNIX_SOURCES})
list(APPEND GIO_SOURCES
"gio/gcontenttype.c"
"gio/gfiledescriptorbased.c"
"gio/gnetworkmonitornm.c"
"gio/xdp-dbus.c"
)
list(FILTER GIO_SOURCES EXCLUDE REGEX "/gwin32[^/]+\$|win32/[^/]+\$|win32.c\$|gregistrysettingsbackend.c\$")
if(APPLE)
set_property(SOURCE
gio/gcocoanotificationbackend.c
gio/gosxappinfo.c
gio/gnextstepsettingsbackend.c
PROPERTY COMPILE_FLAGS "-x objective-c")
list(APPEND GIO_SOURCES
"gio/gnextstepsettingsbackend.c"
"gio/gosxappinfo.c"
)
else()
list(APPEND GIO_SOURCES
"gio/gnetworkmonitornetlink.c"
"gio/gdesktopappinfo.c"
)
list(FILTER GIO_SOURCES EXCLUDE REGEX "gcocoanotificationbackend.c\$")
endif()
endif()
if(NOT GLIB_SKIP_HEADERS)
file(GLOB GIO_HEADERS gio/*.h)
list(FILTER GIO_HEADERS EXCLUDE REGEX "private.h\$")
install(FILES ${GIO_HEADERS} ${CMAKE_BINARY_DIR}/config/gio/gnetworking.h DESTINATION include/gio)
endif()
add_library(gio ${GIO_SOURCES})
target_compile_definitions(gio PRIVATE GIO_COMPILATION G_LOG_DOMAIN="GLib-GIO")
target_link_libraries(gio PRIVATE glib gmodule gobject ZLIB::ZLIB ${LIBRESOLV_LIBRARY} ${Intl_LIBRARIES})
target_include_directories(gio PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/gio> $<INSTALL_INTERFACE:include/gio>)
if(WIN32)
target_link_libraries(gio PRIVATE ws2_32 shlwapi dnsapi iphlpapi advapi32 shell32)
elseif(APPLE)
target_link_libraries(gio PRIVATE xdgmime kqueue)
if (HAVE_SELINUX)
target_link_libraries(gio PRIVATE selinux)
endif()
else()
target_link_libraries(gio PRIVATE xdgmime inotify)
if (HAVE_SELINUX)
target_link_libraries(gio PRIVATE selinux)
endif()
endif()
list(APPEND GLIB_TARGETS gio)
foreach(GTARGET ${GLIB_TARGETS})
set_target_properties(${GTARGET} PROPERTIES
OUTPUT_NAME ${GTARGET}-${GLIB_DLL_SUFFIX}
ARCHIVE_OUTPUT_NAME ${GTARGET}-${GLIB_LIB_SUFFIX})
endforeach()
macro(add_glib_tool TOOL_NAME)
add_executable(${TOOL_NAME} ${ARGN})
if(WIN32)
target_link_libraries(${TOOL_NAME} glib ${Intl_LIBRARIES} shell32)
else()
target_link_libraries(${TOOL_NAME} glib ${Intl_LIBRARIES})
endif()
target_compile_definitions(${TOOL_NAME} PRIVATE GLIB_COMPILATION)
list(APPEND GLIB_TOOLS ${TOOL_NAME})
endmacro()
macro(add_gio_tool TOOL_NAME)
add_executable(${TOOL_NAME} ${ARGN})
target_link_libraries(${TOOL_NAME} PRIVATE glib gio gobject gmodule ${Intl_LIBRARIES})
target_include_directories(${TOOL_NAME} PRIVATE gmodule gio)
target_compile_definitions(${TOOL_NAME} PRIVATE GIO_COMPILATION)
list(APPEND GLIB_TOOLS ${TOOL_NAME})
endmacro()
if(NOT GLIB_SKIP_TOOLS)
configure_file(gobject/glib-mkenums.in ${CMAKE_SOURCE_DIR}/gobject/glib-mkenums @ONLY) # uses GLIB_VERSION
install(FILES gobject/glib-mkenums DESTINATION tools/glib)
configure_file(gio/gdbus-2.0/codegen/gdbus-codegen.in ${CMAKE_SOURCE_DIR}/gio/gdbus-2.0/codegen/gdbus-codegen COPYONLY)
install(FILES gio/gdbus-2.0/codegen/gdbus-codegen DESTINATION tools/glib)
file(GLOB CODEGEN_SOURCES gio/gdbus-2.0/codegen/*.py)
install(FILES ${CODEGEN_SOURCES} DESTINATION tools/glib/codegen)
add_gio_tool(gdbus gio/gdbus-tool.c)
add_gio_tool(gio-querymodules gio/gio-querymodules.c)
file(GLOB GIO_TOOL_SOURCES gio/gio-tool*.c)
add_gio_tool(gio-tool ${GIO_TOOL_SOURCES})
set_target_properties(gio-tool PROPERTIES OUTPUT_NAME gio)
add_gio_tool(glib-compile-resources gio/glib-compile-resources.c gio/gvdb/gvdb-builder.c)
add_gio_tool(glib-compile-schemas gio/glib-compile-schemas.c gio/gvdb/gvdb-builder.c)
add_gio_tool(gresource gio/gresource-tool.c)
add_gio_tool(gsettings gio/gsettings-tool.c)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(WIN win32)
else()
set(WIN win64)
endif()
add_glib_tool(glib-genmarshal gobject/glib-genmarshal.c)
if(WIN32)
add_glib_tool(gspawn-${WIN}-helper WIN32 glib/gspawn-win32-helper.c)
add_glib_tool(gspawn-${WIN}-helper-console glib/gspawn-win32-helper-console.c)
endif()
install(TARGETS ${GLIB_TOOLS} RUNTIME DESTINATION tools/glib)
endif()
install(
TARGETS ${GLIB_TARGETS}
EXPORT glib
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
)
install(
EXPORT glib
NAMESPACE unofficial::glib::
FILE unofficial-glib-targets.cmake
DESTINATION share/unofficial-glib
)
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/cmake/unofficial-glib-config.in.cmake
${CMAKE_CURRENT_BINARY_DIR}/cmake/unofficial-glib-config.cmake
@ONLY
)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/cmake/unofficial-glib-config.cmake
DESTINATION share/unofficial-glib
)
message(STATUS "Link-time dependencies:")
message(STATUS " " ${ZLIB_LIBRARIES})
message(STATUS " " ${PCRE_LIBRARY})
message(STATUS " " ${ICONV_LIBRARY})
message(STATUS " " ${CHARSET_LIBRARY})
message(STATUS " " ${FFI_LIBRARY})
message(STATUS " " ${Intl_LIBRARIES})
set(VERSION ${GLIB_VERSION})
set(prefix ${CMAKE_INSTALL_PREFIX})
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
set(includedir ${CMAKE_INSTALL_PREFIX}/include)
set(PCRE_REQUIRES libpcre)
set(LIBFFI_LIBS "-lffi")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/glib-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/glib-2.0.pc" @ONLY)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gobject-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gobject-2.0.pc" @ONLY)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gmodule-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gmodule-2.0.pc" @ONLY)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gmodule-export-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gmodule-export-2.0.pc" @ONLY)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gmodule-no-export-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gmodule-no-export-2.0.pc" @ONLY)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gthread-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gthread-2.0.pc" @ONLY)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gio-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gio-2.0.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glib-2.0.pc"
"${CMAKE_CURRENT_BINARY_DIR}/gobject-2.0.pc"
"${CMAKE_CURRENT_BINARY_DIR}/gmodule-2.0.pc"
"${CMAKE_CURRENT_BINARY_DIR}/gmodule-export-2.0.pc"
"${CMAKE_CURRENT_BINARY_DIR}/gmodule-no-export-2.0.pc"
"${CMAKE_CURRENT_BINARY_DIR}/gthread-2.0.pc"
"${CMAKE_CURRENT_BINARY_DIR}/gio-2.0.pc"
DESTINATION lib/pkgconfig)
if(WIN32)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gio-windows-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gio-windows-2.0.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gio-windows-2.0.pc" DESTINATION lib/pkgconfig)
endif()
if(UNIX)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gio-unix-2.0.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/gio-unix-2.0.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/gio-unix-2.0.pc" DESTINATION lib/pkgconfig)
endif()

View File

@ -1,10 +0,0 @@
Source: glib
Version: 2.52.3
Port-Version: 27
Homepage: https://developer.gnome.org/glib/
Description: Portable, general-purpose utility library.
Build-Depends: zlib, pcre, libffi, gettext, libiconv
Supports: !uwp
Feature: selinux
Description: Build with selinux support.

View File

@ -1,78 +0,0 @@
diff --git a/config.h.win32 b/config.h.win32
index 999641d65..531843e0e 100644
--- a/config.h.win32
+++ b/config.h.win32
@@ -728,7 +728,7 @@
/* The size of `void *', as computed by sizeof. */
#ifdef _MSC_VER
-#if (defined(_M_X64) || defined(_M_AMD64))
+#if (defined(_M_X64) || defined(_M_AMD64) || defined(_M_ARM64))
#define SIZEOF_VOID_P 8
#elif (defined(_M_IX86))
#define SIZEOF_VOID_P 4
diff --git a/config.h.win32.in b/config.h.win32.in
index eaf7e2818..049c5e9f4 100644
--- a/config.h.win32.in
+++ b/config.h.win32.in
@@ -728,7 +728,7 @@
/* The size of `void *', as computed by sizeof. */
#ifdef _MSC_VER
-#if (defined(_M_X64) || defined(_M_AMD64))
+#if (defined(_M_X64) || defined(_M_AMD64) || defined(_M_ARM64))
#define SIZEOF_VOID_P 8
#elif (defined(_M_IX86))
#define SIZEOF_VOID_P 4
diff --git a/gio/gdbusaddress.c b/gio/gdbusaddress.c
index 9b3619cb1..6400572a2 100644
--- a/gio/gdbusaddress.c
+++ b/gio/gdbusaddress.c
@@ -1469,7 +1469,7 @@ get_session_address_dbus_launch (GError **error)
wcscat (args, rundll_path);
wcscat (args, L"\" ");
wcscat (args, gio_path_short);
-#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64)
+#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64) || defined(_M_ARM64)
wcscat (args, L",g_win32_run_session_bus");
#elif defined (_MSC_VER)
wcscat (args, L",_g_win32_run_session_bus@16");
diff --git a/glib/gatomic.c b/glib/gatomic.c
index e3e49fab4..e257e4377 100644
--- a/glib/gatomic.c
+++ b/glib/gatomic.c
@@ -474,7 +474,7 @@ gsize
#elif defined (G_PLATFORM_WIN32)
#include <windows.h>
-#if !defined(_M_AMD64) && !defined (_M_IA64) && !defined(_M_X64) && !(defined _MSC_VER && _MSC_VER <= 1200)
+#if !defined(_M_ARM64) && !defined(_M_AMD64) && !defined (_M_IA64) && !defined(_M_X64) && !(defined _MSC_VER && _MSC_VER <= 1200)
#define InterlockedAnd _InterlockedAnd
#define InterlockedOr _InterlockedOr
#define InterlockedXor _InterlockedXor
diff --git a/glib/glibconfig.h.win32 b/glib/glibconfig.h.win32
index d9f893a15..b75a86f10 100644
--- a/glib/glibconfig.h.win32
+++ b/glib/glibconfig.h.win32
@@ -68,7 +68,7 @@ typedef unsigned __int64 guint64;
#define G_GINT64_FORMAT "I64i"
#define G_GUINT64_FORMAT "I64u"
-#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64)
+#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64) || defined(_M_ARM64)
#define GLIB_SIZEOF_VOID_P 8
#define GLIB_SIZEOF_LONG 4
diff --git a/glib/glibconfig.h.win32.in b/glib/glibconfig.h.win32.in
index 9a91c5e96..f0b88c976 100644
--- a/glib/glibconfig.h.win32.in
+++ b/glib/glibconfig.h.win32.in
@@ -68,7 +68,7 @@ typedef unsigned __int64 guint64;
#define G_GINT64_FORMAT "I64i"
#define G_GUINT64_FORMAT "I64u"
-#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64)
+#if defined(_WIN64) || defined(_M_X64) || defined(_M_AMD64) || defined(_M_ARM64)
#define GLIB_SIZEOF_VOID_P 8
#define GLIB_SIZEOF_LONG 4

View File

@ -1,255 +0,0 @@
# generated from glib-install.props
install(FILES glib/glib.h DESTINATION include)
install(FILES ${CMAKE_BINARY_DIR}/config/glib/glibconfig.h DESTINATION include)
install(FILES glib/glib-object.h DESTINATION include)
install(FILES glib/deprecated/gallocator.h DESTINATION include/glib/deprecated)
install(FILES glib/deprecated/gcache.h DESTINATION include/glib/deprecated)
install(FILES glib/deprecated/gcompletion.h DESTINATION include/glib/deprecated)
install(FILES glib/deprecated/gmain.h DESTINATION include/glib/deprecated)
install(FILES glib/deprecated/grel.h DESTINATION include/glib/deprecated)
install(FILES glib/deprecated/gthread.h DESTINATION include/glib/deprecated)
install(FILES glib/glib-autocleanups.h DESTINATION include/glib)
install(FILES glib/galloca.h DESTINATION include/glib)
install(FILES glib/garray.h DESTINATION include/glib)
install(FILES glib/gasyncqueue.h DESTINATION include/glib)
install(FILES glib/gatomic.h DESTINATION include/glib)
install(FILES glib/gbacktrace.h DESTINATION include/glib)
install(FILES glib/gbase64.h DESTINATION include/glib)
install(FILES glib/gbitlock.h DESTINATION include/glib)
install(FILES glib/gbookmarkfile.h DESTINATION include/glib)
install(FILES glib/gbytes.h DESTINATION include/glib)
install(FILES glib/gcharset.h DESTINATION include/glib)
install(FILES glib/gchecksum.h DESTINATION include/glib)
install(FILES glib/gconvert.h DESTINATION include/glib)
install(FILES glib/gdataset.h DESTINATION include/glib)
install(FILES glib/gdate.h DESTINATION include/glib)
install(FILES glib/gdatetime.h DESTINATION include/glib)
install(FILES glib/gdir.h DESTINATION include/glib)
install(FILES glib/genviron.h DESTINATION include/glib)
install(FILES glib/gerror.h DESTINATION include/glib)
install(FILES glib/gfileutils.h DESTINATION include/glib)
install(FILES glib/ggettext.h DESTINATION include/glib)
install(FILES glib/ghash.h DESTINATION include/glib)
install(FILES glib/ghmac.h DESTINATION include/glib)
install(FILES glib/ghook.h DESTINATION include/glib)
install(FILES glib/ghostutils.h DESTINATION include/glib)
install(FILES glib/gi18n.h DESTINATION include/glib)
install(FILES glib/gi18n-lib.h DESTINATION include/glib)
install(FILES glib/giochannel.h DESTINATION include/glib)
install(FILES glib/gkeyfile.h DESTINATION include/glib)
install(FILES glib/glist.h DESTINATION include/glib)
install(FILES glib/gmacros.h DESTINATION include/glib)
install(FILES glib/gmain.h DESTINATION include/glib)
install(FILES glib/gmappedfile.h DESTINATION include/glib)
install(FILES glib/gmarkup.h DESTINATION include/glib)
install(FILES glib/gmem.h DESTINATION include/glib)
install(FILES glib/gmessages.h DESTINATION include/glib)
install(FILES glib/gnode.h DESTINATION include/glib)
install(FILES glib/goption.h DESTINATION include/glib)
install(FILES glib/gpattern.h DESTINATION include/glib)
install(FILES glib/gpoll.h DESTINATION include/glib)
install(FILES glib/gprimes.h DESTINATION include/glib)
install(FILES glib/gqsort.h DESTINATION include/glib)
install(FILES glib/gquark.h DESTINATION include/glib)
install(FILES glib/gqueue.h DESTINATION include/glib)
install(FILES glib/grand.h DESTINATION include/glib)
install(FILES glib/gregex.h DESTINATION include/glib)
install(FILES glib/gscanner.h DESTINATION include/glib)
install(FILES glib/gsequence.h DESTINATION include/glib)
install(FILES glib/gshell.h DESTINATION include/glib)
install(FILES glib/gslice.h DESTINATION include/glib)
install(FILES glib/gslist.h DESTINATION include/glib)
install(FILES glib/gspawn.h DESTINATION include/glib)
install(FILES glib/gstdio.h DESTINATION include/glib)
install(FILES glib/gstrfuncs.h DESTINATION include/glib)
install(FILES glib/gtestutils.h DESTINATION include/glib)
install(FILES glib/gstring.h DESTINATION include/glib)
install(FILES glib/gstringchunk.h DESTINATION include/glib)
install(FILES glib/gthread.h DESTINATION include/glib)
install(FILES glib/gthreadpool.h DESTINATION include/glib)
install(FILES glib/gtimer.h DESTINATION include/glib)
install(FILES glib/gtimezone.h DESTINATION include/glib)
install(FILES glib/gtrashstack.h DESTINATION include/glib)
install(FILES glib/gtree.h DESTINATION include/glib)
install(FILES glib/gtypes.h DESTINATION include/glib)
install(FILES glib/gunicode.h DESTINATION include/glib)
install(FILES glib/gurifuncs.h DESTINATION include/glib)
install(FILES glib/gutils.h DESTINATION include/glib)
install(FILES glib/guuid.h DESTINATION include/glib)
install(FILES glib/gvarianttype.h DESTINATION include/glib)
install(FILES glib/gvariant.h DESTINATION include/glib)
install(FILES glib/gversion.h DESTINATION include/glib)
install(FILES glib/gversionmacros.h DESTINATION include/glib)
install(FILES glib/gwin32.h DESTINATION include/glib)
install(FILES glib/gprintf.h DESTINATION include/glib)
install(FILES gmodule/gmodule.h DESTINATION include)
install(FILES gobject/gobject-autocleanups.h DESTINATION include/gobject)
install(FILES gobject/glib-types.h DESTINATION include/gobject)
install(FILES gobject/gbinding.h DESTINATION include/gobject)
install(FILES gobject/gboxed.h DESTINATION include/gobject)
install(FILES gobject/gclosure.h DESTINATION include/gobject)
install(FILES gobject/genums.h DESTINATION include/gobject)
install(FILES gobject/gmarshal.h DESTINATION include/gobject)
install(FILES gobject/gobject.h DESTINATION include/gobject)
install(FILES gobject/gparam.h DESTINATION include/gobject)
install(FILES gobject/gparamspecs.h DESTINATION include/gobject)
install(FILES gobject/gsignal.h DESTINATION include/gobject)
install(FILES gobject/gsourceclosure.h DESTINATION include/gobject)
install(FILES gobject/gtype.h DESTINATION include/gobject)
install(FILES gobject/gtypemodule.h DESTINATION include/gobject)
install(FILES gobject/gtypeplugin.h DESTINATION include/gobject)
install(FILES gobject/gvalue.h DESTINATION include/gobject)
install(FILES gobject/gvaluearray.h DESTINATION include/gobject)
install(FILES gobject/gvaluecollector.h DESTINATION include/gobject)
install(FILES gobject/gvaluetypes.h DESTINATION include/gobject)
install(FILES gobject/gobjectnotifyqueue.c DESTINATION include/gobject)
install(FILES gio/gappinfo.h DESTINATION include/gio)
install(FILES gio/gasyncinitable.h DESTINATION include/gio)
install(FILES gio/gasyncresult.h DESTINATION include/gio)
install(FILES gio/gbufferedinputstream.h DESTINATION include/gio)
install(FILES gio/gbufferedoutputstream.h DESTINATION include/gio)
install(FILES gio/gbytesicon.h DESTINATION include/gio)
install(FILES gio/gcancellable.h DESTINATION include/gio)
install(FILES gio/gcontenttype.h DESTINATION include/gio)
install(FILES gio/gcharsetconverter.h DESTINATION include/gio)
install(FILES gio/gconverter.h DESTINATION include/gio)
install(FILES gio/gconverterinputstream.h DESTINATION include/gio)
install(FILES gio/gconverteroutputstream.h DESTINATION include/gio)
install(FILES gio/gdatagrambased.h DESTINATION include/gio)
install(FILES gio/gdatainputstream.h DESTINATION include/gio)
install(FILES gio/gdataoutputstream.h DESTINATION include/gio)
install(FILES gio/gdrive.h DESTINATION include/gio)
install(FILES gio/gemblem.h DESTINATION include/gio)
install(FILES gio/gemblemedicon.h DESTINATION include/gio)
install(FILES gio/gfile.h DESTINATION include/gio)
install(FILES gio/gfileattribute.h DESTINATION include/gio)
install(FILES gio/gfileenumerator.h DESTINATION include/gio)
install(FILES gio/gfileicon.h DESTINATION include/gio)
install(FILES gio/gfileinfo.h DESTINATION include/gio)
install(FILES gio/gfileinputstream.h DESTINATION include/gio)
install(FILES gio/gfilemonitor.h DESTINATION include/gio)
install(FILES gio/gfilenamecompleter.h DESTINATION include/gio)
install(FILES gio/gfileoutputstream.h DESTINATION include/gio)
install(FILES gio/gfileiostream.h DESTINATION include/gio)
install(FILES gio/gfilterinputstream.h DESTINATION include/gio)
install(FILES gio/gfilteroutputstream.h DESTINATION include/gio)
install(FILES gio/gicon.h DESTINATION include/gio)
install(FILES gio/ginetaddress.h DESTINATION include/gio)
install(FILES gio/ginetaddressmask.h DESTINATION include/gio)
install(FILES gio/ginetsocketaddress.h DESTINATION include/gio)
install(FILES gio/ginputstream.h DESTINATION include/gio)
install(FILES gio/ginitable.h DESTINATION include/gio)
install(FILES gio/gio.h DESTINATION include/gio)
install(FILES gio/gio-autocleanups.h DESTINATION include/gio)
install(FILES gio/giotypes.h DESTINATION include/gio)
install(FILES gio/gioenums.h DESTINATION include/gio)
install(FILES gio/gioerror.h DESTINATION include/gio)
install(FILES gio/giomodule.h DESTINATION include/gio)
install(FILES gio/gioscheduler.h DESTINATION include/gio)
install(FILES gio/giostream.h DESTINATION include/gio)
install(FILES gio/gloadableicon.h DESTINATION include/gio)
install(FILES gio/gmount.h DESTINATION include/gio)
install(FILES gio/gmemoryinputstream.h DESTINATION include/gio)
install(FILES gio/gmemoryoutputstream.h DESTINATION include/gio)
install(FILES gio/gmountoperation.h DESTINATION include/gio)
install(FILES gio/gnativevolumemonitor.h DESTINATION include/gio)
install(FILES gio/gnetworkaddress.h DESTINATION include/gio)
install(FILES gio/gnetworkmonitor.h DESTINATION include/gio)
install(FILES gio/gnetworkservice.h DESTINATION include/gio)
install(FILES gio/goutputstream.h DESTINATION include/gio)
install(FILES gio/gpermission.h DESTINATION include/gio)
install(FILES gio/gpollableinputstream.h DESTINATION include/gio)
install(FILES gio/gpollableoutputstream.h DESTINATION include/gio)
install(FILES gio/gpollableutils.h DESTINATION include/gio)
install(FILES gio/gproxyaddress.h DESTINATION include/gio)
install(FILES gio/gproxy.h DESTINATION include/gio)
install(FILES gio/gproxyaddressenumerator.h DESTINATION include/gio)
install(FILES gio/gproxyresolver.h DESTINATION include/gio)
install(FILES gio/gresolver.h DESTINATION include/gio)
install(FILES gio/gresource.h DESTINATION include/gio)
install(FILES gio/gseekable.h DESTINATION include/gio)
install(FILES gio/gsimpleasyncresult.h DESTINATION include/gio)
install(FILES gio/gsimpleiostream.h DESTINATION include/gio)
install(FILES gio/gsimplepermission.h DESTINATION include/gio)
install(FILES gio/gsocket.h DESTINATION include/gio)
install(FILES gio/gsocketaddress.h DESTINATION include/gio)
install(FILES gio/gsocketaddressenumerator.h DESTINATION include/gio)
install(FILES gio/gsocketclient.h DESTINATION include/gio)
install(FILES gio/gsocketconnectable.h DESTINATION include/gio)
install(FILES gio/gsocketconnection.h DESTINATION include/gio)
install(FILES gio/gsocketcontrolmessage.h DESTINATION include/gio)
install(FILES gio/gsocketlistener.h DESTINATION include/gio)
install(FILES gio/gsocketservice.h DESTINATION include/gio)
install(FILES gio/gsrvtarget.h DESTINATION include/gio)
install(FILES gio/gsimpleproxyresolver.h DESTINATION include/gio)
install(FILES gio/gtask.h DESTINATION include/gio)
install(FILES gio/gsubprocess.h DESTINATION include/gio)
install(FILES gio/gsubprocesslauncher.h DESTINATION include/gio)
install(FILES gio/gtcpconnection.h DESTINATION include/gio)
install(FILES gio/gtcpwrapperconnection.h DESTINATION include/gio)
install(FILES gio/gthreadedsocketservice.h DESTINATION include/gio)
install(FILES gio/gthemedicon.h DESTINATION include/gio)
install(FILES gio/gtlsbackend.h DESTINATION include/gio)
install(FILES gio/gtlscertificate.h DESTINATION include/gio)
install(FILES gio/gtlsclientconnection.h DESTINATION include/gio)
install(FILES gio/gtlsconnection.h DESTINATION include/gio)
install(FILES gio/gtlsdatabase.h DESTINATION include/gio)
install(FILES gio/gtlsfiledatabase.h DESTINATION include/gio)
install(FILES gio/gtlsinteraction.h DESTINATION include/gio)
install(FILES gio/gtlspassword.h DESTINATION include/gio)
install(FILES gio/gtlsserverconnection.h DESTINATION include/gio)
install(FILES gio/gdtlsconnection.h DESTINATION include/gio)
install(FILES gio/gdtlsclientconnection.h DESTINATION include/gio)
install(FILES gio/gdtlsserverconnection.h DESTINATION include/gio)
install(FILES gio/gvfs.h DESTINATION include/gio)
install(FILES gio/gvolume.h DESTINATION include/gio)
install(FILES gio/gvolumemonitor.h DESTINATION include/gio)
install(FILES gio/gzlibcompressor.h DESTINATION include/gio)
install(FILES gio/gzlibdecompressor.h DESTINATION include/gio)
install(FILES gio/glistmodel.h DESTINATION include/gio)
install(FILES gio/gliststore.h DESTINATION include/gio)
install(FILES gio/gapplication.h DESTINATION include/gio)
install(FILES gio/gapplicationcommandline.h DESTINATION include/gio)
install(FILES gio/gactiongroup.h DESTINATION include/gio)
install(FILES gio/gactionmap.h DESTINATION include/gio)
install(FILES gio/gsimpleactiongroup.h DESTINATION include/gio)
install(FILES gio/gremoteactiongroup.h DESTINATION include/gio)
install(FILES gio/gactiongroupexporter.h DESTINATION include/gio)
install(FILES gio/gdbusactiongroup.h DESTINATION include/gio)
install(FILES gio/gaction.h DESTINATION include/gio)
install(FILES gio/gpropertyaction.h DESTINATION include/gio)
install(FILES gio/gsimpleaction.h DESTINATION include/gio)
install(FILES gio/gmenumodel.h DESTINATION include/gio)
install(FILES gio/gmenu.h DESTINATION include/gio)
install(FILES gio/gmenuexporter.h DESTINATION include/gio)
install(FILES gio/gdbusmenumodel.h DESTINATION include/gio)
install(FILES gio/gnotification.h DESTINATION include/gio)
install(FILES gio/gsettingsbackend.h DESTINATION include/gio)
install(FILES gio/gsettingsschema.h DESTINATION include/gio)
install(FILES gio/gsettings.h DESTINATION include/gio)
install(FILES gio/gdbusauthobserver.h DESTINATION include/gio)
install(FILES gio/gcredentials.h DESTINATION include/gio)
install(FILES gio/gdbusutils.h DESTINATION include/gio)
install(FILES gio/gdbuserror.h DESTINATION include/gio)
install(FILES gio/gdbusaddress.h DESTINATION include/gio)
install(FILES gio/gdbusconnection.h DESTINATION include/gio)
install(FILES gio/gdbusmessage.h DESTINATION include/gio)
install(FILES gio/gdbusnameowning.h DESTINATION include/gio)
install(FILES gio/gdbusnamewatching.h DESTINATION include/gio)
install(FILES gio/gdbusproxy.h DESTINATION include/gio)
install(FILES gio/gdbusintrospection.h DESTINATION include/gio)
install(FILES gio/gdbusmethodinvocation.h DESTINATION include/gio)
install(FILES gio/gdbusserver.h DESTINATION include/gio)
install(FILES gio/gdbusinterface.h DESTINATION include/gio)
install(FILES gio/gdbusinterfaceskeleton.h DESTINATION include/gio)
install(FILES gio/gdbusobject.h DESTINATION include/gio)
install(FILES gio/gdbusobjectskeleton.h DESTINATION include/gio)
install(FILES gio/gdbusobjectproxy.h DESTINATION include/gio)
install(FILES gio/gdbusobjectmanager.h DESTINATION include/gio)
install(FILES gio/gdbusobjectmanagerclient.h DESTINATION include/gio)
install(FILES gio/gdbusobjectmanagerserver.h DESTINATION include/gio)
install(FILES gio/gtestdbus.h DESTINATION include/gio)
install(FILES gio/gioenumtypes.h DESTINATION include/gio)
install(FILES ${CMAKE_BINARY_DIR}/config/gio/gnetworking.h DESTINATION include/gio)
install(FILES gio/gwin32inputstream.h DESTINATION include/gio)
install(FILES gio/gwin32outputstream.h DESTINATION include/gio)

View File

@ -1,7 +0,0 @@
include(CMakeFindDependencyMacro)
find_dependency(Iconv)
if(NOT WIN32)
find_dependency(Threads)
endif()
include("${CMAKE_CURRENT_LIST_DIR}/unofficial-glib-targets.cmake")

View File

@ -1,46 +0,0 @@
diff --git a/gio/tests/plugin_resources.c b/gio/tests/plugin_resources.c
index 4c1b0214b..bbfc7ae07 100644
--- a/gio/tests/plugin_resources.c
+++ b/gio/tests/plugin_resources.c
@@ -80,13 +80,13 @@ GResource *_g_plugin_get_resource (void)
*/
/* We need to account for differences between the mangling of symbols
- * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed
- * with an underscore but symbols on x64 are not.
+ * for x86 and x64/ARM/ARM64 programs, as symbols on x86 are prefixed
+ * with an underscore but symbols on x64/ARM/ARM64 are not.
*/
-#ifdef _WIN64
-#define G_MSVC_SYMBOL_PREFIX ""
-#else
+#ifdef _M_IX86
#define G_MSVC_SYMBOL_PREFIX "_"
+#else
+#define G_MSVC_SYMBOL_PREFIX ""
#endif
#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)
diff --git a/glib/gconstructor.h b/glib/gconstructor.h
index dccb0314c..fa1139302 100644
--- a/glib/gconstructor.h
+++ b/glib/gconstructor.h
@@ -40,13 +40,13 @@
*/
/* We need to account for differences between the mangling of symbols
- * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed
- * with an underscore but symbols on x64 are not.
+ * for x86 and x64/ARM/ARM64 programs, as symbols on x86 are prefixed
+ * with an underscore but symbols on x64/ARM/ARM64 are not.
*/
-#ifdef _WIN64
-#define G_MSVC_SYMBOL_PREFIX ""
-#else
+#ifdef _M_IX86
#define G_MSVC_SYMBOL_PREFIX "_"
+#else
+#define G_MSVC_SYMBOL_PREFIX ""
#endif
#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX)

View File

@ -0,0 +1,13 @@
diff --git a/meson.build b/meson.build
--- a/meson.build
+++ b/meson.build
@@ -2029,6 +2029,9 @@ else
libintl = disabler()
endif
endif
+ if not libintl.found()
+ libintl = dependency('Intl', required : false, method : 'cmake')
+ endif
if not libintl.found()
libintl = subproject('proxy-libintl').get_variable('intl_dep')
libintl_deps = [libintl] + libintl_deps

View File

@ -1,30 +0,0 @@
diff --git a/gio-unix-2.0.pc.in b/gio-unix-2.0.pc.in
index fba58e2..2d015f6 100644
--- a/gio-unix-2.0.pc.in
+++ b/gio-unix-2.0.pc.in
@@ -8,4 +8,4 @@ Description: unix specific headers for glib I/O library
Version: @VERSION@
Requires: gobject-2.0,gio-2.0
Libs: -L${libdir} -lgio-2.0
-Cflags: -I${includedir}/gio-unix-2.0/
+Cflags: -I${includedir}/gio
diff --git a/gio-windows-2.0.pc.in b/gio-windows-2.0.pc.in
index 77eecdf..25bb0ae 100644
--- a/gio-windows-2.0.pc.in
+++ b/gio-windows-2.0.pc.in
@@ -8,4 +8,4 @@ Description: Windows specific headers for glib I/O library
Version: @VERSION@
Requires: gobject-2.0,gmodule-no-export-2.0,gio-2.0
Libs: -L${libdir} -lgio-2.0
-Cflags: -I${includedir}/gio-win32-2.0/
+Cflags: -I${includedir}/gio
diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in
index 275fc01..1bfd74a 100644
--- a/glib-2.0.pc.in
+++ b/glib-2.0.pc.in
@@ -13,4 +13,4 @@ Version: @VERSION@
Requires.private: @PCRE_REQUIRES@
Libs: -L${libdir} -lglib-2.0 @INTLLIBS@
Libs.private: @G_THREAD_LIBS@ @G_LIBS_EXTRA@ @PCRE_LIBS@ @INTLLIBS@ @ICONV_LIBS@ @CARBON_LIBS@ @COCOA_LIBS@
-Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include @GLIB_EXTRA_CFLAGS@
+Cflags: -I${includedir}/glib @GLIB_EXTRA_CFLAGS@

View File

@ -4,13 +4,15 @@ vcpkg_fail_port_install(ON_TARGET "UWP")
# Glib relies on DllMain on Windows
if (VCPKG_TARGET_IS_WINDOWS)
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
#remove if merged: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1655
endif()
set(GLIB_VERSION 2.52.3)
set(GLIB_MAJOR_MINOR 2.66)
set(GLIB_PATCH 4)
vcpkg_download_distfile(ARCHIVE
URLS "https://ftp.gnome.org/pub/gnome/sources/glib/2.52/glib-${GLIB_VERSION}.tar.xz"
FILENAME "glib-${GLIB_VERSION}.tar.xz"
SHA512 a068f2519cfb82de8d4b7f004e7c1f15e841cad4046430a83b02b359d011e0c4077cdff447a1687ed7c68f1a11b4cf66b9ed9fc23ab5f0c7c6be84eb0ddc3017)
URLS "https://ftp.gnome.org/pub/gnome/sources/glib/${GLIB_MAJOR_MINOR}/glib-${GLIB_MAJOR_MINOR}.${GLIB_PATCH}.tar.xz"
FILENAME "glib-${GLIB_MAJOR_MINOR}.${GLIB_PATCH}.tar.xz"
SHA512 b3bc3e6e5cca793139848940e5c0894f1c7e3bd3a770b213a1ea548ac54a2432aebb140ed54518712fb8af36382b3b13d5f7ffd3d87ff63cba9e2f55434f7260)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
@ -18,43 +20,107 @@ vcpkg_extract_source_archive_ex(
REF ${GLIB_VERSION}
PATCHES
use-libiconv-on-windows.patch
arm64-defines.patch
fix-arm-builds.patch
fix_pkgconfig.patch
fix-libintl-detection.patch
)
configure_file(${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt ${SOURCE_PATH}/CMakeLists.txt COPYONLY)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake DESTINATION ${SOURCE_PATH})
file(REMOVE_RECURSE ${SOURCE_PATH}/glib/pcre)
file(WRITE ${SOURCE_PATH}/glib/pcre/Makefile.in)
file(REMOVE ${SOURCE_PATH}/glib/win_iconv.c)
if (selinux IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_WINDOWS AND NOT EXISTS "/usr/include/selinux")
message("Selinux was not found in its typical system location. Your build may fail. You can install Selinux with \"apt-get install selinux\".")
if (selinux IN_LIST FEATURES)
if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT EXISTS "/usr/include/selinux")
message("Selinux was not found in its typical system location. Your build may fail. You can install Selinux with \"apt-get install selinux\".")
endif()
list(APPEND OPTIONS -Dselinux=enabled)
else()
list(APPEND OPTIONS -Dselinux=disabled)
endif()
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
selinux HAVE_SELINUX
)
if(VCPKG_TARGET_IS_WINDOWS)
list(APPEND OPTIONS -Diconv=external)
else()
#list(APPEND OPTIONS -Diconv=libc) ?
endif()
vcpkg_configure_cmake(
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS ${FEATURE_OPTIONS}
-DGLIB_VERSION=${GLIB_VERSION}
OPTIONS_DEBUG
-DGLIB_SKIP_HEADERS=ON
-DGLIB_SKIP_TOOLS=ON
OPTIONS
-Dbuild_tests=false
-Dinstalled_tests=false
${OPTIONS}
-Dinternal_pcre=false
)
#-Dnls=true
#-Dlibelf=false
#-Dlibmount=false
#-Dxattr=true?
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-glib TARGET_PATH share/unofficial-glib)
vcpkg_install_meson(ADD_BIN_TO_PATH)
vcpkg_copy_pdbs()
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
set(GLIB_TOOLS gdbus
gio
gio-querymodules
glib-compile-resources
glib-compile-schemas
gobject-query
gresource
gsettings
)
vcpkg_fixup_pkgconfig()
if(NOT VCPKG_TARGET_IS_WINDOWS)
if(NOT VCPKG_TARGET_IS_OSX)
list(APPEND GLIB_TOOLS gapplication)
endif()
list(APPEND GLIB_TOOLS glib-gettextize gtester)
endif()
set(GLIB_SCRIPTS gdbus-codegen glib-genmarshal glib-mkenums gtester-report)
if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE MATCHES "x64|arm64")
list(APPEND GLIB_TOOLS gspawn-win64-helper${VCPKG_EXECUTABLE_SUFFIX}
gspawn-win64-helper-console${VCPKG_EXECUTABLE_SUFFIX})
elseif(VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
list(APPEND GLIB_TOOLS gspawn-win32-helper${VCPKG_EXECUTABLE_SUFFIX}
gspawn-win32-helper-console${VCPKG_EXECUTABLE_SUFFIX})
endif()
vcpkg_copy_tools(TOOL_NAMES ${GLIB_TOOLS} AUTO_CLEAN)
foreach(script IN LISTS GLIB_SCRIPTS)
file(RENAME "${CURRENT_PACKAGES_DIR}/bin/${script}" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/${script}")
file(REMOVE "${CURRENT_PACKAGES_DIR}/debug/bin/${script}")
endforeach()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()
IF(VCPKG_TARGET_IS_WINDOWS)
set(SYSTEM_LIBRARIES dnsapi iphlpapi winmm lshlwapi)
else()
set(SYSTEM_LIBRARIES resolv mount blkid selinux)
endif()
if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gio-2.0.pc")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/gio-2.0.pc" "\${bindir}" "\${bindir}/../tools/${PORT}")
endif()
if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gio-2.0.pc")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/gio-2.0.pc" "\${bindir}" "\${bindir}/../../tools/${PORT}")
endif()
if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glib-2.0.pc")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glib-2.0.pc" "\${bindir}" "\${bindir}/../tools/${PORT}")
endif()
if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glib-2.0.pc")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glib-2.0.pc" "\${bindir}" "\${bindir}/../../tools/${PORT}")
endif()
vcpkg_fixup_pkgconfig(SYSTEM_LIBRARIES ${SYSTEM_LIBRARIES})
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
# Fix python scripts
set(_file "${CURRENT_PACKAGES_DIR}/tools/${PORT}/gdbus-codegen")
file(READ "${_file}" _contents)
string(REPLACE "elif os.path.basename(filedir) == 'bin':" "elif os.path.basename(filedir) == 'tools':" _contents "${_contents}")
string(REPLACE "path = os.path.join(filedir, '..', 'share', 'glib-2.0')" "path = os.path.join(filedir, '../..', 'share', 'glib-2.0')" _contents "${_contents}")
string(REPLACE "path = os.path.join(filedir, '..')" "path = os.path.join(filedir, '../../share/glib-2.0')" _contents "${_contents}")
string(REPLACE "path = os.path.join('${CURRENT_PACKAGES_DIR}/share', 'glib-2.0')" "path = os.path.join('unuseable/share', 'glib-2.0')" _contents "${_contents}")
file(WRITE "${_file}" "${_contents}")

View File

@ -12,3 +12,17 @@ index 3deac78..134ded9 100644
#endif
#ifdef G_PLATFORM_WIN32
diff --git a/meson.build b/meson.build
index d938ddf51..2ba256115 100644
--- a/meson.build
+++ b/meson.build
@@ -1914,7 +1914,8 @@ glibconfig_conf.set10('G_HAVE_GROWING_STACK', growing_stack)
# the built-in implementation
iconv_opt = get_option('iconv')
if host_system == 'windows'
- libiconv = []
+ libiconv = [cc.find_library('iconv')]
+ found_iconv = true
# We have a #include "win_iconv.c" in gconvert.c on Windows, so we don't need
# any external library for it
if iconv_opt != 'auto'

21
ports/glib/vcpkg.json Normal file
View File

@ -0,0 +1,21 @@
{
"name": "glib",
"version": "2.66.4",
"description": "Portable, general-purpose utility library.",
"homepage": "https://developer.gnome.org/glib/",
"supports": "!uwp & !(windows & static)",
"dependencies": [
"dirent",
"gettext",
"libffi",
"libiconv",
"pcre",
"tool-meson",
"zlib"
],
"features": {
"selinux": {
"description": "Build with selinux support."
}
}
}

View File

@ -1,7 +0,0 @@
Source: glibmm
Version: 2.52.1
Port-Version: 14
Description: This is glibmm, a C++ API for parts of glib that are useful for C++.
Homepage: https://www.gtkmm.org.
Build-Depends: zlib, pcre, libffi, gettext, libiconv, glib, libsigcpp
Supports: !uwp

View File

@ -1,43 +0,0 @@
diff --git a/MSVC_Net2013/glibmm/glibmmconfig.h b/MSVC_Net2013/glibmm/glibmmconfig.h
index 61bb83e..7dbe809 100644
--- a/MSVC_Net2013/glibmm/glibmmconfig.h
+++ b/MSVC_Net2013/glibmm/glibmmconfig.h
@@ -7,12 +7,17 @@
# if defined(_MSC_VER)
# define GLIBMM_MSC 1
# define GLIBMM_WIN32 1
-# define GLIBMM_DLL 1
+# if !defined(GLIBMM_STATIC_LIB)
+# define GLIBMM_DLL 1
+# endif
# elif defined(__CYGWIN__)
# define GLIBMM_CONFIGURE 1
# elif defined(__MINGW32__)
# define GLIBMM_WIN32 1
# define GLIBMM_CONFIGURE 1
+# if !defined(GLIBMM_STATIC_LIB)
+# define GLIBMM_DLL 1
+# endif
# else
/* AIX clR compiler complains about this even though it doesn't get this far */
# error "Unknown architecture (send me gcc --dumpspecs or equiv)"
@@ -108,6 +113,7 @@
# define GLIBMM_HAVE_WIDE_STREAM 1
# define GLIBMM_HAVE_DISAMBIGUOUS_CONST_TEMPLATE_SPECIALIZATIONS 1
# define GLIBMM_HAVE_C_STD_TIME_T_IS_NOT_INT32 1
+# define GLIBMM_HAVE_ALLOWS_STATIC_INLINE_NPOS 1
# define GLIBMM_CAN_USE_DYNAMIC_CAST_IN_UNUSED_TEMPLATE_WITHOUT_DEFINITION 1
# define GLIBMM_CAN_ASSIGN_NON_EXTERN_C_FUNCTIONS_TO_EXTERN_C_CALLBACKS 1
# define GLIBMM_CAN_USE_NAMESPACES_INSIDE_EXTERNC 1
@@ -140,11 +146,6 @@
* it to be defined. Remove after grace period. */
#define GLIBMM_USING_STD(Symbol)
-/* Enable DLL-specific stuff only when not building a static library */
-#if !defined(__CYGWIN__) && defined(__MINGW32__) && !defined(GLIBMM_STATIC_LIB)
-# define GLIBMM_DLL 1
-#endif
-
#ifdef GLIBMM_DLL
# if defined(GLIBMM_BUILD) && defined(_WINDLL)
/* Do not dllexport as it is handled by gendef on MSVC */

View File

@ -1,13 +0,0 @@
diff --git a/glib/glibmm/threads.h b/glib/glibmm/threads.h
index 5350a99..cc48c01 100644
--- a/glib/glibmm/threads.h
+++ b/glib/glibmm/threads.h
@@ -657,7 +657,7 @@ public:
*/
inline void replace(T* data);
- GPrivate* gobj() { return gobject_; }
+ GPrivate* gobj() { return &gobject_; }
private:
GPrivate gobject_;

View File

@ -1,84 +0,0 @@
diff --git a/glib/glibmm/varianttype.h b/glib/glibmm/varianttype.h
index a232e70..64eb4a1 100644
--- a/glib/glibmm/varianttype.h
+++ b/glib/glibmm/varianttype.h
@@ -500,54 +500,79 @@ public:
};
+GLIBMM_API
extern const VariantType VARIANT_TYPE_BOOL;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_BYTE;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_INT16;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_UINT16;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_INT32;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_UINT32;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_INT64;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_UINT64;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_DOUBLE;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_STRING;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_OBJECT_PATH;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_SIGNATURE;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_VARIANT;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_HANDLE;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_UNIT;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_ANY;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_BASIC;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_MAYBE;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_ARRAY;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_TUPLE;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_DICT_ENTRY;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_DICTIONARY;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_STRING_ARRAY;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_BYTESTRING;
+GLIBMM_API
extern const VariantType VARIANT_TYPE_BYTESTRING_ARRAY;

View File

@ -2,33 +2,23 @@
vcpkg_fail_port_install(ON_TARGET "UWP")
vcpkg_download_distfile(ARCHIVE
URLS "https://ftp.gnome.org/pub/GNOME/sources/glibmm/2.52/glibmm-2.52.1.tar.xz"
FILENAME "glibmm-2.52.1.tar.xz"
SHA512 702158762cb28972b315ab98dc00a62e532bda08b6e76dc2a2556e8cb381c2021290891887a4af2fbff5a62bab4d50581be73037dc8e0dc47d5febd6cbeb7bda
URLS "https://ftp.gnome.org/pub/GNOME/sources/glibmm/2.68/glibmm-2.68.0.tar.xz"
FILENAME "glibmm-2.68.0.tar.xz"
SHA512 a13121052315e949acf2528e226079f1a2cf7853080aec770dcb269e422997e5515ed767c7a549231fb3fa5f913b3fd9ef083080589283824b6a218d066b253e
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES
glibmm-api-variant.patch
fix-define-glibmmconfig.patch
fix-thread.h.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DWARNINGS_HEADER=${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h
OPTIONS_DEBUG
-DDISABLE_INSTALL_HEADERS=ON
OPTIONS
-Dbuild-examples=false
-Dmsvc14x-parallel-installable=false
)
vcpkg_install_cmake()
vcpkg_install_meson()
vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()

16
ports/glibmm/vcpkg.json Normal file
View File

@ -0,0 +1,16 @@
{
"name": "glibmm",
"version": "2.68.0",
"description": "This is glibmm, a C++ API for parts of glib that are useful for C++.",
"homepage": "https://www.gtkmm.org.",
"supports": "!uwp",
"dependencies": [
"gettext",
"glib",
"libffi",
"libiconv",
"libsigcpp-3",
"pcre",
"zlib"
]
}

View File

@ -5,8 +5,9 @@ project(gmime C)
set(GMIME_DLL_SUFFIX 3)
set(GMIME_LIB_SUFFIX 3.0)
find_package(zlib REQUIRED)
find_package(unofficial-glib CONFIG REQUIRED)
find_package(ZLIB REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
find_package(Iconv REQUIRED)
find_library(IDN_LIBRARY NAMES libidn2)
@ -46,7 +47,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
target_include_directories(${PROJECT_NAME} PRIVATE . ./util)
target_link_libraries(${PROJECT_NAME} PRIVATE Iconv::Iconv ZLIB::ZLIB ${IDN_LIBRARY})
target_link_libraries(${PROJECT_NAME} PRIVATE unofficial::glib::gobject unofficial::glib::gio unofficial::glib::glib)
target_link_libraries(${PROJECT_NAME} PRIVATE PkgConfig::GLIB2)
target_link_libraries(${PROJECT_NAME} PRIVATE Ws2_32.lib)
install(TARGETS ${PROJECT_NAME}

View File

@ -1,7 +0,0 @@
Source: gmime
Version: 3.2.6
Port-Version: 1
Build-Depends: zlib, glib, libiconv, libidn2
Homepage: https://developer.gnome.org/gmime/
Description: GMime is a C/C++ library which may be used for the creation and parsing of messages using the Multipurpose Internet Mail Extension (MIME).
Supports: windows

View File

@ -21,10 +21,12 @@ file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
configure_file(${SOURCE_PATH}/build/vs2017/unistd.h ${SOURCE_PATH} COPYONLY)
configure_file(${SOURCE_PATH}/build/vs2017/config.h ${SOURCE_PATH} COPYONLY)
configure_file(${SOURCE_PATH}/build/vs2017/gmime.def ${SOURCE_PATH} COPYONLY)
vcpkg_find_acquire_program(PKGCONFIG)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}
)
vcpkg_install_cmake()

14
ports/gmime/vcpkg.json Normal file
View File

@ -0,0 +1,14 @@
{
"name": "gmime",
"version": "3.2.6",
"port-version": 2,
"description": "GMime is a C/C++ library which may be used for the creation and parsing of messages using the Multipurpose Internet Mail Extension (MIME).",
"homepage": "https://developer.gnome.org/gmime/",
"supports": "windows",
"dependencies": [
"glib",
"libiconv",
"libidn2",
"zlib"
]
}

View File

@ -1,7 +0,0 @@
Source: graphene
Version: 1.10.2
Port-Version: 0
Homepage: https://www.gtk.org/
Description: A thin layer of types for graphic libraries.
Build-Depends: glib, gettext
Supports: !(arm&windows)

View File

@ -15,15 +15,15 @@ vcpkg_extract_source_archive_ex(
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-Dgtk_doc=false
-Dgobject_types=true
-Dintrospection=false
-Dgtk_doc=false #Enable generating the API reference (depends on GTK-Doc)
-Dgobject_types=true #Enable GObject types (depends on GObject)
-Dintrospection=false #Enable GObject Introspection (depends on GObject)'
-Dtests=false
-Dinstalled_tests=false
ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_INSTALLED_DIR}/tools/glib/glib-mkenums'
ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_INSTALLED_DIR}/tools/glib/glib-mkenums'
ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
)
vcpkg_install_meson()
@ -32,32 +32,4 @@ vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
file(COPY ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
# option('gtk_doc', type: 'boolean',
# value: false,
# description: 'Enable generating the API reference (depends on GTK-Doc)')
# option('gobject_types', type: 'boolean',
# value: true,
# description: 'Enable GObject types (depends on GObject)')
# option('introspection', type: 'boolean',
# value: true,
# description: 'Enable GObject Introspection (depends on GObject)')
# option('gcc_vector', type: 'boolean',
# value: true,
# description: 'Enable GCC vector fast paths (requires GCC)')
# option('sse2', type: 'boolean',
# value: true,
# description: 'Enable SSE2 fast paths (requires SSE2 or later)')
# option('arm_neon', type: 'boolean',
# value: true,
# description: 'Enable ARM NEON fast paths (requires ARM)')
# option('tests', type: 'boolean',
# value: true,
# description: 'Build the test suite (requires GObject)')
# option('installed_tests', type: 'boolean',
# value: true,
# description: 'Install tests')
file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)

16
ports/graphene/vcpkg.json Normal file
View File

@ -0,0 +1,16 @@
{
"name": "graphene",
"version": "1.10.2",
"port-version": 1,
"description": "A thin layer of types for graphic libraries.",
"homepage": "https://www.gtk.org/",
"supports": "!(arm & windows)",
"dependencies": [
"gettext",
"glib",
{
"name": "glib",
"host": true
}
]
}

View File

@ -1,177 +0,0 @@
cmake_minimum_required(VERSION 3.0)
project(gtk+ C)
configure_file(config.h.win32 ${CMAKE_CURRENT_SOURCE_DIR}/config.h COPYONLY)
configure_file(gdk/gdkconfig.h.win32_broadway ${CMAKE_CURRENT_SOURCE_DIR}/gdk/gdkconfig.h COPYONLY)
set(GLIB_LIB_SUFFIX 2.0)
set(PANGO_LIB_SUFFIX 1.0)
set(ATK_LIB_SUFFIX 1.0)
set(GDK_PIXBUF_LIB_SUFFIX 2.0)
if(CMAKE_BUILD_TYPE STREQUAL Debug)
set(CAIRO_LIB_SUFFIX d)
endif()
if (WIN32)
# Set utf-8 charset to avoid compile error C2001
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /utf-8")
endif()
# find dependencies
# glib
find_path(GLIB_INCLUDE_DIR glib.h)
find_library(GLIB_GLIB_LIBRARY glib-${GLIB_LIB_SUFFIX})
find_library(GLIB_GIO_LIBRARY gio-${GLIB_LIB_SUFFIX})
find_library(GLIB_GMODULE_LIBRARY gmodule-${GLIB_LIB_SUFFIX})
find_library(GLIB_GOBJECT_LIBRARY gobject-${GLIB_LIB_SUFFIX})
set(GLIB_LIBRARIES ${GLIB_GLIB_LIBRARY} ${GLIB_GIO_LIBRARY} ${GLIB_GMODULE_LIBRARY} ${GLIB_GOBJECT_LIBRARY})
# pango
find_path(PANGO_INCLUDE_DIR pango/pango.h)
find_library(PANGO_LIBRARY pango-${PANGO_LIB_SUFFIX})
find_library(PANGO_CAIRO_LIBRARY pangocairo-${PANGO_LIB_SUFFIX})
find_library(PANGO_WIN32_LIBRARY pangowin32-${PANGO_LIB_SUFFIX})
set(PANGO_LIBRARIES ${PANGO_LIBRARY} ${PANGO_CAIRO_LIBRARY} ${PANGO_WIN32_LIBRARY})
# cairo
find_library(CAIRO_LIBRARY cairo${CAIRO_LIB_SUFFIX})
find_library(CAIRO_GOBJECT_LIBRARY cairo-gobject${CAIRO_LIB_SUFFIX})
set(CAIRO_LIBRARIES ${CAIRO_LIBRARY} ${CAIRO_GOBJECT_LIBRARY})
find_path(CAIRO_INCLUDE_DIR cairo.h)
# atk
find_path(ATK_INCLUDE_DIR atk/atk.h)
find_library(ATK_LIBRARY atk-${ATK_LIB_SUFFIX})
# gdk-pixbuf
find_path(GDK_PIXBUF_INCLUDE_DIR gdk-pixbuf/gdk-pixbuf.h)
find_library(GDK_PIXBUF_LIBRARY gdk_pixbuf-${GDK_PIXBUF_LIB_SUFFIX})
# epoxy
find_path(EPOXY_INCLUDE_DIR epoxy/common.h)
find_library(EPOXY_LIBRARY epoxy)
# gettext
find_path(LIBINTL_INCLUDE_DIR libintl.h)
find_library(LIBINTL_LIBRARY NAMES intl libintl)
set(GTK_REQUIRED_LIBRARIES
${LIBINTL_LIBRARY}
${EPOXY_LIBRARY}
${GLIB_LIBRARIES}
${CAIRO_LIBRARIES}
${PANGO_LIBRARIES}
${GDK_PIXBUF_LIBRARY}
${ATK_LIBRARY})
set(GTK_REQUIRED_INCLUDE_DIR
${LIBINTL_INCLUDE_DIR}
${EPOXY_INCLUDE_DIR}
${GLIB_INCLUDE_DIR}
${GDK_PIXBUF_INCLUDE_DIR}
${CAIRO_INCLUDE_DIR}
${PANGO_INCLUDE_DIR}
${ATK_INCLUDE_DIR})
# defines expected by all modules
add_definitions(
-DHAVE_CONFIG_H
-DG_DISABLE_SINGLE_INCLUDES
-DATK_DISABLE_SINGLE_INCLUDES
-DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES
-DGTK_DISABLE_SINGLE_INCLUDES
-D_USE_MATH_DEFINES)
add_definitions(-DG_ENABLE_DEBUG)
if(CMAKE_BUILD_TYPE STREQUAL Debug)
add_definitions(-DG_ENABLE_CONSISTENCY_CHECKS)
else()
add_definitions(-DG_DISABLE_CAST_CHECKS)
endif()
macro(extract_vcproj_sources VC_PROJECT OUT_VAR)
file(READ ${VC_PROJECT} ${VC_PROJECT}-CONTENTS)
STRING(REPLACE "\n" ";" ${VC_PROJECT}-CONTENTS "${${VC_PROJECT}-CONTENTS}") # split by lines
foreach(LINE ${${VC_PROJECT}-CONTENTS})
if(LINE MATCHES "<ClCompile Include=\\\".*\\\" />")
string(REPLACE "<ClCompile Include=\"..\\..\\..\\" "" LINE ${LINE})
string(REPLACE "\" />" "" LINE ${LINE})
string(STRIP ${LINE} LINE)
file(TO_CMAKE_PATH ${LINE} LINE)
list(APPEND ${OUT_VAR} ${LINE})
endif()
endforeach()
endmacro()
# build 'win32' gdk backend
extract_vcproj_sources(build/win32/vs14/gdk3-win32.vcxproj GDK_WIN32_SOURCES)
add_library(gdk-3-win32 STATIC ${GDK_WIN32_SOURCES})
target_compile_definitions(gdk-3-win32 PRIVATE
GDK_COMPILATION G_LOG_DOMAIN="Gdk" INSIDE_GDK_WIN32)
target_include_directories(gdk-3-win32 PRIVATE . ./gdk ./gdk/win32 ${GTK_REQUIRED_INCLUDE_DIR})
# build 'broadway' gdk backend
extract_vcproj_sources(build/win32/vs14/gdk3-broadway.vcxproj GDK_BROADWAY_SOURCES)
add_library(gdk-3-broadway STATIC ${GDK_BROADWAY_SOURCES})
target_compile_definitions(gdk-3-broadway PRIVATE
GDK_COMPILATION G_LOG_DOMAIN="Gdk")
target_include_directories(gdk-3-broadway PRIVATE . ./gdk ./gdk/broadway ${GTK_REQUIRED_INCLUDE_DIR})
macro(gtk_add_module MODULE_NAME)
add_library(${MODULE_NAME} ${ARGN})
target_include_directories(${MODULE_NAME} PRIVATE . ./gdk ./gtk ${GTK_REQUIRED_INCLUDE_DIR})
target_link_libraries(${MODULE_NAME} ${GTK_REQUIRED_LIBRARIES})
set_target_properties(${MODULE_NAME} PROPERTIES
ARCHIVE_OUTPUT_NAME ${MODULE_NAME}.0)
install(TARGETS ${MODULE_NAME} RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
endmacro()
extract_vcproj_sources(build/win32/vs14/gdk-3.vcxproj GDK_SOURCES)
gtk_add_module(gdk-3 ${GDK_SOURCES})
target_compile_definitions(gdk-3 PRIVATE GDK_COMPILATION)
target_include_directories(gdk-3 PRIVATE ./gdk/win32 ./gdk/broadway)
target_link_libraries(gdk-3 gdk-3-win32 gdk-3-broadway winmm dwmapi setupapi imm32 ws2_32)
extract_vcproj_sources(build/win32/vs14/gtk-3.vcxproj GTK_SOURCES)
set_source_files_properties(gtk/inspector/visual.c PROPERTIES COMPILE_FLAGS "/FImath.h")
gtk_add_module(gtk-3 ${GTK_SOURCES})
target_compile_definitions(gtk-3 PRIVATE
GTK_COMPILATION
G_LOG_DOMAIN="Gtk"
GTK_HOST="i686-pc"
GTK_PRINT_BACKENDS="file"
GTK_PRINT_BACKEND_ENABLE_UNSUPPORTED
INCLUDE_IM_am_et
INCLUDE_IM_cedilla
INCLUDE_IM_cyrillic_translit
INCLUDE_IM_ime
INCLUDE_IM_inuktitut
INCLUDE_IM_ipa
INCLUDE_IM_multipress
INCLUDE_IM_thai
INCLUDE_IM_ti_er
INCLUDE_IM_ti_et
INCLUDE_IM_viqr
GTK_LIBDIR="/dummy/lib"
GTK_DATADIR="/dummy/share"
GTK_DATA_PREFIX="/dummy"
GTK_SYSCONFDIR="/dummy/etc"
MULTIPRESS_CONFDIR="/dummy/etc/gtk-3.0"
MULTIPRESS_LOCALEDIR="/dummy/share/locale"
GTK_VERSION="${GTK_VERSION}/etc"
GTK_BINARY_VERSION="3.0.0/etc"
GDK_DISABLE_DEPRECATED
ISOLATION_AWARE_ENABLED)
target_link_libraries(gtk-3 gdk-3 winspool comctl32 imm32)
target_compile_options(gtk-3 PRIVATE "/wd4828" PRIVATE "/wd4244" PRIVATE "/wd4305" PRIVATE "/wd4018")
extract_vcproj_sources(build/win32/vs14/gailutil-3.vcxproj GAILUTIL_SOURCES)
gtk_add_module(gailutil-3 ${GAILUTIL_SOURCES})
target_compile_definitions(gailutil-3 PRIVATE GTK_DISABLE_DEPRECATED GDK_DISABLE_DEPRECATED)
target_link_libraries(gailutil-3 gtk-3 gdk-3)
set_target_properties(gailutil-3 PROPERTIES
LINK_FLAGS \"/DEF:${CMAKE_CURRENT_SOURCE_DIR}/libgail-util/gailutil.def\")
if(NOT GTK_SKIP_HEADERS)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
include(install_headers)
endif()

View File

@ -1,5 +0,0 @@
Source: gtk
Version: 3.22.19-4
Homepage: https://www.gtk.org/
Description: Portable library for creating graphical user interfaces.
Build-Depends: glib, atk, gdk-pixbuf, pango, cairo, libepoxy, gettext

31
ports/gtk/build.patch Normal file
View File

@ -0,0 +1,31 @@
diff --git a/meson.build b/meson.build
index 9fe9cd5ac..19a19e5c6 100644
--- a/meson.build
+++ b/meson.build
@@ -792,16 +792,16 @@ subdir('docs/tools')
subdir('docs/reference')
# Keep this in sync with post-install.sh expected arguments
-if not meson.is_cross_build()
- meson.add_install_script('build-aux/meson/post-install.py',
- gtk_api_version,
- gtk_binary_version,
- gtk_libdir,
- gtk_datadir,
- gtk_bindir)
-else
- message('Not executing post-install steps automatically when cross compiling')
-endif
+#if not meson.is_cross_build()
+# meson.add_install_script('build-aux/meson/post-install.py',
+# gtk_api_version,
+# gtk_binary_version,
+# gtk_libdir,
+# gtk_datadir,
+# gtk_bindir)
+#else
+# message('Not executing post-install steps automatically when cross compiling')
+#endif
if host_machine.system() != 'windows'
# Install Valgrind suppression files (except on Windows,

View File

@ -1,376 +0,0 @@
install(FILES gdk/win32/gdkwin32.h DESTINATION include/gdk)
install(FILES gdk/gdk.h DESTINATION include/gdk)
install(FILES gdk/gdk-autocleanup.h DESTINATION include/gdk)
install(FILES gdk/gdkapplaunchcontext.h DESTINATION include/gdk)
install(FILES gdk/gdkcairo.h DESTINATION include/gdk)
install(FILES gdk/gdkcursor.h DESTINATION include/gdk)
install(FILES gdk/gdkdevice.h DESTINATION include/gdk)
install(FILES gdk/gdkdevicepad.h DESTINATION include/gdk)
install(FILES gdk/gdkdevicetool.h DESTINATION include/gdk)
install(FILES gdk/gdkdevicemanager.h DESTINATION include/gdk)
install(FILES gdk/gdkdisplay.h DESTINATION include/gdk)
install(FILES gdk/gdkdisplaymanager.h DESTINATION include/gdk)
install(FILES gdk/gdkdnd.h DESTINATION include/gdk)
install(FILES gdk/gdkdrawingcontext.h DESTINATION include/gdk)
install(FILES gdk/gdkevents.h DESTINATION include/gdk)
install(FILES gdk/gdkframetimings.h DESTINATION include/gdk)
install(FILES gdk/gdkglcontext.h DESTINATION include/gdk)
install(FILES gdk/gdkkeys.h DESTINATION include/gdk)
install(FILES gdk/gdkkeysyms.h DESTINATION include/gdk)
install(FILES gdk/gdkkeysyms-compat.h DESTINATION include/gdk)
install(FILES gdk/gdkmain.h DESTINATION include/gdk)
install(FILES gdk/gdkmonitor.h DESTINATION include/gdk)
install(FILES gdk/gdkpango.h DESTINATION include/gdk)
install(FILES gdk/gdkframeclock.h DESTINATION include/gdk)
install(FILES gdk/gdkpixbuf.h DESTINATION include/gdk)
install(FILES gdk/gdkprivate.h DESTINATION include/gdk)
install(FILES gdk/gdkproperty.h DESTINATION include/gdk)
install(FILES gdk/gdkrectangle.h DESTINATION include/gdk)
install(FILES gdk/gdkrgba.h DESTINATION include/gdk)
install(FILES gdk/gdkscreen.h DESTINATION include/gdk)
install(FILES gdk/gdkseat.h DESTINATION include/gdk)
install(FILES gdk/gdkselection.h DESTINATION include/gdk)
install(FILES gdk/gdktestutils.h DESTINATION include/gdk)
install(FILES gdk/gdkthreads.h DESTINATION include/gdk)
install(FILES gdk/gdktypes.h DESTINATION include/gdk)
install(FILES gdk/gdkvisual.h DESTINATION include/gdk)
install(FILES gdk/gdkwindow.h DESTINATION include/gdk)
install(FILES gdk/deprecated/gdkcolor.h DESTINATION include/gdk/deprecated)
install(FILES gdk/gdkconfig.h DESTINATION include/gdk)
install(FILES gdk/gdkenumtypes.h DESTINATION include/gdk)
install(FILES gdk/gdkversionmacros.h DESTINATION include/gdk)
install(FILES gdk/win32/gdkwin32cursor.h DESTINATION include/gdk/win32)
install(FILES gdk/win32/gdkwin32display.h DESTINATION include/gdk/win32)
install(FILES gdk/win32/gdkwin32displaymanager.h DESTINATION include/gdk/win32)
install(FILES gdk/win32/gdkwin32dnd.h DESTINATION include/gdk/win32)
install(FILES gdk/win32/gdkwin32glcontext.h DESTINATION include/gdk/win32)
install(FILES gdk/win32/gdkwin32keys.h DESTINATION include/gdk/win32)
install(FILES gdk/win32/gdkwin32misc.h DESTINATION include/gdk/win32)
install(FILES gdk/win32/gdkwin32monitor.h DESTINATION include/gdk/win32)
install(FILES gdk/win32/gdkwin32screen.h DESTINATION include/gdk/win32)
install(FILES gdk/win32/gdkwin32window.h DESTINATION include/gdk/win32)
install(FILES gtk/gtk.h DESTINATION include/gtk)
install(FILES gtk/gtk-autocleanups.h DESTINATION include/gtk)
install(FILES gtk/gtkx.h DESTINATION include/gtk)
install(FILES gtk/gtkx-autocleanups.h DESTINATION include/gtk)
install(FILES gtk/gtk-a11y.h DESTINATION include/gtk)
install(FILES gtk/gtkaboutdialog.h DESTINATION include/gtk)
install(FILES gtk/gtkaccelgroup.h DESTINATION include/gtk)
install(FILES gtk/gtkaccellabel.h DESTINATION include/gtk)
install(FILES gtk/gtkaccelmap.h DESTINATION include/gtk)
install(FILES gtk/gtkaccessible.h DESTINATION include/gtk)
install(FILES gtk/gtkactionable.h DESTINATION include/gtk)
install(FILES gtk/gtkactionbar.h DESTINATION include/gtk)
install(FILES gtk/gtkadjustment.h DESTINATION include/gtk)
install(FILES gtk/gtkappchooser.h DESTINATION include/gtk)
install(FILES gtk/gtkappchooserbutton.h DESTINATION include/gtk)
install(FILES gtk/gtkappchooserdialog.h DESTINATION include/gtk)
install(FILES gtk/gtkappchooserwidget.h DESTINATION include/gtk)
install(FILES gtk/gtkapplication.h DESTINATION include/gtk)
install(FILES gtk/gtkapplicationwindow.h DESTINATION include/gtk)
install(FILES gtk/gtkaspectframe.h DESTINATION include/gtk)
install(FILES gtk/gtkassistant.h DESTINATION include/gtk)
install(FILES gtk/gtkbbox.h DESTINATION include/gtk)
install(FILES gtk/gtkbin.h DESTINATION include/gtk)
install(FILES gtk/gtkbindings.h DESTINATION include/gtk)
install(FILES gtk/gtkborder.h DESTINATION include/gtk)
install(FILES gtk/gtkbox.h DESTINATION include/gtk)
install(FILES gtk/gtkbuilder.h DESTINATION include/gtk)
install(FILES gtk/gtkbuildable.h DESTINATION include/gtk)
install(FILES gtk/gtkbutton.h DESTINATION include/gtk)
install(FILES gtk/gtkcalendar.h DESTINATION include/gtk)
install(FILES gtk/gtkcellarea.h DESTINATION include/gtk)
install(FILES gtk/gtkcellareacontext.h DESTINATION include/gtk)
install(FILES gtk/gtkcellareabox.h DESTINATION include/gtk)
install(FILES gtk/gtkcelleditable.h DESTINATION include/gtk)
install(FILES gtk/gtkcelllayout.h DESTINATION include/gtk)
install(FILES gtk/gtkcellrenderer.h DESTINATION include/gtk)
install(FILES gtk/gtkcellrendereraccel.h DESTINATION include/gtk)
install(FILES gtk/gtkcellrenderercombo.h DESTINATION include/gtk)
install(FILES gtk/gtkcellrendererpixbuf.h DESTINATION include/gtk)
install(FILES gtk/gtkcellrendererprogress.h DESTINATION include/gtk)
install(FILES gtk/gtkcellrendererspin.h DESTINATION include/gtk)
install(FILES gtk/gtkcellrendererspinner.h DESTINATION include/gtk)
install(FILES gtk/gtkcellrenderertext.h DESTINATION include/gtk)
install(FILES gtk/gtkcellrenderertoggle.h DESTINATION include/gtk)
install(FILES gtk/gtkcellview.h DESTINATION include/gtk)
install(FILES gtk/gtkcheckbutton.h DESTINATION include/gtk)
install(FILES gtk/gtkcheckmenuitem.h DESTINATION include/gtk)
install(FILES gtk/gtkclipboard.h DESTINATION include/gtk)
install(FILES gtk/gtkcolorbutton.h DESTINATION include/gtk)
install(FILES gtk/gtkcolorchooser.h DESTINATION include/gtk)
install(FILES gtk/gtkcolorchooserwidget.h DESTINATION include/gtk)
install(FILES gtk/gtkcolorchooserdialog.h DESTINATION include/gtk)
install(FILES gtk/gtkcolorutils.h DESTINATION include/gtk)
install(FILES gtk/gtkcombobox.h DESTINATION include/gtk)
install(FILES gtk/gtkcomboboxtext.h DESTINATION include/gtk)
install(FILES gtk/gtkcontainer.h DESTINATION include/gtk)
install(FILES gtk/gtkcssprovider.h DESTINATION include/gtk)
install(FILES gtk/gtkcsssection.h DESTINATION include/gtk)
install(FILES gtk/gtkdebug.h DESTINATION include/gtk)
install(FILES gtk/gtkdialog.h DESTINATION include/gtk)
install(FILES gtk/gtkdnd.h DESTINATION include/gtk)
install(FILES gtk/gtkdragdest.h DESTINATION include/gtk)
install(FILES gtk/gtkdragsource.h DESTINATION include/gtk)
install(FILES gtk/gtkdrawingarea.h DESTINATION include/gtk)
install(FILES gtk/gtkeditable.h DESTINATION include/gtk)
install(FILES gtk/gtkentry.h DESTINATION include/gtk)
install(FILES gtk/gtkentrybuffer.h DESTINATION include/gtk)
install(FILES gtk/gtkentrycompletion.h DESTINATION include/gtk)
install(FILES gtk/gtkenums.h DESTINATION include/gtk)
install(FILES gtk/gtkeventbox.h DESTINATION include/gtk)
install(FILES gtk/gtkeventcontroller.h DESTINATION include/gtk)
install(FILES gtk/gtkexpander.h DESTINATION include/gtk)
install(FILES gtk/gtkfilechooser.h DESTINATION include/gtk)
install(FILES gtk/gtkfilechooserbutton.h DESTINATION include/gtk)
install(FILES gtk/gtkfilechooserdialog.h DESTINATION include/gtk)
install(FILES gtk/gtkfilechoosernative.h DESTINATION include/gtk)
install(FILES gtk/gtkfilechooserwidget.h DESTINATION include/gtk)
install(FILES gtk/gtkfilefilter.h DESTINATION include/gtk)
install(FILES gtk/gtkfixed.h DESTINATION include/gtk)
install(FILES gtk/gtkflowbox.h DESTINATION include/gtk)
install(FILES gtk/gtkfontbutton.h DESTINATION include/gtk)
install(FILES gtk/gtkfontchooser.h DESTINATION include/gtk)
install(FILES gtk/gtkfontchooserdialog.h DESTINATION include/gtk)
install(FILES gtk/gtkfontchooserwidget.h DESTINATION include/gtk)
install(FILES gtk/gtkframe.h DESTINATION include/gtk)
install(FILES gtk/gtkgesture.h DESTINATION include/gtk)
install(FILES gtk/gtkgesturedrag.h DESTINATION include/gtk)
install(FILES gtk/gtkgesturelongpress.h DESTINATION include/gtk)
install(FILES gtk/gtkgesturemultipress.h DESTINATION include/gtk)
install(FILES gtk/gtkgesturepan.h DESTINATION include/gtk)
install(FILES gtk/gtkgesturerotate.h DESTINATION include/gtk)
install(FILES gtk/gtkgesturesingle.h DESTINATION include/gtk)
install(FILES gtk/gtkgestureswipe.h DESTINATION include/gtk)
install(FILES gtk/gtkgesturezoom.h DESTINATION include/gtk)
install(FILES gtk/gtkglarea.h DESTINATION include/gtk)
install(FILES gtk/gtkgrid.h DESTINATION include/gtk)
install(FILES gtk/gtkheaderbar.h DESTINATION include/gtk)
install(FILES gtk/gtkicontheme.h DESTINATION include/gtk)
install(FILES gtk/gtkiconview.h DESTINATION include/gtk)
install(FILES gtk/gtkimage.h DESTINATION include/gtk)
install(FILES gtk/gtkimcontext.h DESTINATION include/gtk)
install(FILES gtk/gtkimcontextinfo.h DESTINATION include/gtk)
install(FILES gtk/gtkimcontextsimple.h DESTINATION include/gtk)
install(FILES gtk/gtkimmodule.h DESTINATION include/gtk)
install(FILES gtk/gtkimmulticontext.h DESTINATION include/gtk)
install(FILES gtk/gtkinfobar.h DESTINATION include/gtk)
install(FILES gtk/gtkinvisible.h DESTINATION include/gtk)
install(FILES gtk/gtklabel.h DESTINATION include/gtk)
install(FILES gtk/gtklayout.h DESTINATION include/gtk)
install(FILES gtk/gtklevelbar.h DESTINATION include/gtk)
install(FILES gtk/gtklinkbutton.h DESTINATION include/gtk)
install(FILES gtk/gtklistbox.h DESTINATION include/gtk)
install(FILES gtk/gtkliststore.h DESTINATION include/gtk)
install(FILES gtk/gtklockbutton.h DESTINATION include/gtk)
install(FILES gtk/gtkmain.h DESTINATION include/gtk)
install(FILES gtk/gtkmenu.h DESTINATION include/gtk)
install(FILES gtk/gtkmenubar.h DESTINATION include/gtk)
install(FILES gtk/gtkmenubutton.h DESTINATION include/gtk)
install(FILES gtk/gtkmenuitem.h DESTINATION include/gtk)
install(FILES gtk/gtkmenushell.h DESTINATION include/gtk)
install(FILES gtk/gtkmenutoolbutton.h DESTINATION include/gtk)
install(FILES gtk/gtkmessagedialog.h DESTINATION include/gtk)
install(FILES gtk/gtkmodelbutton.h DESTINATION include/gtk)
install(FILES gtk/gtkmodules.h DESTINATION include/gtk)
install(FILES gtk/gtkmountoperation.h DESTINATION include/gtk)
install(FILES gtk/gtknativedialog.h DESTINATION include/gtk)
install(FILES gtk/gtknotebook.h DESTINATION include/gtk)
install(FILES gtk/gtkoffscreenwindow.h DESTINATION include/gtk)
install(FILES gtk/gtkorientable.h DESTINATION include/gtk)
install(FILES gtk/gtkoverlay.h DESTINATION include/gtk)
install(FILES gtk/gtkpadcontroller.h DESTINATION include/gtk)
install(FILES gtk/gtkpagesetup.h DESTINATION include/gtk)
install(FILES gtk/gtkpaned.h DESTINATION include/gtk)
install(FILES gtk/gtkpapersize.h DESTINATION include/gtk)
install(FILES gtk/gtkplacessidebar.h DESTINATION include/gtk)
install(FILES gtk/gtkplug.h DESTINATION include/gtk)
install(FILES gtk/gtkpopover.h DESTINATION include/gtk)
install(FILES gtk/gtkpopovermenu.h DESTINATION include/gtk)
install(FILES gtk/gtkprintcontext.h DESTINATION include/gtk)
install(FILES gtk/gtkprintoperation.h DESTINATION include/gtk)
install(FILES gtk/gtkprintoperationpreview.h DESTINATION include/gtk)
install(FILES gtk/gtkprintsettings.h DESTINATION include/gtk)
install(FILES gtk/gtkprogressbar.h DESTINATION include/gtk)
install(FILES gtk/gtkradiobutton.h DESTINATION include/gtk)
install(FILES gtk/gtkradiomenuitem.h DESTINATION include/gtk)
install(FILES gtk/gtkradiotoolbutton.h DESTINATION include/gtk)
install(FILES gtk/gtkrange.h DESTINATION include/gtk)
install(FILES gtk/gtkrecentchooser.h DESTINATION include/gtk)
install(FILES gtk/gtkrecentchooserdialog.h DESTINATION include/gtk)
install(FILES gtk/gtkrecentchoosermenu.h DESTINATION include/gtk)
install(FILES gtk/gtkrecentchooserwidget.h DESTINATION include/gtk)
install(FILES gtk/gtkrecentfilter.h DESTINATION include/gtk)
install(FILES gtk/gtkrecentmanager.h DESTINATION include/gtk)
install(FILES gtk/gtkrender.h DESTINATION include/gtk)
install(FILES gtk/gtkrevealer.h DESTINATION include/gtk)
install(FILES gtk/gtkscale.h DESTINATION include/gtk)
install(FILES gtk/gtkscalebutton.h DESTINATION include/gtk)
install(FILES gtk/gtkscrollable.h DESTINATION include/gtk)
install(FILES gtk/gtkscrollbar.h DESTINATION include/gtk)
install(FILES gtk/gtkscrolledwindow.h DESTINATION include/gtk)
install(FILES gtk/gtksearchbar.h DESTINATION include/gtk)
install(FILES gtk/gtksearchentry.h DESTINATION include/gtk)
install(FILES gtk/gtkselection.h DESTINATION include/gtk)
install(FILES gtk/gtkseparator.h DESTINATION include/gtk)
install(FILES gtk/gtkseparatormenuitem.h DESTINATION include/gtk)
install(FILES gtk/gtkseparatortoolitem.h DESTINATION include/gtk)
install(FILES gtk/gtksettings.h DESTINATION include/gtk)
install(FILES gtk/gtkshortcutlabel.h DESTINATION include/gtk)
install(FILES gtk/gtkshortcutsgroup.h DESTINATION include/gtk)
install(FILES gtk/gtkshortcutssection.h DESTINATION include/gtk)
install(FILES gtk/gtkshortcutsshortcut.h DESTINATION include/gtk)
install(FILES gtk/gtkshortcutswindow.h DESTINATION include/gtk)
install(FILES gtk/gtkshow.h DESTINATION include/gtk)
install(FILES gtk/gtkstacksidebar.h DESTINATION include/gtk)
install(FILES gtk/gtksizegroup.h DESTINATION include/gtk)
install(FILES gtk/gtksizerequest.h DESTINATION include/gtk)
install(FILES gtk/gtksocket.h DESTINATION include/gtk)
install(FILES gtk/gtkspinbutton.h DESTINATION include/gtk)
install(FILES gtk/gtkspinner.h DESTINATION include/gtk)
install(FILES gtk/gtkstack.h DESTINATION include/gtk)
install(FILES gtk/gtkstackswitcher.h DESTINATION include/gtk)
install(FILES gtk/gtkstatusbar.h DESTINATION include/gtk)
install(FILES gtk/gtkstylecontext.h DESTINATION include/gtk)
install(FILES gtk/gtkstyleprovider.h DESTINATION include/gtk)
install(FILES gtk/gtkswitch.h DESTINATION include/gtk)
install(FILES gtk/gtktestutils.h DESTINATION include/gtk)
install(FILES gtk/gtktextattributes.h DESTINATION include/gtk)
install(FILES gtk/gtktextbuffer.h DESTINATION include/gtk)
install(FILES gtk/gtktextbufferrichtext.h DESTINATION include/gtk)
install(FILES gtk/gtktextchild.h DESTINATION include/gtk)
install(FILES gtk/gtktextdisplay.h DESTINATION include/gtk)
install(FILES gtk/gtktextiter.h DESTINATION include/gtk)
install(FILES gtk/gtktextmark.h DESTINATION include/gtk)
install(FILES gtk/gtktexttag.h DESTINATION include/gtk)
install(FILES gtk/gtktexttagtable.h DESTINATION include/gtk)
install(FILES gtk/gtktextview.h DESTINATION include/gtk)
install(FILES gtk/gtktogglebutton.h DESTINATION include/gtk)
install(FILES gtk/gtktoggletoolbutton.h DESTINATION include/gtk)
install(FILES gtk/gtktoolbar.h DESTINATION include/gtk)
install(FILES gtk/gtktoolbutton.h DESTINATION include/gtk)
install(FILES gtk/gtktoolitem.h DESTINATION include/gtk)
install(FILES gtk/gtktoolitemgroup.h DESTINATION include/gtk)
install(FILES gtk/gtktoolpalette.h DESTINATION include/gtk)
install(FILES gtk/gtktoolshell.h DESTINATION include/gtk)
install(FILES gtk/gtktooltip.h DESTINATION include/gtk)
install(FILES gtk/gtktreednd.h DESTINATION include/gtk)
install(FILES gtk/gtktreemodel.h DESTINATION include/gtk)
install(FILES gtk/gtktreemodelfilter.h DESTINATION include/gtk)
install(FILES gtk/gtktreemodelsort.h DESTINATION include/gtk)
install(FILES gtk/gtktreeselection.h DESTINATION include/gtk)
install(FILES gtk/gtktreesortable.h DESTINATION include/gtk)
install(FILES gtk/gtktreestore.h DESTINATION include/gtk)
install(FILES gtk/gtktreeview.h DESTINATION include/gtk)
install(FILES gtk/gtktreeviewcolumn.h DESTINATION include/gtk)
install(FILES gtk/gtktypes.h DESTINATION include/gtk)
install(FILES gtk/gtkviewport.h DESTINATION include/gtk)
install(FILES gtk/gtkvolumebutton.h DESTINATION include/gtk)
install(FILES gtk/gtkwidget.h DESTINATION include/gtk)
install(FILES gtk/gtkwidgetpath.h DESTINATION include/gtk)
install(FILES gtk/gtkwindow.h DESTINATION include/gtk)
install(FILES gtk/gtkwindowgroup.h DESTINATION include/gtk)
install(FILES gtk/gtktextlayout.h DESTINATION include/gtk)
install(FILES gtk/gtktypebuiltins.h DESTINATION include/gtk)
install(FILES gtk/gtkversion.h DESTINATION include/gtk)
install(FILES gtk/a11y/gtk-a11y-autocleanups.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkarrowaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkbooleancellaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkbuttonaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkcellaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkcellaccessibleparent.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkcheckmenuitemaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkcomboboxaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkcontaineraccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkcontainercellaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkentryaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkexpanderaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkflowboxaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkflowboxchildaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkframeaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkiconviewaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkimageaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkimagecellaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtklabelaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtklevelbaraccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtklinkbuttonaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtklistboxaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtklistboxrowaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtklockbuttonaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkmenuaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkmenubuttonaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkmenuitemaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkmenushellaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtknotebookaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtknotebookpageaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkpanedaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkpopoveraccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkprogressbaraccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkradiobuttonaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkradiomenuitemaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkrangeaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkrenderercellaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkscaleaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkscalebuttonaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkscrolledwindowaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkspinbuttonaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkspinneraccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkstatusbaraccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkstackaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkswitchaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtktextcellaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtktextviewaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtktogglebuttonaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtktoplevelaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtktreeviewaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkwidgetaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/a11y/gtkwindowaccessible.h DESTINATION include/gtk/a11y)
install(FILES gtk/deprecated/gtkactivatable.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkaction.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkactiongroup.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkalignment.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkarrow.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkcolorsel.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkcolorseldialog.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkfontsel.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkgradient.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkhandlebox.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkhbbox.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkhbox.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkhpaned.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkhscale.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkhscrollbar.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkhseparator.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkhsv.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkiconfactory.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkimagemenuitem.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkmisc.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtknumerableicon.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkradioaction.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkrc.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkrecentaction.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkstatusicon.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkstock.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkstyle.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkstyleproperties.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtksymboliccolor.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtktable.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtktearoffmenuitem.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkthemingengine.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtktoggleaction.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkuimanager.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkvbbox.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkvbox.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkvscale.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkvscrollbar.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkvseparator.h DESTINATION include/gtk/deprecated)
install(FILES gtk/deprecated/gtkvpaned.h DESTINATION include/gtk/deprecated)
install(FILES libgail-util/gailmisc.h DESTINATION include/libgail-util)
install(FILES libgail-util/gailtextutil.h DESTINATION include/libgail-util)
install(FILES libgail-util/gail-util.h DESTINATION include/libgail-util)
install(FILES gdk/broadway/gdkbroadway.h DESTINATION include/gdk)
install(FILES gdk/broadway/gdkbroadwaydisplay.h DESTINATION include/gdk/broadway)
install(FILES gdk/broadway/gdkbroadwaywindow.h DESTINATION include/gdk/broadway)
install(FILES gdk/broadway/gdkbroadwaycursor.h DESTINATION include/gdk/broadway)
install(FILES gdk/broadway/gdkbroadwaymonitor.h DESTINATION include/gdk/broadway)
install(FILES gdk/broadway/gdkbroadwayvisual.h DESTINATION include/gdk/broadway)

View File

@ -0,0 +1,27 @@
diff --git a/gsk/meson.build b/gsk/meson.build
index 748f4738a..6d6247343 100644
--- a/gsk/meson.build
+++ b/gsk/meson.build
@@ -165,6 +165,7 @@ gsk_deps = [
pango_dep,
cairo_dep,
cairo_csi_dep,
+ lzo_dep,
pixbuf_dep,
libgdk_dep,
]
diff --git a/meson.build b/meson.build
index 19c3fa942..cd57128b2 100644
--- a/meson.build
+++ b/meson.build
@@ -451,7 +451,9 @@ cairo_csi_dep = dependency('cairo-script-interpreter', required: false)
if not cairo_csi_dep.found()
cairo_csi_dep = cc.find_library('cairo-script-interpreter', required: get_option('build-tests'))
endif
-
+if cairo_csi_dep.found()
+ lzo_dep = dependency('lzo2')
+endif
cdata.set('HAVE_CAIRO_SCRIPT_INTERPRETER', cairo_csi_dep.found())
cdata.set('HAVE_HARFBUZZ', harfbuzz_dep.found())
cdata.set('HAVE_PANGOFT', pangoft_dep.found())

View File

@ -1,42 +1,131 @@
set(GTK_VERSION 3.22.19)
set(GTK_VERSION 4.0.1)
vcpkg_download_distfile(ARCHIVE
URLS "https://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-${GTK_VERSION}.tar.xz"
FILENAME "gtk+-${GTK_VERSION}.tar.xz"
SHA512 c83198794433ee6eb29f8740d59bd7056cd36808b4bff1a99563ab1a1742e6635dab4f2a8be33317f74d3b336f0d1adc28dd91410da056b50a08c215f184dce2
URLS "https://download.gnome.org/sources/gtk/4.0/gtk-4.0.1.tar.xz"
FILENAME "gtk-${GTK_VERSION}.tar.xz"
SHA512 cab50b5bcf1a6bfdd5245c908e813330b9173531c49fdd63f9b5618f5329ddf2560f0a3548f61bba55dea6d816e57681d4e59941cfc50cf430544d3ebcd90aad
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES build.patch
#link_fix_static.patch
)
vcpkg_find_acquire_program(PKGCONFIG)
get_filename_component(PKGCONFIG_DIR "${PKGCONFIG}" DIRECTORY )
vcpkg_add_to_path("${PKGCONFIG_DIR}") # Post install script runs pkg-config so it needs to be on PATH
vcpkg_add_to_path("${CURRENT_HOST_INSTALLED_DIR}/tools/glib/")
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/cmake DESTINATION ${SOURCE_PATH})
# generate sources using python script installed with glib
if(NOT EXISTS ${SOURCE_PATH}/gtk/gtkdbusgenerated.h OR NOT EXISTS ${SOURCE_PATH}/gtk/gtkdbusgenerated.c)
vcpkg_find_acquire_program(PYTHON3)
set(GLIB_TOOL_DIR ${CURRENT_INSTALLED_DIR}/tools/glib)
vcpkg_execute_required_process(
COMMAND ${PYTHON3} ${GLIB_TOOL_DIR}/gdbus-codegen --interface-prefix org.Gtk. --c-namespace _Gtk --generate-c-code gtkdbusgenerated ./gtkdbusinterfaces.xml
WORKING_DIRECTORY ${SOURCE_PATH}/gtk
LOGNAME source-gen)
set(x11 false)
set(win32 false)
set(osx false)
if(VCPKG_TARGET_IS_LINUX)
set(OPTIONS -Dwayland-backend=false) # CI missing at least wayland-protocols
set(x11 true)
# Enable the wayland gdk backend (only when building on Unix except for macOS)
elseif(VCPKG_TARGET_IS_WINDOWS)
set(win32 true)
elseif(VCPKG_TARGET_IS_OSX)
set(osx true)
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
DISABLE_PARALLEL_CONFIGURE
OPTIONS
-DGTK_VERSION=${GTK_VERSION}
OPTIONS_DEBUG
-DGTK_SKIP_HEADERS=ON)
list(APPEND OPTIONS -Dx11-backend=${x11}) #Enable the X11 gdk backend (only when building on Unix)
list(APPEND OPTIONS -Dbroadway-backend=false) #Enable the broadway (HTML5) gdk backend
list(APPEND OPTIONS -Dwin32-backend=${win32}) #Enable the Windows gdk backend (only when building on Windows)
list(APPEND OPTIONS -Dmacos-backend=${osx}) #Enable the macOS gdk backend (only when building on macOS)
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
${OPTIONS}
-Ddemos=false
-Dbuild-examples=false
-Dbuild-tests=false
-Dinstall-tests=false
-Dgtk_doc=false
-Dman-pages=false
-Dintrospection=disabled
-Dsassc=enabled # Rebuild themes using sassc
-Dmedia-ffmpeg=disabled # Build the ffmpeg media backend
-Dmedia-gstreamer=disabled # Build the gstreamer media backend
-Dprint-cups=disabled # Build the cups print backend
-Dprint-cloudprint=disabled # Build the cloudprint print backend
-Dvulkan=disabled # Enable support for the Vulkan graphics API
-Dxinerama=disabled # Enable support for the X11 Xinerama extension
-Dcloudproviders=disabled # Enable the cloudproviders support
-Dsysprof=disabled # include tracing support for sysprof
-Dtracker=disabled # Enable Tracker3 filechooser search
-Dcolord=disabled # Build colord support for the CUPS printing backend
ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}'
gdbus-codegen='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen'
glib-compile-schemas='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-schemas${VCPKG_HOST_EXECUTABLE_SUFFIX}'
sassc='${CURRENT_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}'
ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}'
gdbus-codegen='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/gdbus-codegen'
glib-compile-schemas='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-schemas${VCPKG_HOST_EXECUTABLE_SUFFIX}'
sassc='${CURRENT_INSTALLED_DIR}/tools/sassc/bin/sassc${VCPKG_HOST_EXECUTABLE_SUFFIX}'
)
vcpkg_install_meson()
# If somebody finds out how to access and forward env variables to
# the meson install script be my guest. Nevertheless the script still
# needs manual execution in the crosscompiling case.
vcpkg_find_acquire_program(PYTHON3)
foreach(_config release debug)
if(_config STREQUAL "release")
set(_short rel)
set(_path_suffix)
else()
set(_short dbg)
set(_path_suffix /debug)
endif()
if(NOT EXISTS "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib")
continue()
endif()
message(STATUS "Running post install script: ${TARGET_TRIPLET}-${_short}")
set(PKGCONFIG_INSTALLED_DIR "${CURRENT_INSTALLED_DIR}${_path_suffix}/lib/pkgconfig/")
set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_INSTALLED_DIR}")
#file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0/4.0.0/media")
#file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0/4.0.0/immodules")
#file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0/4.0.0/printbackends")
vcpkg_execute_required_process(
COMMAND "${PYTHON3}" "${SOURCE_PATH}/build-aux/meson/post-install.py" 4.0 4.0.0 "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib" "${CURRENT_PACKAGES_DIR}${_path_suffix}/share" "${CURRENT_PACKAGES_DIR}${_path_suffix}/bin"
WORKING_DIRECTORY ${SOURCE_PATH}
LOGNAME post-install-${TARGET_TRIPLET}-${_short}
)
unset(ENV{PKG_CONFIG_PATH})
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0")
#file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}${_path_suffix}/bin/gtk-4.0")
#file(RENAME "${CURRENT_PACKAGES_DIR}${_path_suffix}/lib/gtk-4.0/" "${CURRENT_PACKAGES_DIR}${_path_suffix}/bin/gtk-4.0")
message(STATUS "Post install ${TARGET_TRIPLET}-${_short} done")
endforeach()
vcpkg_install_cmake()
vcpkg_copy_pdbs()
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gtk)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/gtk/COPYING ${CURRENT_PACKAGES_DIR}/share/gtk/copyright)
vcpkg_fixup_pkgconfig()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
set(TOOL_NAMES gtk4-builder-tool
gtk4-encode-symbolic-svg
gtk4-query-settings
gtk4-update-icon-cache)
if(VCPKG_TARGET_IS_LINUX)
list(APPEND TOOL_NAMES gtk4-launch)
endif()
vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()

35
ports/gtk/vcpkg.json Normal file
View File

@ -0,0 +1,35 @@
{
"name": "gtk",
"version": "4.0.1",
"description": "Portable library for creating graphical user interfaces.",
"homepage": "https://www.gtk.org/",
"dependencies": [
"atk",
{
"name": "cairo",
"default-features": false,
"features": [
"gobject"
]
},
{
"name": "cairo",
"default-features": false,
"features": [
"x11"
],
"platform": "linux"
},
"gdk-pixbuf",
"gettext",
"glib",
{
"name": "glib",
"host": true
},
"graphene",
"libepoxy",
"pango",
"sassc"
]
}

View File

@ -1,7 +0,0 @@
Source: gtkmm
Version: 3.22.2
Port-Version: 5
Homepage: https://www.gtkmm.org/
Description: gtkmm is the official C++ interface for the popular GUI library GTK+.
Build-Depends: glib, atk, gtk, gdk-pixbuf, pango, cairo, libepoxy, gettext, glibmm, atkmm, cairomm, pangomm
Supports: !uwp

View File

@ -1,502 +0,0 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

40
ports/gtkmm/build.patch Normal file
View File

@ -0,0 +1,40 @@
diff --git a/gtk/gtkmm/meson.build b/gtk/gtkmm/meson.build
index bf6c5804d..3b2ae866d 100644
--- a/gtk/gtkmm/meson.build
+++ b/gtk/gtkmm/meson.build
@@ -489,6 +489,10 @@ if is_host_windows
extra_gtkmm_objects += gtkmm_res
endif
+if meson.get_compiler('cpp').get_id() == 'msvc'
+ gtkmm_cpp_args += ['-std:c++17']
+endif
+
gtkmm_library = library(gtkmm_libname, extra_gtkmm_objects,
gtk_gen_sources, built_dummy_h_file_target, gtkmm_extra_used_cc_files,
include_directories: extra_include_dirs,
diff --git a/gtk/src/expressionwatch.hg b/gtk/src/expressionwatch.hg
index 78308d221..04e593f8b 100644
--- a/gtk/src/expressionwatch.hg
+++ b/gtk/src/expressionwatch.hg
@@ -16,6 +16,7 @@
_CONFIGINCLUDE(gtkmmconfig.h)
+#include <optional>
#include <glibmm/object.h>
#include <gtk/gtk.h>
diff --git a/untracked/gtk/gtkmm/expressionwatch.h b/untracked/gtk/gtkmm/expressionwatch.h
index 3a80efd64..279870ed7 100644
--- a/untracked/gtk/gtkmm/expressionwatch.h
+++ b/untracked/gtk/gtkmm/expressionwatch.h
@@ -4,7 +4,7 @@
#include <gtkmmconfig.h>
-
+#include <optional>
#include <glibmm/ustring.h>
#include <sigc++/sigc++.h>

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +0,0 @@
diff --git a/gtk/gtkmm/treeviewcolumn.h b/gtk/gtkmm/treeviewcolumn.h
index f2a77c1..c66302a 100644
--- a/gtk/gtkmm/treeviewcolumn.h
+++ b/gtk/gtkmm/treeviewcolumn.h
@@ -1026,9 +1026,7 @@ void TreeViewColumn::pack_end(const TreeModelColumn<T_ModelColumnType>& column,
template <class T_ModelColumnType> inline
TreeViewColumn::TreeViewColumn(const Glib::ustring& title,
const TreeModelColumn<T_ModelColumnType>& column)
-:
- Glib::ObjectBase(nullptr), // not (yet) a custom class
- Gtk::Object(Glib::ConstructParams(class_init_(), "title", title.c_str(), nullptr))
+: TreeViewColumn (title)
{
pack_start(column, true /* expand */);
}

35
ports/gtkmm/gtkapi.patch Normal file
View File

@ -0,0 +1,35 @@
diff --git a/untracked/gtk/gtkmm/expression.h b/untracked/gtk/gtkmm/expression.h
index fc3bf1e5b..ff70c720a 100644
--- a/untracked/gtk/gtkmm/expression.h
+++ b/untracked/gtk/gtkmm/expression.h
@@ -377,7 +377,7 @@ private:
namespace Expression_Private
{
-void watch_callback(gpointer data);
+GTKMM_API void watch_callback(gpointer data);
template<class T, class... ATs>
class Invoker
@@ -406,7 +406,7 @@ void closure_marshal(GClosure* closure,
gpointer invocation_hint,
gpointer marshal_data);
-void closure_callback_func();
+GTKMM_API void closure_callback_func();
template<class TI>
void closure_destroy(gpointer data, GClosure* closure);
diff --git a/untracked/gtk/gtkmm/expressionwatch.h b/untracked/gtk/gtkmm/expressionwatch.h
index 279870ed7..e9c760664 100644
--- a/untracked/gtk/gtkmm/expressionwatch.h
+++ b/untracked/gtk/gtkmm/expressionwatch.h
@@ -83,7 +83,7 @@ public:
};
template<class T>
-class GTKMM_API ExpressionWatch final : public ExpressionWatchBase
+class ExpressionWatch final : public ExpressionWatchBase
{
public:
/** Evaluates the watched expression and on success returns the result.

View File

@ -1,34 +0,0 @@
#ifndef _MSC_VER
#pragma error "This header is for Microsoft VC only."
#endif /* _MSC_VER */
/* Make MSVC more pedantic, this is a recommended pragma list
* from _Win32_Programming_ by Rector and Newcomer.
*/
#pragma warning(error:4002) /* too many actual parameters for macro */
#pragma warning(error:4003) /* not enough actual parameters for macro */
#pragma warning(1:4010) /* single-line comment contains line-continuation character */
#pragma warning(error:4013) /* 'function' undefined; assuming extern returning int */
#pragma warning(1:4016) /* no function return type; using int as default */
#pragma warning(error:4020) /* too many actual parameters */
#pragma warning(error:4021) /* too few actual parameters */
#pragma warning(error:4027) /* function declared without formal parameter list */
#pragma warning(error:4029) /* declared formal parameter list different from definition */
#pragma warning(error:4033) /* 'function' must return a value */
#pragma warning(error:4035) /* 'function' : no return value */
#pragma warning(error:4045) /* array bounds overflow */
#pragma warning(error:4047) /* different levels of indirection */
#pragma warning(error:4049) /* terminating line number emission */
#pragma warning(error:4053) /* An expression of type void was used as an operand */
#pragma warning(error:4071) /* no function prototype given */
#pragma warning(disable:4101) /* unreferenced local variable */
#pragma warning(error:4150)
#pragma warning(disable:4244) /* No possible loss of data warnings */
#pragma warning(disable:4305) /* No truncation from int to char warnings */
#pragma warning(error:4819) /* The file contains a character that cannot be represented in the current code page */
/* work around Microsoft's premature attempt to deprecate the C-Library */
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_NONSTDC_NO_WARNINGS

View File

@ -1,97 +1,33 @@
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL WindowsStore)
message(FATAL_ERROR "Error: UWP builds are currently not supported.")
endif()
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
vcpkg_fail_port_install(ON_TARGET "uwp")
vcpkg_download_distfile(ARCHIVE
URLS "https://ftp.gnome.org/pub/GNOME/sources/gtkmm/3.22/gtkmm-3.22.2.tar.xz"
FILENAME "gtkmm-3.22.2.tar.xz"
SHA512 6e96b543e459481145ee0f56f31a7ad2466bd8ccdd2abf3205998aecede73d235149ca6e5ba6e8d20a4fd5345e310870d81ac2a716d4f78d1460ed685badbdc2
URLS "https://ftp.gnome.org/pub/GNOME/sources/gtkmm/4.0/gtkmm-4.0.0.tar.xz"
FILENAME "gtkmm-4.0.0.tar.xz"
SHA512 16893b6caa39f1b65a4140296d8d25c0d5e5f8a6ab808086783e7222bc1f5e8b94d17d48e4b718a12f0e0291010d445f4da9f88b7f494ec36adb22752d932743
)
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES
fix_properties.patch
fix_treeviewcolumn.patch
PATCHES
build.patch
gtkapi.patch #upstream patch to fix dllimport issue
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h DESTINATION ${SOURCE_PATH}/MSVC_Net2013)
set(VS_PLATFORM ${VCPKG_TARGET_ARCHITECTURE})
if(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86)
set(VS_PLATFORM "Win32")
endif(${VCPKG_TARGET_ARCHITECTURE} STREQUAL x86)
vcpkg_build_msbuild(
PROJECT_PATH ${SOURCE_PATH}/MSVC_Net2013/gtkmm.sln
TARGET gtkmm
PLATFORM ${VS_PLATFORM}
USE_VCPKG_INTEGRATION
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-Dmsvc14x-parallel-installable=false # Use separate DLL and LIB filenames for Visual Studio 2017 and 2019
-Dbuild-tests=false
-Dbuild-demos=false
ADDITIONAL_NATIVE_BINARIES glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}'
ADDITIONAL_CROSS_BINARIES glib-compile-resources='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-compile-resources${VCPKG_HOST_EXECUTABLE_SUFFIX}'
)
# Handle headers
file(COPY ${SOURCE_PATH}/MSVC_Net2013/gdkmm/gdkmmconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(COPY ${SOURCE_PATH}/gdk/gdkmm.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(
COPY
${SOURCE_PATH}/gdk/gdkmm
DESTINATION ${CURRENT_PACKAGES_DIR}/include
FILES_MATCHING PATTERN *.h
)
file(COPY ${SOURCE_PATH}/MSVC_Net2013/gtkmm/gtkmmconfig.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(COPY ${SOURCE_PATH}/gtk/gtkmm.h DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(
COPY
${SOURCE_PATH}/gtk/gtkmm
DESTINATION ${CURRENT_PACKAGES_DIR}/include
FILES_MATCHING PATTERN *.h
)
# Handle libraries
file(
COPY
${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/gdkmm.dll
DESTINATION ${CURRENT_PACKAGES_DIR}/bin
)
file(
COPY
${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/gdkmm.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib
)
file(
COPY
${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/gtkmm.dll
DESTINATION ${CURRENT_PACKAGES_DIR}/bin
)
file(
COPY
${SOURCE_PATH}/MSVC_Net2013/Release/${VS_PLATFORM}/bin/gtkmm.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/lib
)
file(
COPY
${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/gdkmm.dll
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
)
file(
COPY
${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/gdkmm.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
)
file(
COPY
${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/gtkmm.dll
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
)
file(
COPY
${SOURCE_PATH}/MSVC_Net2013/Debug/${VS_PLATFORM}/bin/gtkmm.lib
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
)
vcpkg_install_meson()
vcpkg_copy_pdbs()
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/gtkmm RENAME copyright)
vcpkg_fixup_pkgconfig()
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

25
ports/gtkmm/vcpkg.json Normal file
View File

@ -0,0 +1,25 @@
{
"name": "gtkmm",
"version": "4.0.0",
"description": "gtkmm is the official C++ interface for the popular GUI library GTK+.",
"homepage": "https://www.gtkmm.org/",
"supports": "!uwp",
"dependencies": [
"atk",
"atkmm",
"cairo",
"cairomm",
"gdk-pixbuf",
"gettext",
"glib",
{
"name": "glib",
"host": true
},
"glibmm",
"gtk",
"libepoxy",
"pango",
"pangomm"
]
}

View File

@ -1,5 +0,0 @@
Source: gts
Version: 0.7.6-3
Homepage: https://github.com/finetjul/gts
Description: A Library intended to provide a set of useful functions to deal with 3D surfaces meshed with interconnected triangles
Build-Depends: glib

54
ports/gts/glib2.patch Normal file
View File

@ -0,0 +1,54 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 941e9b96b..ea031828d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -85,30 +85,35 @@ include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/src
)
-find_library(glib_LIBRARY NAMES glib libglib glib-2.0 libglib-2.0
- HINTS ${glib_BINARY_DIR})
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(GLIB2 glib-2.0 IMPORTED_TARGET)
-get_filename_component(glib_LIBRARY_DIR ${glib_LIBRARY} DIRECTORY)
-get_filename_component(glib_LIBRARY_NAME ${glib_LIBRARY} NAME)
-string(REGEX REPLACE "\\.[^.]*$" "" glib_LIBRARY_NAME ${glib_LIBRARY_NAME})
+# find_library(glib_LIBRARY NAMES glib libglib glib-2.0 libglib-2.0
+ # HINTS ${glib_BINARY_DIR})
-find_path(glib_H NAMES glib.h
- HINTS ${glib_LIBRARY_DIR}/../include)
-get_filename_component(glib_INCLUDE_DIR ${glib_H} DIRECTORY)
+# get_filename_component(glib_LIBRARY_DIR ${glib_LIBRARY} DIRECTORY)
+# get_filename_component(glib_LIBRARY_NAME ${glib_LIBRARY} NAME)
+# string(REGEX REPLACE "\\.[^.]*$" "" glib_LIBRARY_NAME ${glib_LIBRARY_NAME})
-set(glib_CONFIG_H)
-find_path(glib_CONFIG_H NAMES glibconfig.h
- HINTS ${glib_LIBRARY_DIR}/${glib_LIBRARY_NAME}/include)
+# find_path(glib_H NAMES glib.h
+ # HINTS ${glib_LIBRARY_DIR}/../include)
+# get_filename_component(glib_INCLUDE_DIR ${glib_H} DIRECTORY)
-get_filename_component(glibconfig_INCLUDE_DIR ${glib_CONFIG_H} DIRECTORY)
-include_directories(${glib_INCLUDE_DIR} ${glib_CONFIG_H})
+# set(glib_CONFIG_H)
+# find_path(glib_CONFIG_H NAMES glibconfig.h
+ # HINTS ${glib_LIBRARY_DIR}/${glib_LIBRARY_NAME}/include)
+
+# get_filename_component(glibconfig_INCLUDE_DIR ${glib_CONFIG_H} DIRECTORY)
+# include_directories(${glib_INCLUDE_DIR} ${glib_CONFIG_H})
+include_directories(${GLIB2_INCLUDE_DIRS})
if (NOT WIN32 AND BUILD_SHARED_LIBS)
add_definitions(/DGTS_COMPILATION)
endif()
add_library(${kit} SHARED ${srcs})
-target_link_libraries(${kit} ${glib_LIBRARY})
+target_include_directories(${kit} PUBLIC ${GLIB2_INCLUDE_DIRS})
+target_link_libraries(${kit} PkgConfig::GLIB2)
if(MSVC)
SET_TARGET_PROPERTIES(${kit} PROPERTIES LINK_FLAGS "/DEF:\"${CMAKE_CURRENT_SOURCE_DIR}/src/gts.def\"")

View File

@ -10,10 +10,13 @@ vcpkg_from_github(
fix-M_PI-in-windows.patch
support-unix.patch
fix-pkgconfig.patch
glib2.patch
)
vcpkg_find_acquire_program(PKGCONFIG)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}
)
vcpkg_install_cmake()

10
ports/gts/vcpkg.json Normal file
View File

@ -0,0 +1,10 @@
{
"name": "gts",
"version": "0.7.6",
"port-version": 4,
"description": "A Library intended to provide a set of useful functions to deal with 3D surfaces meshed with interconnected triangles",
"homepage": "https://github.com/finetjul/gts",
"dependencies": [
"glib"
]
}

View File

@ -5,34 +5,59 @@ vcpkg_from_github(
SHA512 d231a788ea4e52231d4c363c1eca76424cb82ed0952b5c24d0b082e88b3dddbda967e7fffe67fffdcb22c7ebfbf0ec923365eb4532be772f2e61fa7d29b51998
HEAD_REF master
PATCHES
# This patch is a workaround that is needed until the following issues are resolved upstream:
# - https://github.com/mesonbuild/meson/issues/8375
# - https://github.com/harfbuzz/harfbuzz/issues/2870
# Details: https://github.com/microsoft/vcpkg/issues/16262
0001-circumvent-samefile-error.patch
# This patch is a workaround that is needed until the following issues are resolved upstream:
# - https://github.com/mesonbuild/meson/issues/8375
# - https://github.com/harfbuzz/harfbuzz/issues/2870
# Details: https://github.com/microsoft/vcpkg/issues/16262
0001-circumvent-samefile-error.patch
0002-fix-uwp-build.patch
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
icu icu
graphite2 graphite
glib glib
)
if("icu" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS -Dicu=enabled) # Enable ICU library unicode functions
else()
list(APPEND FEATURE_OPTIONS -Dicu=disabled)
endif()
if("graphite2" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS -Dgraphite=enabled) #Enable Graphite2 complementary shaper
else()
list(APPEND FEATURE_OPTIONS -Dgraphite=disabled)
endif()
if("coretext" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS -Dcoretext=enabled) # Enable CoreText shaper backend on macOS
if(NOT VCPKG_TARGET_IS_OSX)
message(FATAL_ERROR "Feature 'coretext' os only available on OSX")
endif()
else()
list(APPEND FEATURE_OPTIONS -Dcoretext=disabled)
endif()
if("glib" IN_LIST FEATURES)
list(APPEND FEATURE_OPTIONS -Dglib=enabled) # Enable GLib unicode functions
list(APPEND FEATURE_OPTIONS -Dgobject=enabled) #Enable GObject bindings
else()
list(APPEND FEATURE_OPTIONS -Dglib=disabled)
list(APPEND FEATURE_OPTIONS -Dgobject=disabled)
endif()
list(APPEND FEATURE_OPTIONS -Dfreetype=enabled) #Enable freetype interop helpers
#if(VCPKG_TARGET_IS_WINDOWS)
#link errors in qt5-base. probably requires changes to the pc files generated by meson
#list(APPEND FEATURE_OPTIONS -Dgdi=enabled) # enable gdi helpers and uniscribe shaper backend (windows only)
#endif()
string(REPLACE "=ON" "=enabled" FEATURE_OPTIONS "${FEATURE_OPTIONS}")
string(REPLACE "=OFF" "=disabled" FEATURE_OPTIONS "${FEATURE_OPTIONS}")
vcpkg_configure_meson(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS ${FEATURE_OPTIONS}
-Dfreetype=enabled
-Dgobject=disabled
-Dcairo=disabled
-Dfontconfig=disabled
-Dintrospection=disabled
-Ddocs=disabled
-Dcairo=disabled # Use Cairo graphics library
-Dfontconfig=disabled # Use fontconfig
-Dintrospection=disabled # Generate gobject-introspection bindings (.gir/.typelib files)
-Ddocs=disabled # Generate documentation with gtk-doc
-Dtests=disabled
-Dbenchmark=disabled
ADDITIONAL_NATIVE_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
ADDITIONAL_CROSS_BINARIES glib-genmarshal='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-genmarshal'
glib-mkenums='${CURRENT_HOST_INSTALLED_DIR}/tools/glib/glib-mkenums'
)
vcpkg_install_meson()
@ -45,4 +70,15 @@ configure_file("${CMAKE_CURRENT_LIST_DIR}/harfbuzzConfig.cmake.in"
"${CURRENT_PACKAGES_DIR}/share/${PORT}/harfbuzzConfig.cmake" @ONLY)
# Handle copyright
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
if("glib" IN_LIST FEATURES)
list(APPEND TOOL_NAMES hb-subset hb-shape hb-ot-shape-closure)
endif()
if(TOOL_NAMES)
vcpkg_copy_tools(TOOL_NAMES ${TOOL_NAMES} AUTO_CLEAN)
endif()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()

View File

@ -1,7 +1,7 @@
{
"name": "harfbuzz",
"version-string": "2.7.4",
"port-version": 1,
"version": "2.7.4",
"port-version": 2,
"description": "HarfBuzz OpenType text shaping engine",
"homepage": "https://github.com/harfbuzz/harfbuzz",
"dependencies": [
@ -15,10 +15,17 @@
}
],
"features": {
"coretext": {
"description": "Enable CoreText shaper backend on macOS"
},
"glib": {
"description": "Glib Unicode callbacks support",
"dependencies": [
"glib"
"glib",
{
"name": "glib",
"host": true
}
]
},
"graphite2": {

View File

@ -1,5 +0,0 @@
Source: ignition-cmake2
Version: 2.5.0
Homepage: https://ignitionrobotics.org/libs/cmake
Description: CMake helper functions for building robotic applications
Build-Depends: ignition-modularscripts

View File

@ -0,0 +1,31 @@
diff --git a/cmake/FindGTS.cmake b/cmake/FindGTS.cmake
index ad00a9715..a83d8af40 100644
--- a/cmake/FindGTS.cmake
+++ b/cmake/FindGTS.cmake
@@ -67,6 +67,26 @@ else()
# 2.1 Need glib library
find_library(GLIB_LIBRARY glib-2.0)
list(APPEND GTS_LIBRARIES "${GLIB_LIBRARY}")
+ find_path(GLIB_INCLUDE_DIRS glib.h
+ HINTS
+ ${CMAKE_FIND_ROOT_PATH}
+ PATH
+ ${CMAKE_FIND_ROOT_PATH}
+ PATH_SUFFIXES
+ include
+ include/glib-2.0
+ DOC "glib header include dir"
+ )
+ find_path(GLIB_CONFIG_INCLUDE_DIRS glibconfig.h
+ HINTS
+ ${CMAKE_FIND_ROOT_PATH}
+ PATHS
+ ${CMAKE_FIND_ROOT_PATH}
+ PATH_SUFFIXES
+ lib/glib-2.0/include
+ doc "glib header include dir"
+ )
+ list(APPEND GTS_INCLUDE_DIRS ${GLIB_INCLUDE_DIRS} ${GLIB_CONFIG_INCLUDE_DIRS})
if (GTS_FOUND)
# We need to manually specify the pkgconfig entry (and type of entry),

View File

@ -4,7 +4,8 @@ set(PACKAGE_VERSION "2.5.0")
ignition_modular_library(NAME cmake
VERSION ${PACKAGE_VERSION}
SHA512 dc546e5e4deabba12faec5fb0162309dfce9b429a6bbd6637c058acdda3eb4fa1e44e9b71f55603d0cff77550117dafc3fc8475621ede65fa8aa915254beb463)
SHA512 dc546e5e4deabba12faec5fb0162309dfce9b429a6bbd6637c058acdda3eb4fa1e44e9b71f55603d0cff77550117dafc3fc8475621ede65fa8aa915254beb463
PATCHES FindGTS.patch)
# Install custom usage
configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/${PORT}/usage @ONLY)

View File

@ -0,0 +1,10 @@
{
"name": "ignition-cmake2",
"version": "2.5.0",
"port-version": 1,
"description": "CMake helper functions for building robotic applications",
"homepage": "https://ignitionrobotics.org/libs/cmake",
"dependencies": [
"ignition-modularscripts"
]
}

View File

@ -1,5 +0,0 @@
Source: io2d
Version: 2020-09-14
Port-Version: 1
Description: a lightweight, cross platform drawing library
Build-Depends: cairo (!osx), cairo[x11] (linux), graphicsmagick (!osx)

View File

@ -8,7 +8,7 @@ index 5ebeb6afa..702864667 100644
-find_package(Cairo REQUIRED)
-find_package(GraphicsMagick REQUIRED)
+find_package(unofficial-Cairo REQUIRED)
+find_package(Cairo REQUIRED)
+find_package(unofficial-GraphicsMagick REQUIRED)
add_library(io2d_cairo
@ -18,7 +18,7 @@ index 5ebeb6afa..702864667 100644
target_compile_features(io2d_cairo PUBLIC cxx_std_17)
-target_link_libraries(io2d_cairo PUBLIC io2d_core Cairo::Cairo GraphicsMagick::GraphicsMagick)
+target_link_libraries(io2d_cairo PUBLIC io2d_core unofficial::cairo::cairo unofficial::graphicsmagick::graphicsmagick)
+target_link_libraries(io2d_cairo PUBLIC io2d_core Cairo::Cairo unofficial::graphicsmagick::graphicsmagick)
install(
TARGETS io2d_cairo EXPORT io2d_targets

23
ports/io2d/vcpkg.json Normal file
View File

@ -0,0 +1,23 @@
{
"name": "io2d",
"version-date": "2020-09-14",
"port-version": 2,
"description": "a lightweight, cross platform drawing library",
"dependencies": [
{
"name": "cairo",
"platform": "!osx"
},
{
"name": "cairo",
"features": [
"x11"
],
"platform": "linux"
},
{
"name": "graphicsmagick",
"platform": "!osx"
}
]
}

View File

@ -1,7 +0,0 @@
Source: lcm
Version: 1.4.0
Port-Version: 1
Build-Depends: glib
Homepage: https://github.com/lcm-proj/lcm
Description: Lightweight Communications and Marshalling (LCM)
LCM is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems where high-bandwidth and low latency are critical. It provides a publish/subscribe message passing model and automatic marshalling/unmarshalling code generation with bindings for applications in a variety of programming languages.

View File

@ -1,127 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6d3a4c2..da3bfc5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,7 +7,7 @@ if(CMAKE_VERSION VERSION_LESS 3.7)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/3.7")
endif()
-find_package(GLib2 REQUIRED)
+find_package(unofficial-glib CONFIG REQUIRED)
# Configuration and utility functions
include(lcm-cmake/config.cmake NO_POLICY_SCOPE)
@@ -22,6 +22,11 @@ if (WIN32)
include_directories(${lcm_SOURCE_DIR})
add_subdirectory(WinSpecific)
set(lcm-winport lcm-winport)
+ if(CMAKE_BUILD_TYPE STREQUAL Debug)
+ get_target_property(GLIB2_GLIB_RUNTIME unofficial::glib::glib IMPORTED_LOCATION_DEBUG)
+ elseif(CMAKE_BUILD_TYPE STREQUAL Release)
+ get_target_property(GLIB2_GLIB_RUNTIME unofficial::glib::glib IMPORTED_LOCATION_RELEASE)
+ endif()
get_filename_component(LCM_LCMGEN_PATH ${GLIB2_GLIB_RUNTIME} DIRECTORY)
set(LCM_USE_GLIB_RUNTIME "set(LCM_LCMGEN_PATH \"${LCM_LCMGEN_PATH}\")")
else()
diff --git a/lcm-logger/CMakeLists.txt b/lcm-logger/CMakeLists.txt
index 9aee9df..253af08 100644
--- a/lcm-logger/CMakeLists.txt
+++ b/lcm-logger/CMakeLists.txt
@@ -1,9 +1,9 @@
add_executable(lcm-logger lcm_logger.c glib_util.c)
-target_link_libraries(lcm-logger
- lcm
- ${lcm-winport}
- GLib2::glib
-)
+if(WIN32)
+ target_link_libraries(lcm-logger lcm ${lcm-winport} unofficial::glib::glib ws2_32)
+else()
+ target_link_libraries(lcm-logger lcm ${lcm-winport} unofficial::glib::glib)
+endif()
add_executable(lcm-logplayer lcm_logplayer.c)
target_link_libraries(lcm-logplayer lcm ${lcm-winport})
diff --git a/lcm/CMakeLists.txt b/lcm/CMakeLists.txt
index 639ec12..9da0c00 100644
--- a/lcm/CMakeLists.txt
+++ b/lcm/CMakeLists.txt
@@ -60,10 +60,11 @@ foreach(lcm_lib lcm lcm-static)
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
)
- target_link_libraries(${lcm_lib} PRIVATE
- GLib2::glib
- ${CMAKE_THREAD_LIBS_INIT}
- )
+ if(WIN32)
+ target_link_libraries(${lcm_lib} PRIVATE unofficial::glib::glib ${CMAKE_THREAD_LIBS_INIT} ws2_32)
+ else()
+ target_link_libraries(${lcm_lib} PRIVATE unofficial::glib::glib ${CMAKE_THREAD_LIBS_INIT})
+ endif()
endforeach()
generate_export_header(lcm STATIC_DEFINE LCM_STATIC)
diff --git a/lcmgen/CMakeLists.txt b/lcmgen/CMakeLists.txt
index 29354bb..d848b16 100644
--- a/lcmgen/CMakeLists.txt
+++ b/lcmgen/CMakeLists.txt
@@ -43,7 +43,11 @@ if(_uses_sanitizers AND NOT LCM_SANITIZE_LCMGEN)
endif()
add_executable(lcm-gen ${lcm-gen_sources})
-target_link_libraries(lcm-gen PRIVATE GLib2::glib)
+if(WIN32)
+ target_link_libraries(lcm-gen PRIVATE unofficial::glib::glib ws2_32)
+else()
+ target_link_libraries(lcm-gen PRIVATE unofficial::glib::glib)
+endif()
install(TARGETS lcm-gen
EXPORT lcmTargets
diff --git a/liblcm-test/CMakeLists.txt b/liblcm-test/CMakeLists.txt
index bb24675..da041d9 100644
--- a/liblcm-test/CMakeLists.txt
+++ b/liblcm-test/CMakeLists.txt
@@ -5,7 +5,11 @@ add_executable(lcm-source lcm-source.c)
target_link_libraries(lcm-source lcm ${lcm-winport})
add_executable(lcm-tester lcm-tester.c)
-target_link_libraries(lcm-tester lcm GLib2::glib)
+if(WIN32)
+ target_link_libraries(lcm-tester lcm unofficial::glib::glib ws2_32)
+else()
+ target_link_libraries(lcm-tester lcm unofficial::glib::glib)
+endif()
add_executable(lcm-example lcm-example.c)
target_link_libraries(lcm-example lcm)
@@ -14,13 +18,25 @@ if(WIN32)
endif()
add_executable(lcm-logfilter lcm-logfilter.c)
-target_link_libraries(lcm-logfilter lcm ${lcm-winport} GLib2::glib)
+if(WIN32)
+ target_link_libraries(lcm-logfilter lcm ${lcm-winport} unofficial::glib::glib ws2_32)
+else()
+ target_link_libraries(lcm-logfilter lcm ${lcm-winport} unofficial::glib::glib)
+endif()
add_executable(lcm-buftest-receiver buftest-receiver.c)
-target_link_libraries(lcm-buftest-receiver lcm GLib2::glib)
+if(WIN32)
+ target_link_libraries(lcm-buftest-receiver lcm unofficial::glib::glib ws2_32)
+else()
+ target_link_libraries(lcm-buftest-receiver lcm unofficial::glib::glib)
+endif()
add_executable(lcm-buftest-sender buftest-sender.c)
-target_link_libraries(lcm-buftest-sender lcm GLib2::glib)
+if(WIN32)
+ target_link_libraries(lcm-buftest-sender lcm unofficial::glib::glib ws2_32)
+else()
+ target_link_libraries(lcm-buftest-sender lcm unofficial::glib::glib)
+endif()
install(TARGETS
lcm-sink

30
ports/lcm/glib.link.patch Normal file
View File

@ -0,0 +1,30 @@
diff --git a/cmake/FindGLib2.cmake b/cmake/FindGLib2.cmake
index 2f1a8be45..db823b953 100644
--- a/cmake/FindGLib2.cmake
+++ b/cmake/FindGLib2.cmake
@@ -14,7 +14,7 @@ function(_glib2_find_include VAR HEADER)
find_path(GLIB2_${VAR}_INCLUDE_DIR ${HEADER}
PATHS ${_paths}
- PATH_SUFFIXES glib-2.0 glib-2.0/include
+ PATH_SUFFIXES glib-2.0 glib-2.0/include lib/glib-2.0/include
)
mark_as_advanced(GLIB2_${VAR}_INCLUDE_DIR)
endfunction()
@@ -108,6 +108,16 @@ foreach(_glib2_component ${GLib2_FIND_COMPONENTS})
endforeach()
+find_library(PCRE_LIBRARY pcre)
+set_property(TARGET GLib2::glib APPEND PROPERTY
+ INTERFACE_LINK_LIBRARIES ${PCRE_LIBRARY}
+)
+set(THREADS_PREFER_PTHREAD_FLAG ON)
+find_package(Threads)
+set_property(TARGET GLib2::glib APPEND PROPERTY
+ INTERFACE_LINK_LIBRARIES Threads::Threads
+)
+
list(APPEND GLib2_FIND_COMPONENTS glib)
set(GLib2_FIND_REQUIRED_glib TRUE)

View File

@ -7,7 +7,7 @@ vcpkg_from_github(
PATCHES
only-install-one-flavor.patch
fix-build-error.patch
fix-linux-build.patch
glib.link.patch
)
vcpkg_configure_cmake(

13
ports/lcm/vcpkg.json Normal file
View File

@ -0,0 +1,13 @@
{
"name": "lcm",
"version": "1.4.0",
"port-version": 2,
"description": [
"Lightweight Communications and Marshalling (LCM)",
"LCM is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems where high-bandwidth and low latency are critical. It provides a publish/subscribe message passing model and automatic marshalling/unmarshalling code generation with bindings for applications in a variety of programming languages."
],
"homepage": "https://github.com/lcm-proj/lcm",
"dependencies": [
"glib"
]
}

View File

@ -3,7 +3,8 @@ project(libcroco C)
find_package(Iconv REQUIRED)
find_package(Intl REQUIRED)
find_package(unofficial-glib CONFIG REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
find_package(LibXml2 REQUIRED)
if(NOT WIN32)
find_package(Threads REQUIRED)
@ -70,12 +71,9 @@ set(CMAKE_DEBUG_POSTFIX "d")
add_library(croco-0.6 ${SOURCES})
target_include_directories(croco-0.6 PRIVATE ${GLIB_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR})
target_include_directories(croco-0.6 PRIVATE ${GLIB_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIR})
target_link_libraries(croco-0.6 PRIVATE
unofficial::glib::gio
unofficial::glib::glib
unofficial::glib::gmodule
unofficial::glib::gobject
PkgConfig::GLIB2
${LIBXML2_LIBRARIES} ${Intl_LIBRARIES} Iconv::Iconv
)
@ -129,7 +127,8 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/unofficial-libcroco-config.cmake "
include(CMakeFindDependencyMacro)
find_dependency(Intl)
find_dependency(Iconv)
find_dependency(unofficial-glib CONFIG)
find_dependency(PkgConfig)
pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
find_dependency(LibXml2)
if(NOT WIN32)
find_dependency(Threads)

View File

@ -1,5 +0,0 @@
Source: libcroco
Version: 0.6.13
Port-Version: 2
Description: A standalone css2 parsing and manipulation library
Build-Depends: glib, libxml2

View File

@ -14,10 +14,12 @@ configure_file(${SOURCE_PATH}/config.h.win32 ${SOURCE_PATH}/src/config.h COPYONL
file(READ "${SOURCE_PATH}/src/libcroco.symbols" SYMBOLS)
string(REGEX REPLACE ";[^\n]*\n" "" DEF "EXPORTS\n${SYMBOLS}")
file(WRITE "${SOURCE_PATH}/src/libcroco.def" "${DEF}")
vcpkg_find_acquire_program(PKGCONFIG)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}
)
vcpkg_install_cmake()

10
ports/libcroco/vcpkg.json Normal file
View File

@ -0,0 +1,10 @@
{
"name": "libcroco",
"version": "0.6.13",
"port-version": 3,
"description": "A standalone css2 parsing and manipulation library",
"dependencies": [
"glib",
"libxml2"
]
}

View File

@ -1,78 +0,0 @@
cmake_minimum_required (VERSION 3.12)
project (libgpod C)
option(WITH_INTERNAL_GCHECKSUM OFF)
find_package(unofficial-sqlite3 CONFIG REQUIRED)
include(SelectLibraryConfigurations)
find_path(glib_PATH glib.h PATHS include)
find_library(glib_LIBRARY_RELEASE NAMES glib-2.0 PATHS lib)
find_library(glib_LIBRARY_DEBUG NAMES glib-2.0 PATHS debug/lib)
select_library_configurations(glib)
if (NOT glib_FOUND)
message(FATAL_ERROR "glib not found.")
endif()
find_path(plist_PATH plist++.h PATH_SUFFIXES plist)
find_library(plist_LIBRARY_RELEASE NAMES plist plist-2.0 libplist libplist-2.0 PATHS lib)
find_library(plist_LIBRARY_DEBUG NAMES plist plist-2.0 libplist libplist-2.0 PATHS debug/lib)
select_library_configurations(plist)
if (NOT plist_FOUND)
message(FATAL_ERROR "plist not found.")
endif()
message("plist_PATH: ${plist_PATH}")
list(APPEND libgpod_Sources
${CMAKE_CURRENT_SOURCE_DIR}/src/db-artwork-debug.c
${CMAKE_CURRENT_SOURCE_DIR}/src/db-artwork-parser.c
${CMAKE_CURRENT_SOURCE_DIR}/src/db-artwork-writer.c
${CMAKE_CURRENT_SOURCE_DIR}/src/db-image-parser.c
${CMAKE_CURRENT_SOURCE_DIR}/src/db-parse-context.c
${CMAKE_CURRENT_SOURCE_DIR}/src/gchecksum.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_artwork.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_chapterdata.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_device.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_hash58.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_hash72.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_hashAB.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_iphone.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_itunesdb.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_photoalbum.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_playlist.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_plist.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_sqlite.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_sysinfo_extended_parser.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_thumb.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_track.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_tzinfo.c
${CMAKE_CURRENT_SOURCE_DIR}/src/itdb_zlib.c
${CMAKE_CURRENT_SOURCE_DIR}/src/ithumb-writer.c
${CMAKE_CURRENT_SOURCE_DIR}/src/pixmaps.c
${CMAKE_CURRENT_SOURCE_DIR}/src/rijndael.c
)
if (NOT WITH_INTERNAL_GCHECKSUM)
list(REMOVE_ITEM libgpod_Sources ${CMAKE_CURRENT_SOURCE_DIR}/src/gchecksum.c)
endif()
add_library(libgpod ${libgpod_Sources})
target_include_directories(libgpod PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ${glib_PATH} ${plist_PATH})
if (WITH_INTERNAL_GCHECKSUM)
target_compile_definitions(libgpod PRIVATE -DWITH_INTERNAL_GCHECKSUM)
endif()
target_compile_definitions(libgpod PRIVATE -DLIBGPOD_BLOB_DIR=\"${LIBGPOD_BLOB_DIR}\" -DGETTEXT_PACKAGE="libgpod")
target_link_libraries(libgpod PRIVATE ${glib_LIBRARY} ${plist_LIBRARY} unofficial::sqlite3::sqlite3)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/itdb.h DESTINATION include/libgpod/gpod)
install(
TARGETS libgpod
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)

View File

@ -1,6 +0,0 @@
Source: libgpod
Version: 2019-08-29
Port-Version: 2
Homepage: https://github.com/fadingred/libgpod
Description: libgpod is a library meant to abstract access to an iPod content.
Build-Depends: glib, libplist, sqlite3

View File

@ -0,0 +1,13 @@
diff --git a/configure.ac b/configure.ac
index a52ac3a78..ac5cf03f4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -42,7 +42,7 @@ AC_CHECK_FUNCS([localtime_r])
AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[#include <time.h>])
dnl sqlite3 is needed for newer ipod models (nano5g), and libplist is needed
dnl by libgpod sqlite code
-PKG_CHECK_MODULES(LIBGPOD, glib-2.0 >= 2.8.0 gobject-2.0 sqlite3 libplist >= 1.0)
+PKG_CHECK_MODULES(LIBGPOD, glib-2.0 >= 2.8.0 gmodule-2.0 gobject-2.0 sqlite3 libplist >= 1.0)
dnl **************************************************
dnl we've copied gchecksum from glib 2.16. Only use the

Some files were not shown because too many files have changed in this diff Show More