
* improve interoperability with rclcpp::Duration and std::chrono Signed-off-by: William Woodall <william@osrfoundation.org> * add to_rmw_time to Duration Signed-off-by: William Woodall <william@osrfoundation.org> * add new QoS class to rclcpp Signed-off-by: William Woodall <william@osrfoundation.org> * changes to NodeBase, NodeTopics, etc in preparation for changes to pub/sub Signed-off-by: William Woodall <william@osrfoundation.org> * refactor publisher creation to use new QoS class Signed-off-by: William Woodall <william@osrfoundation.org> * refactor subscription creation to use new QoS class Signed-off-by: William Woodall <william@osrfoundation.org> * fixing fallout from changes to pub/sub creation Signed-off-by: William Woodall <william@osrfoundation.org> * fixed Windows error: no appropriate default constructor available why? who knows Signed-off-by: William Woodall <william@osrfoundation.org> * fixed Windows error: could not deduce template argument for 'PublisherT' Signed-off-by: William Woodall <william@osrfoundation.org> * fix missing vftable linker error on Windows Signed-off-by: William Woodall <william@osrfoundation.org> * fix more cases of no suitable default constructor errors... Signed-off-by: William Woodall <william@osrfoundation.org> * prevent msvc from trying to interpret some cases as functions Signed-off-by: William Woodall <william@osrfoundation.org> * uncrustify Signed-off-by: William Woodall <william@osrfoundation.org> * cpplint Signed-off-by: William Woodall <william@osrfoundation.org> * add C++ version of default action qos Signed-off-by: William Woodall <william@osrfoundation.org> * fixing lifecycle subscription signatures Signed-off-by: William Woodall <william@osrfoundation.org> * fix allocators (we actually use this already in the pub/sub factory) Signed-off-by: William Woodall <william@osrfoundation.org> * suppress cppcheck on false positive syntax error Signed-off-by: William Woodall <william@osrfoundation.org> * fix more cppcheck syntax error false positives Signed-off-by: William Woodall <william@osrfoundation.org> * fix case where sub-type of QoS is used Signed-off-by: William Woodall <william@osrfoundation.org> * fixup get_node_topics_interface.hpp according to reviews and tests Signed-off-by: William Woodall <william@osrfoundation.org> * additional fixes based on local testing and CI Signed-off-by: William Woodall <william@osrfoundation.org> * another trick to avoid 'no appropriate default constructor available' Signed-off-by: William Woodall <william@osrfoundation.org> * fix compiler error with clang on macOS Signed-off-by: William Woodall <william@osrfoundation.org> * disable build failure tests until we can get Jenkins to ignore their output Signed-off-by: William Woodall <william@osrfoundation.org> * suppress more cppcheck false positives Signed-off-by: William Woodall <william@osrfoundation.org> * add missing visibility macros to default QoS profile classes Signed-off-by: William Woodall <william@osrfoundation.org> * fix another case of 'no appropriate default constructor available' Signed-off-by: William Woodall <william@osrfoundation.org> * unfortunately this actaully fixes a build error on Windows... Signed-off-by: William Woodall <william@osrfoundation.org> * fix typos Signed-off-by: William Woodall <william@osrfoundation.org>
56 lines
1.9 KiB
CMake
56 lines
1.9 KiB
CMake
# Copyright 2019 Open Source Robotics Foundation, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
#
|
|
# Register a test which tries to compile a file and expects it to fail to build.
|
|
#
|
|
# This will create two targets, one by the given target name and a test target
|
|
# which has the same name prefixed with `test_`.
|
|
# For example, if target is `should_not_compile__use_const_argument` then there
|
|
# will be an executable target called `should_not_compile__use_const_argument`
|
|
# and a test target called `test_should_not_compile__use_const_argument`.
|
|
#
|
|
# :param target: the name of the target to be created
|
|
# :type target: string
|
|
# :param ARGN: the list of source files to be used to create the test executable
|
|
# :type ARGN: list of strings
|
|
#
|
|
macro(rclcpp_add_build_failure_test target)
|
|
if(${ARGC} EQUAL 0)
|
|
message(
|
|
FATAL_ERROR
|
|
"rclcpp_add_build_failure_test() requires a target name and "
|
|
"at least one source file")
|
|
endif()
|
|
|
|
add_executable(${target} ${ARGN})
|
|
set_target_properties(${target}
|
|
PROPERTIES
|
|
EXCLUDE_FROM_ALL TRUE
|
|
EXCLUDE_FROM_DEFAULT_BUILD TRUE)
|
|
|
|
add_test(
|
|
NAME test_${target}
|
|
COMMAND
|
|
${CMAKE_COMMAND}
|
|
--build .
|
|
--target ${target}
|
|
--config $<CONFIGURATION>
|
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
|
|
set_tests_properties(test_${target}
|
|
PROPERTIES
|
|
WILL_FAIL TRUE
|
|
LABELS "build_failure"
|
|
)
|
|
endmacro()
|