From 7445bb85f0fe343d385951ae9b3f137747907eff Mon Sep 17 00:00:00 2001 From: HrOokami Date: Mon, 7 Dec 2020 00:33:35 +0300 Subject: [PATCH 01/15] Installing ATK .pc files --- ports/atk/CMakeLists.txt | 9 +++++++++ ports/atk/portfile.cmake | 2 ++ 2 files changed, 11 insertions(+) diff --git a/ports/atk/CMakeLists.txt b/ports/atk/CMakeLists.txt index e26d8649e41a1c..468624c33bae1d 100644 --- a/ports/atk/CMakeLists.txt +++ b/ports/atk/CMakeLists.txt @@ -142,3 +142,12 @@ 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 1) + +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) \ No newline at end of file diff --git a/ports/atk/portfile.cmake b/ports/atk/portfile.cmake index 34f6391410e8da..82b9ebea8da328 100644 --- a/ports/atk/portfile.cmake +++ b/ports/atk/portfile.cmake @@ -32,4 +32,6 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From 8f0ede192c290c66236b037c553389e4b0679d16 Mon Sep 17 00:00:00 2001 From: HrOokami Date: Mon, 7 Dec 2020 08:39:07 +0300 Subject: [PATCH 02/15] Updating atk CMakeLists.txt --- ports/atk/{CMakeLists.txt => CMakeLists.txt.in} | 8 ++++---- ports/atk/portfile.cmake | 6 +++++- 2 files changed, 9 insertions(+), 5 deletions(-) rename ports/atk/{CMakeLists.txt => CMakeLists.txt.in} (96%) diff --git a/ports/atk/CMakeLists.txt b/ports/atk/CMakeLists.txt.in similarity index 96% rename from ports/atk/CMakeLists.txt rename to ports/atk/CMakeLists.txt.in index 468624c33bae1d..c2f2d61c1b6334 100644 --- a/ports/atk/CMakeLists.txt +++ b/ports/atk/CMakeLists.txt.in @@ -1,9 +1,9 @@ cmake_minimum_required(VERSION 3.0) project(atk C) -set(ATK_LIB_SUFFIX 1.0) -set(ATK_DLL_SUFFIX 1) -set(GLIB_LIB_VERSION 2.0) +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) @@ -147,7 +147,7 @@ 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 1) +set(ATK_API_VERSION @ATK_API_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) \ No newline at end of file diff --git a/ports/atk/portfile.cmake b/ports/atk/portfile.cmake index a97863a998141f..ed3c3f15f06949 100644 --- a/ports/atk/portfile.cmake +++ b/ports/atk/portfile.cmake @@ -15,7 +15,11 @@ vcpkg_extract_source_archive_ex( fix-linux-config.patch ) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +set(ATK_LIB_SUFFIX 2.0) +set(ATK_DLL_SUFFIX 2) +set(GLIB_LIB_VERSION 2.0) +set(ATK_API_VERSION 2) +configure_file("${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.in" "${SOURCE_PATH}/CMakeLists.txt" @ONLY) vcpkg_configure_cmake( SOURCE_PATH ${SOURCE_PATH} From 855c13ef429f7dcc247a0ee578ab7833ed4cf75d Mon Sep 17 00:00:00 2001 From: HrOokami Date: Mon, 7 Dec 2020 10:04:27 +0300 Subject: [PATCH 03/15] ATK: Updating port-version, win32 fix --- ports/atk/CONTROL | 1 + ports/atk/portfile.cmake | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ports/atk/CONTROL b/ports/atk/CONTROL index bcfc01d1655faa..686e7fe6e5afcd 100644 --- a/ports/atk/CONTROL +++ b/ports/atk/CONTROL @@ -1,5 +1,6 @@ Source: atk Version: 2.24.0-5 +Port-Version: 1 Homepage: https://developer.gnome.org/atk/ Description: GNOME Accessibility Toolkit Build-Depends: glib, gettext diff --git a/ports/atk/portfile.cmake b/ports/atk/portfile.cmake index ed3c3f15f06949..f4b4050dcebdd9 100644 --- a/ports/atk/portfile.cmake +++ b/ports/atk/portfile.cmake @@ -18,7 +18,11 @@ vcpkg_extract_source_archive_ex( set(ATK_LIB_SUFFIX 2.0) set(ATK_DLL_SUFFIX 2) set(GLIB_LIB_VERSION 2.0) -set(ATK_API_VERSION 2) +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( From 6937c3209034aa187fbbd85ef436b5a915776ec3 Mon Sep 17 00:00:00 2001 From: HrOokami Date: Mon, 7 Dec 2020 12:35:15 +0300 Subject: [PATCH 04/15] Fixing atk API version --- ports/atk/CMakeLists.txt.in | 2 ++ ports/atk/portfile.cmake | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ports/atk/CMakeLists.txt.in b/ports/atk/CMakeLists.txt.in index c2f2d61c1b6334..d8b84882369d99 100644 --- a/ports/atk/CMakeLists.txt.in +++ b/ports/atk/CMakeLists.txt.in @@ -148,6 +148,8 @@ 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) \ No newline at end of file diff --git a/ports/atk/portfile.cmake b/ports/atk/portfile.cmake index f4b4050dcebdd9..916b5095bca53d 100644 --- a/ports/atk/portfile.cmake +++ b/ports/atk/portfile.cmake @@ -15,8 +15,10 @@ vcpkg_extract_source_archive_ex( fix-linux-config.patch ) -set(ATK_LIB_SUFFIX 2.0) -set(ATK_DLL_SUFFIX 2) +# 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}) From 91876da94d62cbf432525fa29e69b20f1bac1b5d Mon Sep 17 00:00:00 2001 From: HrOokami Date: Mon, 7 Dec 2020 22:34:38 +0300 Subject: [PATCH 05/15] glibmm: installing .pc file --- ports/glibmm/CMakeLists.txt | 13 +++++++++++++ ports/glibmm/CONTROL | 2 +- ports/libxmlpp/CMakeLists.txt | 2 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt index 15f7bff129075c..078f489a6f6103 100644 --- a/ports/glibmm/CMakeLists.txt +++ b/ports/glibmm/CMakeLists.txt @@ -3,6 +3,9 @@ project(glibmm) set(CMAKE_CXX_STANDARD 17) +set(GLIBMM_DLL_SUFFIX 2) +set(GLIBMM_LIB_SUFFIX 2.0) + find_path(GLIB_INCLUDE_DIR NAMES glib.h) find_library(GLIB_LIBRARY NAMES glib-2.0) find_library(GIO_LIBRARY NAMES gio-2.0) @@ -82,6 +85,16 @@ file(GLOB GLIBMM_SOURCES glib/glibmm/*.cc) add_library(glibmm ${GLIBMM_SOURCES}) target_compile_definitions(glibmm PRIVATE -DGLIBMM_BUILD) target_include_directories(glibmm PUBLIC glib ${CMAKE_BINARY_DIR}/config/glib) +set_target_properties(glibmm PROPERTIES OUTPUT_NAME glibmm-${GLIBMM_DLL_SUFFIX} ARCHIVE_OUTPUT_NAME glibmm-${GLIBMM_LIB_SUFFIX}) + +set(prefix ${CMAKE_INSTALL_PREFIX}) +set(exec_prefix ${CMAKE_INSTALL_PREFIX}) +set(libdir ${CMAKE_INSTALL_PREFIX}/lib) +set(includedir ${CMAKE_INSTALL_PREFIX}/include) +set(GLIBMM_API_VERSION 2.0) +set(GLIBMM_MODULE_NAME glibmm) +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/glib/glibmm.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/glibmm.pc" @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glibmm.pc" DESTINATION lib/pkgconfig) file(GLOB GIOMM_SOURCES gio/giomm/*.cc) if(WIN32) diff --git a/ports/glibmm/CONTROL b/ports/glibmm/CONTROL index 59836db6f55517..3b2338943760f6 100644 --- a/ports/glibmm/CONTROL +++ b/ports/glibmm/CONTROL @@ -1,6 +1,6 @@ Source: glibmm Version: 2.52.1 -Port-Version: 12 +Port-Version: 13 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 diff --git a/ports/libxmlpp/CMakeLists.txt b/ports/libxmlpp/CMakeLists.txt index 0ff2f23fe77b99..2a36ed7ba3782a 100644 --- a/ports/libxmlpp/CMakeLists.txt +++ b/ports/libxmlpp/CMakeLists.txt @@ -4,7 +4,7 @@ project(libxmlpp) set(CMAKE_CXX_STANDARD 17) find_path(GLIBMM_INCLUDE_DIR NAMES glibmm.h) -find_library(GLIBMM_LIBRARY NAMES glibmm) +find_library(GLIBMM_LIBRARY NAMES glibmm glibmm-2.0) find_library(GIOMM_LIBRARY NAMES giomm) find_library(GLIB_LIBRARY NAMES glib glib-2.0) find_library(GIO_LIBRARY NAMES gio gio-2.0) From 0e5d3cbaf69d475049f18334580ad3d40bf4b1c8 Mon Sep 17 00:00:00 2001 From: HrOokami Date: Mon, 7 Dec 2020 22:43:35 +0300 Subject: [PATCH 06/15] Atkmm: fix linux --- ports/atkmm/CONTROL | 2 +- ports/atkmm/portfile.cmake | 83 +++++++++++++++++++++++--------------- 2 files changed, 51 insertions(+), 34 deletions(-) diff --git a/ports/atkmm/CONTROL b/ports/atkmm/CONTROL index 8192383d888094..da3ac82df9c73b 100644 --- a/ports/atkmm/CONTROL +++ b/ports/atkmm/CONTROL @@ -1,6 +1,6 @@ Source: atkmm Version: 2.24.2 -Port-Version: 3 +Port-Version: 4 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 diff --git a/ports/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake index 9795881ece1a6e..ffcac4481bfbf1 100644 --- a/ports/atkmm/portfile.cmake +++ b/ports/atkmm/portfile.cmake @@ -1,6 +1,6 @@ -vcpkg_fail_port_install(ON_TARGET "OSX" "Linux") - -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +if (VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) +endif() vcpkg_download_distfile(ARCHIVE URLS "http://ftp.gnome.org/pub/GNOME/sources/atkmm/2.24/atkmm-2.24.2.tar.xz" @@ -16,36 +16,53 @@ vcpkg_extract_source_archive_ex( fix_charset.patch ) -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/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) +if (VCPKG_TARGET_IS_WINDOWS) + 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/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() + if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(ATKMM_OPTIONS --enable-shared=yes --enable-static=no) + else() + set(ATKMM_OPTIONS --enable-shared=no --enable-static=yes) + endif() -vcpkg_copy_pdbs() + set(ENV{PKG_CONFIG_PATH} ${PKGCONFIG_INSTALLED_DIR}) + vcpkg_configure_make( + SOURCE_PATH ${SOURCE_PATH} + OPTIONS + ${ATKMM_OPTIONS} + ) + + vcpkg_install_make() +endif() file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) From 0b641eff41b76797ae5dd8e813bf89e6b3b18cd9 Mon Sep 17 00:00:00 2001 From: HrOokami Date: Thu, 10 Dec 2020 20:57:24 +0300 Subject: [PATCH 07/15] Fixing .pc files for sigc++&glibmm #9564 --- ports/glibmm/CMakeLists.txt | 2 ++ ports/glibmm/portfile.cmake | 2 ++ ports/libsigcpp/CMakeLists.txt | 9 +++++++++ ports/libsigcpp/CONTROL | 1 + ports/libsigcpp/portfile.cmake | 1 + ports/libxmlpp/CONTROL | 2 +- 6 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt index 078f489a6f6103..24f8af202ebc4d 100644 --- a/ports/glibmm/CMakeLists.txt +++ b/ports/glibmm/CMakeLists.txt @@ -93,8 +93,10 @@ set(libdir ${CMAKE_INSTALL_PREFIX}/lib) set(includedir ${CMAKE_INSTALL_PREFIX}/include) set(GLIBMM_API_VERSION 2.0) set(GLIBMM_MODULE_NAME glibmm) +set(PACKAGE_VERSION 2.52.1) configure_file("${CMAKE_CURRENT_SOURCE_DIR}/glib/glibmm.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/glibmm.pc" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glibmm.pc" DESTINATION lib/pkgconfig) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glibmm.pc" DESTINATION lib/pkgconfig RENAME glibmm-2.4.pc) file(GLOB GIOMM_SOURCES gio/giomm/*.cc) if(WIN32) diff --git a/ports/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake index 87551d23a77f80..f2ec0a935fc3df 100644 --- a/ports/glibmm/portfile.cmake +++ b/ports/glibmm/portfile.cmake @@ -31,6 +31,8 @@ vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() + # Handle copyright and readme file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) file(INSTALL ${SOURCE_PATH}/README DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME readme.txt) \ No newline at end of file diff --git a/ports/libsigcpp/CMakeLists.txt b/ports/libsigcpp/CMakeLists.txt index 9c43b1a1bccd30..e5a1dbee0d6eba 100644 --- a/ports/libsigcpp/CMakeLists.txt +++ b/ports/libsigcpp/CMakeLists.txt @@ -57,3 +57,12 @@ if(NOT SIGCPP_SKIP_HEADERS) install(FILES sigc++/functors/slot.h DESTINATION include/sigc++/functors) install(FILES sigc++/functors/slot_base.h DESTINATION include/sigc++/functors) endif() + +set(prefix ${CMAKE_INSTALL_PREFIX}) +set(exec_prefix ${CMAKE_INSTALL_PREFIX}) +set(libdir ${CMAKE_INSTALL_PREFIX}/lib) +set(includedir ${CMAKE_INSTALL_PREFIX}/include) +set(SIGCXX_API_VERSION "2.0") +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/sigc++.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/sigc++.pc" @ONLY) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sigc++.pc" DESTINATION lib/pkgconfig) +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sigc++.pc" DESTINATION lib/pkgconfig RENAME sigc++-2.0.pc) diff --git a/ports/libsigcpp/CONTROL b/ports/libsigcpp/CONTROL index 617328c7b9da04..8febf8011ad85e 100644 --- a/ports/libsigcpp/CONTROL +++ b/ports/libsigcpp/CONTROL @@ -1,3 +1,4 @@ Source: libsigcpp Version: 2.10-3 +Port-Version: 1 Description: Typesafe callback framework for C++ diff --git a/ports/libsigcpp/portfile.cmake b/ports/libsigcpp/portfile.cmake index e7214e0baf9ec5..74f26c32e6e593 100644 --- a/ports/libsigcpp/portfile.cmake +++ b/ports/libsigcpp/portfile.cmake @@ -19,6 +19,7 @@ vcpkg_configure_cmake( vcpkg_install_cmake() vcpkg_copy_pdbs() +vcpkg_fixup_pkgconfig() if(VCPKG_LIBRARY_LINKAGE STREQUAL static) file(READ ${CURRENT_PACKAGES_DIR}/include/sigc++config.h SIGCPPCONFIG_H) diff --git a/ports/libxmlpp/CONTROL b/ports/libxmlpp/CONTROL index b737bde3c9ecfa..0c76b120cffe59 100644 --- a/ports/libxmlpp/CONTROL +++ b/ports/libxmlpp/CONTROL @@ -1,5 +1,5 @@ Source: libxmlpp Version: 2.40.1 -Port-Version: 6 +Port-Version: 7 Description: a C++ wrapper for the libxml XML parser library. Build-Depends: libxml2, glibmm From 2831bc3f9f801d96dc518424da6568fad5f68e81 Mon Sep 17 00:00:00 2001 From: HrOokami Date: Thu, 10 Dec 2020 21:41:47 +0300 Subject: [PATCH 08/15] #9564 Enabling atkmm linux support --- ports/atkmm/CONTROL | 2 +- ports/atkmm/portfile.cmake | 9 +++------ 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/ports/atkmm/CONTROL b/ports/atkmm/CONTROL index da3ac82df9c73b..be3787e177b4eb 100644 --- a/ports/atkmm/CONTROL +++ b/ports/atkmm/CONTROL @@ -4,4 +4,4 @@ Port-Version: 4 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: !(linux | osx) +Supports: !(osx) diff --git a/ports/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake index ffcac4481bfbf1..80dc0f502b3323 100644 --- a/ports/atkmm/portfile.cmake +++ b/ports/atkmm/portfile.cmake @@ -16,6 +16,8 @@ vcpkg_extract_source_archive_ex( fix_charset.patch ) +set(ENV{PKG_CONFIG_PATH} ${PKGCONFIG_INSTALLED_DIR}) + if (VCPKG_TARGET_IS_WINDOWS) file(COPY ${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h DESTINATION ${SOURCE_PATH}/MSVC_Net2013) @@ -55,12 +57,7 @@ else() set(ATKMM_OPTIONS --enable-shared=no --enable-static=yes) endif() - set(ENV{PKG_CONFIG_PATH} ${PKGCONFIG_INSTALLED_DIR}) - vcpkg_configure_make( - SOURCE_PATH ${SOURCE_PATH} - OPTIONS - ${ATKMM_OPTIONS} - ) + vcpkg_configure_make(SOURCE_PATH ${SOURCE_PATH} OPTIONS ${ATKMM_OPTIONS}) vcpkg_install_make() endif() From afe5d8e70b33fddf2063190c171a7a2e713c1162 Mon Sep 17 00:00:00 2001 From: HrOokami Date: Fri, 11 Dec 2020 01:16:10 +0300 Subject: [PATCH 09/15] #9564 glibmm: installing extra headers --- ports/glibmm/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt index 24f8af202ebc4d..c90bcc4cf8dbf5 100644 --- a/ports/glibmm/CMakeLists.txt +++ b/ports/glibmm/CMakeLists.txt @@ -128,6 +128,11 @@ if(NOT DISABLE_INSTALL_HEADERS) DESTINATION include FILES_MATCHING PATTERN *.h ) + install( + DIRECTORY tools/extra_defs_gen/ + DESTINATION include/glibmm_generate_extra_defs/ + FILES_MATCHING PATTERN *.h + ) endif() if(NOT DISABLE_EXAMPLES) From 9a7af2bc76b18ce776d5a13d9d26ae5bdafa7ad2 Mon Sep 17 00:00:00 2001 From: HrOokami Date: Fri, 11 Dec 2020 09:46:00 +0300 Subject: [PATCH 10/15] #9564 atkmm fixing shell --- ports/atkmm/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake index 80dc0f502b3323..8e15b68631d52a 100644 --- a/ports/atkmm/portfile.cmake +++ b/ports/atkmm/portfile.cmake @@ -56,7 +56,7 @@ else() else() set(ATKMM_OPTIONS --enable-shared=no --enable-static=yes) endif() - + set(ENV{CONFIG_SHELL} /bin/bash) vcpkg_configure_make(SOURCE_PATH ${SOURCE_PATH} OPTIONS ${ATKMM_OPTIONS}) vcpkg_install_make() From 344f27c53c44246bfe67b80525f15749d4097829 Mon Sep 17 00:00:00 2001 From: HrOokami Date: Sat, 12 Dec 2020 20:04:50 +0300 Subject: [PATCH 11/15] #9564 Stuck in static libs --- ports/atkmm/portfile.cmake | 2 -- ports/glibmm/CMakeLists.txt | 10 +++++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ports/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake index 8e15b68631d52a..0deefa45dce39e 100644 --- a/ports/atkmm/portfile.cmake +++ b/ports/atkmm/portfile.cmake @@ -16,8 +16,6 @@ vcpkg_extract_source_archive_ex( fix_charset.patch ) -set(ENV{PKG_CONFIG_PATH} ${PKGCONFIG_INSTALLED_DIR}) - if (VCPKG_TARGET_IS_WINDOWS) file(COPY ${CMAKE_CURRENT_LIST_DIR}/msvc_recommended_pragmas.h DESTINATION ${SOURCE_PATH}/MSVC_Net2013) diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt index c90bcc4cf8dbf5..3e34075d9dfe70 100644 --- a/ports/glibmm/CMakeLists.txt +++ b/ports/glibmm/CMakeLists.txt @@ -5,6 +5,7 @@ set(CMAKE_CXX_STANDARD 17) set(GLIBMM_DLL_SUFFIX 2) set(GLIBMM_LIB_SUFFIX 2.0) +set(GLIBMM_EXTRA_LIB_SUFFIX 2.4) find_path(GLIB_INCLUDE_DIR NAMES glib.h) find_library(GLIB_LIBRARY NAMES glib-2.0) @@ -87,6 +88,13 @@ target_compile_definitions(glibmm PRIVATE -DGLIBMM_BUILD) target_include_directories(glibmm PUBLIC glib ${CMAKE_BINARY_DIR}/config/glib) set_target_properties(glibmm PROPERTIES OUTPUT_NAME glibmm-${GLIBMM_DLL_SUFFIX} ARCHIVE_OUTPUT_NAME glibmm-${GLIBMM_LIB_SUFFIX}) +set(GLIBMM_EXTRA_SOURCES tools/extra_defs_gen/generate_extra_defs.cc) +add_library(glibmm_generate_extra_defs ${GLIBMM_EXTRA_SOURCES}) +target_include_directories(glibmm_generate_extra_defs PUBLIC glib ${CMAKE_BINARY_DIR}/config/glib) +set_target_properties(glibmm_generate_extra_defs PROPERTIES + OUTPUT_NAME glibmm_generate_extra_defs-${GLIBMM_EXTRA_LIB_SUFFIX} + ARCHIVE_OUTPUT_NAME glibmm_generate_extra_defs-${GLIBMM_EXTRA_LIB_SUFFIX}) + set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix ${CMAKE_INSTALL_PREFIX}) set(libdir ${CMAKE_INSTALL_PREFIX}/lib) @@ -108,7 +116,7 @@ target_link_libraries(giomm PUBLIC glibmm) target_include_directories(giomm PUBLIC gio ${CMAKE_BINARY_DIR}/config/gio) install( - TARGETS glibmm giomm + TARGETS glibmm giomm glibmm_generate_extra_defs RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib From 878fb523368390fe3d575c030ceaa6ed1f0b224b Mon Sep 17 00:00:00 2001 From: HrOokami Date: Wed, 16 Dec 2020 17:58:09 +0300 Subject: [PATCH 12/15] #9564 Libraries are configured --- ports/glib/CMakeLists.txt | 2 ++ ports/glib/CONTROL | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ports/glib/CMakeLists.txt b/ports/glib/CMakeLists.txt index cc24a2f63ae00b..144f1177655bf5 100644 --- a/ports/glib/CMakeLists.txt +++ b/ports/glib/CMakeLists.txt @@ -361,6 +361,8 @@ 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) diff --git a/ports/glib/CONTROL b/ports/glib/CONTROL index 8d74d5613b3244..a842f65e89fece 100644 --- a/ports/glib/CONTROL +++ b/ports/glib/CONTROL @@ -1,6 +1,6 @@ Source: glib Version: 2.52.3 -Port-Version: 23 +Port-Version: 24 Homepage: https://developer.gnome.org/glib/ Description: Portable, general-purpose utility library. Build-Depends: zlib, pcre, libffi, gettext, libiconv From f406ac2cc4e1d7a2cf4f2be0d1f9ad7c9690bc4c Mon Sep 17 00:00:00 2001 From: HrOokami Date: Wed, 16 Dec 2020 18:02:50 +0300 Subject: [PATCH 13/15] #9564 Fix portfile --- ports/atkmm/portfile.cmake | 1 + 1 file changed, 1 insertion(+) diff --git a/ports/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake index 0deefa45dce39e..978239dbe9edcb 100644 --- a/ports/atkmm/portfile.cmake +++ b/ports/atkmm/portfile.cmake @@ -61,3 +61,4 @@ else() endif() file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") From 9734c4e11e988b8ad261c353cbab3dd143bd3aef Mon Sep 17 00:00:00 2001 From: HrOokami <4591995+faserg1@users.noreply.github.com> Date: Thu, 17 Dec 2020 16:55:06 +0300 Subject: [PATCH 14/15] atkmm: clean MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> --- ports/atkmm/portfile.cmake | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ports/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake index 978239dbe9edcb..c6fdb67f6e7bcf 100644 --- a/ports/atkmm/portfile.cmake +++ b/ports/atkmm/portfile.cmake @@ -49,11 +49,6 @@ if (VCPKG_TARGET_IS_WINDOWS) vcpkg_copy_pdbs() else() - if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - set(ATKMM_OPTIONS --enable-shared=yes --enable-static=no) - else() - set(ATKMM_OPTIONS --enable-shared=no --enable-static=yes) - endif() set(ENV{CONFIG_SHELL} /bin/bash) vcpkg_configure_make(SOURCE_PATH ${SOURCE_PATH} OPTIONS ${ATKMM_OPTIONS}) From 76b30ba2800499fa3633e5e7ef02ba545cbd47e9 Mon Sep 17 00:00:00 2001 From: HrOokami Date: Sat, 26 Dec 2020 22:11:01 +0300 Subject: [PATCH 15/15] Configure shell to just 'bash' --- ports/atkmm/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake index c6fdb67f6e7bcf..91e82a2dfa34b2 100644 --- a/ports/atkmm/portfile.cmake +++ b/ports/atkmm/portfile.cmake @@ -49,7 +49,7 @@ if (VCPKG_TARGET_IS_WINDOWS) vcpkg_copy_pdbs() else() - set(ENV{CONFIG_SHELL} /bin/bash) + set(ENV{CONFIG_SHELL} bash) vcpkg_configure_make(SOURCE_PATH ${SOURCE_PATH} OPTIONS ${ATKMM_OPTIONS}) vcpkg_install_make()