aboutsummaryrefslogtreecommitdiff
path: root/ports/lcm
diff options
context:
space:
mode:
authorAlexander Neumann <30894796+Neumann-A@users.noreply.github.com>2021-04-26 19:28:21 +0200
committerGitHub <noreply@github.com>2021-04-26 10:28:21 -0700
commit546813ae7b9e2873dd3d38e78b27ac5582feae10 (patch)
tree6acb3bf022bf9060c70c0665d3586bb33a60f4d9 /ports/lcm
parenta9b27ed5dffbf70b135eddb0c4729f3ca87f106c (diff)
downloadvcpkg-546813ae7b9e2873dd3d38e78b27ac5582feae10.tar.gz
vcpkg-546813ae7b9e2873dd3d38e78b27ac5582feae10.zip
[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>
Diffstat (limited to 'ports/lcm')
-rw-r--r--ports/lcm/CONTROL7
-rw-r--r--ports/lcm/fix-linux-build.patch127
-rw-r--r--ports/lcm/glib.link.patch30
-rw-r--r--ports/lcm/portfile.cmake2
-rw-r--r--ports/lcm/vcpkg.json13
5 files changed, 44 insertions, 135 deletions
diff --git a/ports/lcm/CONTROL b/ports/lcm/CONTROL
deleted file mode 100644
index 6a20be1db..000000000
--- a/ports/lcm/CONTROL
+++ /dev/null
@@ -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.
diff --git a/ports/lcm/fix-linux-build.patch b/ports/lcm/fix-linux-build.patch
deleted file mode 100644
index 47ccf8b93..000000000
--- a/ports/lcm/fix-linux-build.patch
+++ /dev/null
@@ -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
diff --git a/ports/lcm/glib.link.patch b/ports/lcm/glib.link.patch
new file mode 100644
index 000000000..67f6dc0f5
--- /dev/null
+++ b/ports/lcm/glib.link.patch
@@ -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)
+
diff --git a/ports/lcm/portfile.cmake b/ports/lcm/portfile.cmake
index 24ebb21b0..74bca46d3 100644
--- a/ports/lcm/portfile.cmake
+++ b/ports/lcm/portfile.cmake
@@ -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(
diff --git a/ports/lcm/vcpkg.json b/ports/lcm/vcpkg.json
new file mode 100644
index 000000000..ec04fd87b
--- /dev/null
+++ b/ports/lcm/vcpkg.json
@@ -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"
+ ]
+}