add urdfdom and swig (#616)
* add urdfdom * improve tinyxml and pcre * add swig * fix magnum * improve corrade * update log4cpluspull/617/head
parent
70374fe0e0
commit
68f1c58a37
14 changed files with 185 additions and 16 deletions
@ -0,0 +1,21 @@ |
||||
package("console-bridge") |
||||
|
||||
set_homepage("https://github.com/ros/console_bridge") |
||||
set_description("A ROS-independent package for logging that seamlessly pipes into rosconsole/rosout for ROS-dependent packages.") |
||||
set_license("BSD-3-Clause") |
||||
|
||||
add_urls("https://github.com/ros/console_bridge/archive/refs/tags/$(version).tar.gz", |
||||
"https://github.com/ros/console_bridge.git") |
||||
add_versions("1.0.1", "2ff175a9bb2b1849f12a6bf972ce7e4313d543a2bbc83b60fdae7db6e0ba353f") |
||||
|
||||
add_deps("cmake") |
||||
on_install("windows", "macosx", "linux", function (package) |
||||
local configs = {"-DCMAKE_INSTALL_LIBDIR=lib", "-DBUILD_TESTING=OFF"} |
||||
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release")) |
||||
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) |
||||
import("package.tools.cmake").install(package, configs) |
||||
end) |
||||
|
||||
on_test(function (package) |
||||
assert(package:has_cxxtypes("console_bridge::LogLevel", {includes = "console_bridge/console.h"})) |
||||
end) |
@ -0,0 +1,36 @@ |
||||
package("swig") |
||||
|
||||
set_kind("binary") |
||||
set_homepage("http://swig.org/") |
||||
set_description("SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.") |
||||
set_license("GPL-3.0") |
||||
|
||||
if is_host("windows") then |
||||
add_urls("https://sourceforge.net/projects/swig/files/swigwin/swigwin-$(version)/swigwin-$(version).zip") |
||||
add_versions("4.0.2", "daadb32f19fe818cb9b0015243233fc81584844c11a48436385e87c050346559") |
||||
else |
||||
add_urls("https://sourceforge.net/projects/swig/files/swig/swig-$(version)/swig-$(version).tar.gz") |
||||
add_versions("4.0.2", "d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc") |
||||
end |
||||
|
||||
if is_host("macosx", "linux") then |
||||
add_deps("pcre", {host = true}) |
||||
end |
||||
|
||||
on_install("@windows", function (package) |
||||
os.cp("*|Doc|Examples", package:installdir()) |
||||
package:addenv("PATH", ".") |
||||
end) |
||||
|
||||
on_install("@macosx", "@linux", function (package) |
||||
local configs = {} |
||||
local pcre = package:dep("pcre") |
||||
if pcre and not pcre:is_system() then |
||||
table.insert(configs, "--with-pcre-prefix=" .. pcre:installdir()) |
||||
end |
||||
import("package.tools.autoconf").install(package, configs) |
||||
end) |
||||
|
||||
on_test(function (package) |
||||
os.vrun("swig -version") |
||||
end) |
@ -0,0 +1,30 @@ |
||||
diff --git a/cmake/urdfdom_headers-config.cmake.in b/cmake/urdfdom_headers-config.cmake.in
|
||||
--- a/cmake/urdfdom_headers-config.cmake.in
|
||||
+++ b/cmake/urdfdom_headers-config.cmake.in
|
||||
@@ -3,8 +3,8 @@ if (@PACKAGE_NAME@_CONFIG_INCLUDED)
|
||||
endif()
|
||||
set(@PACKAGE_NAME@_CONFIG_INCLUDED TRUE)
|
||||
|
||||
-set(@PACKAGE_NAME@_INCLUDE_DIRS "${@PROJECT_NAME@_DIR}/@RELATIVE_PATH_CMAKE_DIR_TO_PREFIX@/include")
|
||||
+set(@PACKAGE_NAME@_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../include")
|
||||
|
||||
-include("${@PACKAGE_NAME@_DIR}/@PACKAGE_NAME@Export.cmake")
|
||||
+include("${CMAKE_CURRENT_LIST_DIR}/@PACKAGE_NAME@Export.cmake")
|
||||
|
||||
list(APPEND @PACKAGE_NAME@_TARGETS @PACKAGE_NAME@::@PACKAGE_NAME@)
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -23,10 +23,10 @@ add_subdirectory(urdf_model_state)
|
||||
add_subdirectory(urdf_world)
|
||||
add_subdirectory(urdf_exception)
|
||||
|
||||
-if(WIN32 AND NOT CYGWIN)
|
||||
+if(FALSE)
|
||||
set(CMAKE_CONFIG_INSTALL_DIR CMake)
|
||||
else()
|
||||
- set(CMAKE_CONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}/cmake)
|
||||
+ set(CMAKE_CONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
|
||||
endif()
|
||||
string(REGEX REPLACE "[^/]+" ".." RELATIVE_PATH_CMAKE_DIR_TO_PREFIX "${CMAKE_CONFIG_INSTALL_DIR}")
|
||||
|
@ -0,0 +1,21 @@ |
||||
package("urdfdom-headers") |
||||
|
||||
set_kind("library", {headeronly = true}) |
||||
set_homepage("http://ros.org/wiki/urdf") |
||||
set_description("Headers for URDF parsers") |
||||
set_license("BSD-3-Clause") |
||||
|
||||
add_urls("https://github.com/ros/urdfdom_headers/archive/refs/tags/$(version).tar.gz", |
||||
"https://github.com/ros/urdfdom_headers.git") |
||||
add_versions("1.0.5", "76a68657c38e54bb45bddc4bd7d823a3b04edcd08064a56d8e7d46b9912035ac") |
||||
|
||||
add_patches("1.0.5", path.join(os.scriptdir(), "patches", "1.0.5", "export.patch"), "c7c15c0fba7b618c4ff9207a561caae70374e642a779fb346f2c084d5da6ed8b") |
||||
|
||||
add_deps("cmake") |
||||
on_install(function (package) |
||||
import("package.tools.cmake").install(package) |
||||
end) |
||||
|
||||
on_test(function (package) |
||||
assert(package:has_cxxtypes("urdf::World", {includes = "urdf_world/world.h"})) |
||||
end) |
@ -0,0 +1,25 @@ |
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -41,7 +41,7 @@ if (NOT MSVC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
endif()
|
||||
|
||||
-find_package(console_bridge 0.3 REQUIRED)
|
||||
+find_package(console_bridge REQUIRED)
|
||||
include_directories(SYSTEM ${console_bridge_INCLUDE_DIRS})
|
||||
link_directories(${console_bridge_LIBRARY_DIRS})
|
||||
|
||||
diff --git a/urdf_parser/CMakeLists.txt b/urdf_parser/CMakeLists.txt
|
||||
--- a/urdf_parser/CMakeLists.txt
|
||||
+++ b/urdf_parser/CMakeLists.txt
|
||||
@@ -1,5 +1,9 @@
|
||||
include_directories(include)
|
||||
|
||||
+if(MSVC)
|
||||
+add_definitions(-D_USE_MATH_DEFINES)
|
||||
+endif()
|
||||
+
|
||||
add_library(urdfdom_world SHARED src/pose.cpp src/model.cpp src/link.cpp src/joint.cpp src/world.cpp)
|
||||
target_link_libraries(urdfdom_world ${TinyXML_LIBRARIES} ${console_bridge_LIBRARIES})
|
||||
set_target_properties(urdfdom_world PROPERTIES SOVERSION ${URDF_MAJOR_MINOR_VERSION})
|
@ -0,0 +1,30 @@ |
||||
package("urdfdom") |
||||
|
||||
set_homepage("https://wiki.ros.org/urdf") |
||||
set_description("A C++ parser for the Unified Robot Description Format (URDF)") |
||||
set_license("BSD-3-Clause") |
||||
|
||||
add_urls("https://github.com/ros/urdfdom/archive/refs/tags/$(version).tar.gz", |
||||
"https://github.com/ros/urdfdom.git") |
||||
add_versions("1.0.4", "8f3d56b0cbc4b84436d8baf4c8346cd2ee7ffb257bba5ddd9892c41bf516edc4") |
||||
|
||||
add_patches("1.0.4", path.join(os.scriptdir(), "patches", "1.0.4", "build.patch"), "1f51148afccef7b9bf079ef4137c12d578fb7a76f7aed6e282ca2ceaf4a188ba") |
||||
|
||||
add_deps("cmake") |
||||
add_deps("urdfdom-headers", "console-bridge", "tinyxml") |
||||
on_install("windows", "linux", "macosx", function (package) |
||||
local configs = {"-DCMAKE_INSTALL_LIBDIR=lib"} |
||||
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release")) |
||||
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) |
||||
import("package.tools.cmake").install(package, configs) |
||||
end) |
||||
|
||||
on_test(function (package) |
||||
assert(package:check_cxxsnippets({test = [[ |
||||
#include <string> |
||||
void test() { |
||||
std::string easy{"1.0"}; |
||||
double conv = urdf::strToDouble(easy.c_str()); |
||||
} |
||||
]]}, {configs = {languages = "c++11"}, includes = "urdf_model/utils.h"})) |
||||
end) |
Loading…
Reference in new issue