aboutsummaryrefslogtreecommitdiff
path: root/ports/ignition-msgs1
diff options
context:
space:
mode:
authorSilvio Traversaro <silvio.traversaro@iit.it>2019-09-12 19:43:33 +0200
committerPhil Christensen <philc@microsoft.com>2019-09-12 10:43:33 -0700
commit4dc3c7a64f9166442a0e101721395b749697d5b6 (patch)
tree8ab6a6e01fd845d5dc4be472948df6635a4d1294 /ports/ignition-msgs1
parent9781bea65e38ad0c48b205a3d48c992984ed1bdc (diff)
downloadvcpkg-4dc3c7a64f9166442a0e101721395b749697d5b6.tar.gz
vcpkg-4dc3c7a64f9166442a0e101721395b749697d5b6.zip
[ignition-msgs1, ignition-transport4] Add new ports (#8044)
Diffstat (limited to 'ports/ignition-msgs1')
-rw-r--r--ports/ignition-msgs1/CONTROL4
-rw-r--r--ports/ignition-msgs1/fix-protobuf-static-link-order.patch14
-rw-r--r--ports/ignition-msgs1/portfile.cmake35
3 files changed, 53 insertions, 0 deletions
diff --git a/ports/ignition-msgs1/CONTROL b/ports/ignition-msgs1/CONTROL
new file mode 100644
index 000000000..09ab2ff43
--- /dev/null
+++ b/ports/ignition-msgs1/CONTROL
@@ -0,0 +1,4 @@
+Source: ignition-msgs1
+Version: 1.0.0
+Build-Depends: ignition-cmake0, ignition-math4, protobuf
+Description: Middleware protobuf messages for robotics
diff --git a/ports/ignition-msgs1/fix-protobuf-static-link-order.patch b/ports/ignition-msgs1/fix-protobuf-static-link-order.patch
new file mode 100644
index 000000000..9f3e67466
--- /dev/null
+++ b/ports/ignition-msgs1/fix-protobuf-static-link-order.patch
@@ -0,0 +1,14 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -2,8 +2,8 @@
+ # Build a custom protoc plugin
+ ign_add_executable(ign_msgs_gen Generator.cc generator_main.cc)
+ target_link_libraries(ign_msgs_gen
+- protobuf::libprotobuf
+- protobuf::libprotoc)
++ protobuf::libprotoc
++ protobuf::libprotobuf)
+ target_include_directories(ign_msgs_gen PRIVATE ${PROTOBUF_INCLUDE_DIR})
+ target_compile_features(ign_msgs_gen PRIVATE ${IGN_CXX_11_FEATURES})
+
diff --git a/ports/ignition-msgs1/portfile.cmake b/ports/ignition-msgs1/portfile.cmake
new file mode 100644
index 000000000..a3173d2bc
--- /dev/null
+++ b/ports/ignition-msgs1/portfile.cmake
@@ -0,0 +1,35 @@
+include(vcpkg_common_functions)
+
+include(${CURRENT_INSTALLED_DIR}/share/ignitionmodularscripts/ignition_modular_library.cmake)
+
+# Explicitly disable cross-compilation until the upstream discussion
+# https://bitbucket.org/ignitionrobotics/ign-msgs/issues/34/add-support-for-cross-compilation is solved
+if(CMAKE_HOST_WIN32 AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x64" AND NOT VCPKG_TARGET_ARCHITECTURE MATCHES "x86")
+ set(ignition_msgs_CROSSCOMPILING ON)
+elseif(CMAKE_HOST_WIN32 AND VCPKG_CMAKE_SYSTEM_NAME)
+ set(ignition_msgs_CROSSCOMPILING ON)
+else()
+ set(ignition_msgs_CROSSCOMPILING OFF)
+endif()
+
+if(ignition_msgs_CROSSCOMPILING)
+ message(FATAL_ERROR "This port does not currently support triplets that require cross-compilation.")
+endif()
+
+# This port needs to generate protobuf messages with a custom plugin generator,
+# so it needs to have in Windows the relative protobuf dll available in the PATH
+set(path_backup $ENV{PATH})
+vcpkg_add_to_path(${CURRENT_INSTALLED_DIR}/bin)
+vcpkg_add_to_path(${CURRENT_INSTALLED_DIR}/debug/bin)
+
+ignition_modular_library(NAME msgs
+ VERSION "1.0.0"
+ # See https://bitbucket.org/ignitionrobotics/ign-msgs/issues/33/the-ignition-msgs1_100-tag-does-not-match
+ REF ignition-msgs_1.0.0
+ SHA512 15261d9c82c05952b1b7dfc50346e73ab041bf6e2e5a63698e17bfa36b2d261aad2777f770f6dccd0d58eb9c90979fe89a7371dc2ec6050149bf63cafc4f6779
+ # Fix linking order of protobuf libraries (backport of https://bitbucket.org/ignitionrobotics/ign-msgs/pull-requests/151)
+ PATCHES fix-protobuf-static-link-order.patch)
+
+
+# Restore old path
+set(ENV{PATH} ${path_backup})