aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHrOokami <4591995+faserg1@users.noreply.github.com>2020-12-28 23:32:51 +0300
committerGitHub <noreply@github.com>2020-12-28 12:32:51 -0800
commitc34633609277a38a0dbea8994cd95692afa8cff7 (patch)
treeb239bef8f320c93c07444fcf04a9ea0bfaaab408
parent0a87565968624826e8c941cf77ea7788c36f05c3 (diff)
downloadvcpkg-c34633609277a38a0dbea8994cd95692afa8cff7.tar.gz
vcpkg-c34633609277a38a0dbea8994cd95692afa8cff7.zip
[GLIBMM] Installing .pc file (#14988)
-rw-r--r--ports/atkmm/CONTROL4
-rw-r--r--ports/atkmm/portfile.cmake76
-rw-r--r--ports/glib/CMakeLists.txt2
-rw-r--r--ports/glib/CONTROL2
-rw-r--r--ports/glibmm/CMakeLists.txt30
-rw-r--r--ports/glibmm/CONTROL2
-rw-r--r--ports/glibmm/portfile.cmake2
-rw-r--r--ports/libsigcpp/CMakeLists.txt9
-rw-r--r--ports/libsigcpp/CONTROL1
-rw-r--r--ports/libsigcpp/portfile.cmake1
-rw-r--r--ports/libxmlpp/CMakeLists.txt2
-rw-r--r--ports/libxmlpp/CONTROL2
12 files changed, 92 insertions, 41 deletions
diff --git a/ports/atkmm/CONTROL b/ports/atkmm/CONTROL
index 8192383d8..be3787e17 100644
--- a/ports/atkmm/CONTROL
+++ b/ports/atkmm/CONTROL
@@ -1,7 +1,7 @@
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
-Supports: !(linux | osx)
+Supports: !(osx)
diff --git a/ports/atkmm/portfile.cmake b/ports/atkmm/portfile.cmake
index 9795881ec..91e82a2df 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,44 @@ 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)
-
-vcpkg_copy_pdbs()
+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()
+ set(ENV{CONFIG_SHELL} bash)
+ 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)
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
diff --git a/ports/glib/CMakeLists.txt b/ports/glib/CMakeLists.txt
index cc24a2f63..144f11776 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 8d74d5613..a842f65e8 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
diff --git a/ports/glibmm/CMakeLists.txt b/ports/glibmm/CMakeLists.txt
index 15f7bff12..3e34075d9 100644
--- a/ports/glibmm/CMakeLists.txt
+++ b/ports/glibmm/CMakeLists.txt
@@ -3,6 +3,10 @@ project(glibmm)
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)
find_library(GIO_LIBRARY NAMES gio-2.0)
@@ -82,6 +86,25 @@ 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(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)
+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)
@@ -93,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
@@ -113,6 +136,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)
diff --git a/ports/glibmm/CONTROL b/ports/glibmm/CONTROL
index 59836db6f..3b2338943 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/glibmm/portfile.cmake b/ports/glibmm/portfile.cmake
index 87551d23a..f2ec0a935 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 9c43b1a1b..e5a1dbee0 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 617328c7b..8febf8011 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 e7214e0ba..74f26c32e 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/CMakeLists.txt b/ports/libxmlpp/CMakeLists.txt
index 0ff2f23fe..2a36ed7ba 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)
diff --git a/ports/libxmlpp/CONTROL b/ports/libxmlpp/CONTROL
index b737bde3c..0c76b120c 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