├── .travis.yml ├── LICENSE ├── README.md ├── cmakelists_parsing ├── __init__.py ├── cmake_pprint.py ├── list_utils.py ├── parsing.py └── rand.py ├── example_inputs ├── CMakeLists.txt ├── CMakeLists_09dy.txt ├── CMakeLists_0KRF.txt ├── CMakeLists_0o0Z.txt ├── CMakeLists_0yGZ.txt ├── CMakeLists_2mxy.txt ├── CMakeLists_2p0c.txt ├── CMakeLists_3BtM.txt ├── CMakeLists_3HYf.txt ├── CMakeLists_3tPJ.txt ├── CMakeLists_5RBQ.txt ├── CMakeLists_7Fq5.txt ├── CMakeLists_7I87.txt ├── CMakeLists_7RTP.txt ├── CMakeLists_7b9K.txt ├── CMakeLists_8I3s.txt ├── CMakeLists_99gF.txt ├── CMakeLists_9msk.txt ├── CMakeLists_AD7h.txt ├── CMakeLists_AULs.txt ├── CMakeLists_BZCS.txt ├── CMakeLists_CM5Y.txt ├── CMakeLists_ECZq.txt ├── CMakeLists_EQpq.txt ├── CMakeLists_FBD0.txt ├── CMakeLists_FWNw.txt ├── CMakeLists_FvOd.txt ├── CMakeLists_GTGF.txt ├── CMakeLists_HJit.txt ├── CMakeLists_IGn5.txt ├── CMakeLists_IbMN.txt ├── CMakeLists_Irv0.txt ├── CMakeLists_KfxI.txt ├── CMakeLists_L9yy.txt ├── CMakeLists_LCGe.txt ├── CMakeLists_MMKn.txt ├── CMakeLists_MTej.txt ├── CMakeLists_NJ2p.txt ├── CMakeLists_Nd1v.txt ├── CMakeLists_O4vl.txt ├── CMakeLists_OKr9.txt ├── CMakeLists_OyGw.txt ├── CMakeLists_SrXG.txt ├── CMakeLists_V3vF.txt ├── CMakeLists_VNYG.txt ├── CMakeLists_Vdod.txt ├── CMakeLists_VqDH.txt ├── CMakeLists_W0z7.txt ├── CMakeLists_Xyqv.txt ├── CMakeLists_Y6Bf.txt ├── CMakeLists_Z4e2.txt ├── CMakeLists_Zrbb.txt ├── CMakeLists_Zuv0.txt ├── CMakeLists_bLWQ.txt ├── CMakeLists_bN84.txt ├── CMakeLists_dwdQ.txt ├── CMakeLists_eHTs.txt ├── CMakeLists_eW2p.txt ├── CMakeLists_eX5W.txt ├── CMakeLists_euzv.txt ├── CMakeLists_f3Gy.txt ├── CMakeLists_fP6t.txt ├── CMakeLists_gBQu.txt ├── CMakeLists_gVmA.txt ├── CMakeLists_ggLn.txt ├── CMakeLists_h4ML.txt ├── CMakeLists_hG3K.txt ├── CMakeLists_iXHh.txt ├── CMakeLists_jcTv.txt ├── CMakeLists_kAmI.txt ├── CMakeLists_kLzK.txt ├── CMakeLists_kmzU.txt ├── CMakeLists_l0bV.txt ├── CMakeLists_lYVi.txt ├── CMakeLists_mX7u.txt ├── CMakeLists_mlsM.txt ├── CMakeLists_n62L.txt ├── CMakeLists_oh94.txt ├── CMakeLists_ojF0.txt ├── CMakeLists_oyfv.txt ├── CMakeLists_pJUi.txt ├── CMakeLists_pcHP.txt ├── CMakeLists_sKpT.txt ├── CMakeLists_sWnj.txt ├── CMakeLists_sYsN.txt ├── CMakeLists_uQTX.txt ├── CMakeLists_vAnC.txt ├── CMakeLists_vJb8.txt ├── CMakeLists_w1H6.txt ├── CMakeLists_wgHF.txt ├── CMakeLists_x0MQ.txt ├── CMakeLists_xPp3.txt ├── CMakeLists_yUwf.txt ├── CMakeLists_zp3h.txt ├── CMakeLists_zqsZ.txt ├── comment_on_command.txt ├── hello.txt ├── if.txt ├── ifelse.txt ├── include_directories.txt └── macro.txt ├── setup.cfg ├── setup.py └── tests ├── __init__.py ├── example_inputs_test.py └── parsing_test.py /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3 | - "2.7" 4 | # command to install dependencies 5 | install: python setup.py install 6 | # command to run tests 7 | script: python setup.py test 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | Copyright (c) 2016 Issac Trotts 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of 5 | this software and associated documentation files (the "Software"), to deal in 6 | the Software without restriction, including without limitation the rights to 7 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 8 | of the Software, and to permit persons to whom the Software is furnished to do 9 | so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | cmakelists\_parsing 2 | =================== 3 | 4 | Python module for parsing CMakeLists.txt files. 5 | 6 | Installing 7 | ---------- 8 | 9 | python setup.py install 10 | 11 | or 12 | 13 | sudo pip install cmakelists_parsing 14 | 15 | Usage 16 | ----- 17 | 18 | The API can be used as follows: 19 | 20 | >>> import cmakelists_parsing.parsing as cmp 21 | >>> cmakelists_contents = 'FIND_PACKAGE(ITK REQUIRED) # Hello, CMake!' 22 | >>> cmp.parse(cmakelists_contents) 23 | File([Command([u'ITK', u'REQUIRED', u'# Hello, CMake!'])]) 24 | 25 | There is also a command line utility called cmake_pprint that pretty-prints 26 | CMake files: 27 | 28 | $ cmake_pprint CMakeLists.txt 29 | -------------------------------------------------------------------------------- /cmakelists_parsing/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ijt/cmakelists_parsing/85d040d6b0e01ea15f54824eb63cd9f46570b48e/cmakelists_parsing/__init__.py -------------------------------------------------------------------------------- /cmakelists_parsing/cmake_pprint.py: -------------------------------------------------------------------------------- 1 | from __future__ import print_function 2 | import argparse 3 | import sys 4 | 5 | import cmakelists_parsing.parsing as cmp 6 | 7 | def main(): 8 | # Parse arguments 9 | parser = argparse.ArgumentParser(description='Pretty-print CMakeLists files.') 10 | parser.add_argument('files', type=str, nargs='*', 11 | help='files to pretty print (default is stdin)') 12 | parser.add_argument('-t', '--tree', action='store_true', 13 | help='print out the syntax trees') 14 | args = parser.parse_args() 15 | 16 | # Gather files 17 | filenames = args.files 18 | files = [('', sys.stdin)] 19 | if filenames: 20 | files = [(name, open(name)) for name in filenames] 21 | 22 | # Process files 23 | for (name, file) in files: 24 | with file: 25 | input = file.read() 26 | tree = cmp.parse(input, path=name) 27 | if args.tree: 28 | # Print out AST 29 | print(repr(tree)) 30 | else: 31 | # Pretty print 32 | print(str(tree), end='') 33 | 34 | if __name__ == '__main__': 35 | main() 36 | -------------------------------------------------------------------------------- /cmakelists_parsing/list_utils.py: -------------------------------------------------------------------------------- 1 | 2 | def merge_pairs(list, should_merge, merge): 3 | """ 4 | Merges adjacent elements of list using the function merge 5 | if they satisfy the predicate should_merge. 6 | 7 | >>> merge_pairs([], None, None) 8 | [] 9 | 10 | >>> merge_pairs([1], None, None) 11 | [1] 12 | 13 | >>> merge_pairs([1, 2], lambda x, y: False, None) 14 | [1, 2] 15 | 16 | >>> merge_pairs([1, 2], lambda x, y: y == x + 1, lambda x, y: (x, y)) 17 | [(1, 2)] 18 | 19 | >>> merge_pairs([1, 2, 3], lambda x, y: y == x + 1, lambda x, y: (x, y)) 20 | [(1, 2), 3] 21 | 22 | >>> merge_pairs([1, 2, 3, 4], lambda x, y: y == x + 1, lambda x, y: (x, y)) 23 | [(1, 2), (3, 4)] 24 | """ 25 | ret = [] 26 | i = 0 27 | while i < len(list) - 1: 28 | a = list[i] 29 | b = list[i + 1] 30 | if should_merge(a, b): 31 | ret.append(merge(a, b)) 32 | i += 2 33 | else: 34 | ret.append(a) 35 | i += 1 36 | if i == len(list) - 1: 37 | ret.append(list[i]) 38 | return ret 39 | -------------------------------------------------------------------------------- /cmakelists_parsing/parsing.py: -------------------------------------------------------------------------------- 1 | from collections import namedtuple 2 | import re 3 | 4 | from cmakelists_parsing import list_utils 5 | 6 | QuotedString = namedtuple('QuotedString', 'contents comments') 7 | _Arg = namedtuple('Arg', 'contents comments') 8 | _Command = namedtuple('Command', 'name body comment') 9 | BlankLine = namedtuple('BlankLine', '') 10 | 11 | class File(list): 12 | """Top node of the syntax tree for a CMakeLists file.""" 13 | 14 | def __str__(self): 15 | ''' 16 | Returns the pretty-print string for tree 17 | with indentation given by the string tab. 18 | ''' 19 | return '\n'.join(compose_lines(self)) + '\n' 20 | 21 | def __repr__(self): 22 | return 'File(' + repr(list(self)) + ')' 23 | 24 | class Comment(str): 25 | def __repr__(self): 26 | return 'Comment(' + str(self) + ')' 27 | 28 | def Arg(contents, comments=None): 29 | return _Arg(contents, comments or []) 30 | 31 | def Command(name, body, comment=None): 32 | return _Command(name, body, comment) 33 | 34 | class CMakeParseError(Exception): 35 | pass 36 | 37 | def prettify(s): 38 | """ 39 | Returns the pretty-print of the contents of a CMakeLists file. 40 | """ 41 | return str(parse(s)) 42 | 43 | def parse(s, path=''): 44 | ''' 45 | Parses a string s in CMakeLists format whose 46 | contents are assumed to have come from the 47 | file at the given path. 48 | ''' 49 | nums_toks = tokenize(s) 50 | nums_items = list(parse_file(nums_toks)) 51 | nums_items = attach_comments_to_commands(nums_items) 52 | items = [item for _, item in nums_items] 53 | return File(items) 54 | 55 | def strip_blanks(tree): 56 | return File([x for x in tree if not isinstance(x, BlankLine)]) 57 | 58 | def compose_lines(tree): 59 | """ 60 | Yields pretty-printed lines of a CMakeLists file. 61 | """ 62 | tab = '\t' 63 | level = 0 64 | for item in tree: 65 | if isinstance(item, (Comment, str)): 66 | yield level * tab + item 67 | elif isinstance(item, BlankLine): 68 | yield '' 69 | elif isinstance(item, _Command): 70 | name = item.name.lower() 71 | if name in ('endfunction', 'endmacro', 'endif', 'else'): 72 | level -= 1 73 | for i, line in enumerate(command_to_lines(item)): 74 | offset = 1 if i > 0 else 0 75 | line2 = (level + offset) * tab + line 76 | yield line2 77 | 78 | if name in ('function', 'macro', 'if', 'else'): 79 | level += 1 80 | 81 | # FIXME: Make this split into more lines if the result would be too wide. 82 | def command_to_lines(cmd): 83 | sep = ' ' 84 | final_paren = ')' if cmd.body and cmd.body[-1].comments else ')' 85 | comment_part = ' ' + cmd.comment if cmd.comment else '' 86 | result = cmd.name + '(' + sep.join(map(arg_to_str, cmd.body)) + final_paren + comment_part 87 | return [l.strip() for l in result.splitlines()] 88 | 89 | def arg_to_str(arg): 90 | comment_part = ' ' + '\n'.join(arg.comments) + '\n' if arg.comments else '' 91 | return arg.contents + comment_part 92 | 93 | def parse_file(toks): 94 | ''' 95 | Yields line number ranges and top-level elements of the syntax tree for 96 | a CMakeLists file, given a generator of tokens from the file. 97 | 98 | toks must really be a generator, not a list, for this to work. 99 | ''' 100 | prev_type = 'newline' 101 | for line_num, (typ, tok_contents) in toks: 102 | if typ == 'comment': 103 | yield ([line_num], Comment(tok_contents)) 104 | elif typ == 'newline' and prev_type == 'newline': 105 | yield ([line_num], BlankLine()) 106 | elif typ == 'word': 107 | line_nums, cmd = parse_command(line_num, tok_contents, toks) 108 | yield (line_nums, cmd) 109 | prev_type = typ 110 | 111 | def attach_comments_to_commands(nodes): 112 | return list_utils.merge_pairs(nodes, command_then_comment, attach_comment_to_command) 113 | 114 | def command_then_comment(a, b): 115 | line_nums_a, thing_a = a 116 | line_nums_b, thing_b = b 117 | return (isinstance(thing_a, _Command) and 118 | isinstance(thing_b, Comment) and 119 | set(line_nums_a).intersection(line_nums_b)) 120 | 121 | def attach_comment_to_command(lnums_command, lnums_comment): 122 | command_lines, command = lnums_command 123 | _, comment = lnums_comment 124 | return command_lines, Command(command.name, command.body[:], comment) 125 | 126 | def parse_command(start_line_num, command_name, toks): 127 | cmd = Command(name=command_name, body=[], comment=None) 128 | expect('left paren', toks) 129 | for line_num, (typ, tok_contents) in toks: 130 | if typ == 'right paren': 131 | line_nums = range(start_line_num, line_num + 1) 132 | return line_nums, cmd 133 | elif typ == 'left paren': 134 | raise ValueError('Unexpected left paren at line %s' % line_num) 135 | elif typ in ('word', 'string'): 136 | cmd.body.append(Arg(tok_contents, [])) 137 | elif typ == 'comment': 138 | c = tok_contents 139 | if cmd.body: 140 | cmd.body[-1].comments.append(c) 141 | else: 142 | cmd.comments.append(c) 143 | msg = 'File ended while processing command "%s" started at line %s' % ( 144 | command_name, start_line_num) 145 | raise CMakeParseError(msg) 146 | 147 | def expect(expected_type, toks): 148 | line_num, (typ, tok_contents) = next(toks) 149 | if typ != expected_type: 150 | msg = 'Expected a %s, but got "%s" at line %s' % ( 151 | expected_type, tok_contents, line_num) 152 | raise CMakeParseError(msg) 153 | 154 | # http://stackoverflow.com/questions/691148/pythonic-way-to-implement-a-tokenizer 155 | # TODO: Handle multiline strings. 156 | scanner = re.Scanner([ 157 | (r'#.*', lambda scanner, token: ("comment", token)), 158 | (r'"[^"]*"', lambda scanner, token: ("string", token)), 159 | (r"\(", lambda scanner, token: ("left paren", token)), 160 | (r"\)", lambda scanner, token: ("right paren", token)), 161 | (r'[^ \t\r\n()#"]+', lambda scanner, token: ("word", token)), 162 | (r'\n', lambda scanner, token: ("newline", token)), 163 | (r"\s+", None), # skip other whitespace 164 | ]) 165 | 166 | def tokenize(s): 167 | """ 168 | Yields pairs of the form (line_num, (token_type, token_contents)) 169 | given a string containing the contents of a CMakeLists file. 170 | """ 171 | toks, remainder = scanner.scan(s) 172 | if remainder != '': 173 | msg = 'Unrecognized tokens at line %s: %s' % (line_num, remainder) 174 | raise ValueError(msg) 175 | line_num = 1 176 | for tok_type, tok_contents in toks: 177 | yield line_num, (tok_type, tok_contents.strip()) 178 | line_num += tok_contents.count('\n') 179 | 180 | -------------------------------------------------------------------------------- /cmakelists_parsing/rand.py: -------------------------------------------------------------------------------- 1 | import random 2 | 3 | def file(n=100, pcommand=0.9, k=15): 4 | '\n'.join(command_or_comment(pcom, k) for _ in range(n)) 5 | 6 | def command_or_comment(pcommand, k): 7 | return command(k) if random.random() < pcommand else comment() 8 | 9 | def command(k): 10 | args_part = ''.join(intersperse(args(), ['\n', ' '])) 11 | return ''.join([identifier(k), '(', args_part, ')']) 12 | 13 | def intersperse(ls, seps): 14 | """ 15 | intersperse(ls, seps) puts a separator between each element of 16 | ls, randomly chosen from seps. 17 | """ 18 | return [y for x in ls for y in [x, random.choice(seps)]][:-1] 19 | 20 | numbers = map(str, range(10)) 21 | low_letters = map(chr, range(ord('a'), ord('z') + 1)) 22 | high_letters = [c.upper() for c in low_letters] 23 | identifier_chars = numbers + low_letters + high_letters + ['_'] 24 | 25 | def identifier(k): 26 | """ 27 | identifier(k) generates an identifier with up to k letters. 28 | """ 29 | return ''.join(random.choice(identifier_chars) 30 | for _ in range(random.randint(1, k+1))) 31 | 32 | def args(): 33 | pass 34 | 35 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | rosbuild_init() 4 | rosbuild_make_distribution(1.6.0) 5 | 6 | rosbuild_add_boost_directories() 7 | 8 | #Plugins 9 | rosbuild_add_library(mean src/mean.cpp) 10 | rosbuild_add_library(params src/test_params.cpp) 11 | rosbuild_add_library(increment src/increment.cpp) 12 | rosbuild_add_library(median src/median.cpp) 13 | rosbuild_add_library(transfer_function src/transfer_function.cpp) 14 | 15 | # Test median filter 16 | rosbuild_add_executable(median_test EXCLUDE_FROM_ALL test/test_median.cpp ) 17 | target_link_libraries(median_test median) 18 | rosbuild_add_gtest_build_flags(median_test) 19 | rosbuild_add_rostest(test/test_median.launch) 20 | 21 | #test transfer function filter 22 | rosbuild_add_executable(transfer_function_test EXCLUDE_FROM_ALL test/test_transfer_function.cpp) 23 | target_link_libraries(transfer_function_test transfer_function) 24 | rosbuild_add_gtest_build_flags(transfer_function_test) 25 | rosbuild_add_rostest(test/test_transfer_function.launch) 26 | 27 | #test mean filter 28 | rosbuild_add_executable(mean_test EXCLUDE_FROM_ALL test/test_mean.cpp) 29 | target_link_libraries(mean_test mean) 30 | rosbuild_add_gtest_build_flags(mean_test) 31 | rosbuild_add_rostest(test/test_mean.launch) 32 | 33 | #test params filter 34 | rosbuild_add_executable(params_test EXCLUDE_FROM_ALL test/test_params.cpp) 35 | target_link_libraries(params_test params) 36 | rosbuild_add_gtest_build_flags(params_test) 37 | rosbuild_add_rostest(test/test_params.launch) 38 | 39 | #Test plugin loading into filter chain 40 | rosbuild_add_executable(chain_test EXCLUDE_FROM_ALL test/test_chain.cpp) 41 | rosbuild_add_gtest_build_flags(chain_test) 42 | rosbuild_add_rostest(test/test_chain.launch) 43 | rosbuild_link_boost(chain_test system) # Needed for OSX 44 | 45 | # Test reltime safe buffer class 46 | rosbuild_add_gtest(realtime_buffer_test EXCLUDE_FROM_ALL test/test_realtime_circular_buffer.cpp) 47 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_09dy.txt: -------------------------------------------------------------------------------- 1 | OPTION(BUILD_MODELS "Build models for some well known robots" FALSE) 2 | 3 | IF(BUILD_MODELS) 4 | 5 | ADD_LIBRARY(orocos-kdl-models SHARED puma560.cpp kukaLWR_DHnew.cpp) 6 | INCLUDE_DIRECTORIES(${PROJ_SOURCE_DIR}/src) 7 | SET_TARGET_PROPERTIES( orocos-kdl-models PROPERTIES 8 | SOVERSION "${KDL_VERSION_MAJOR}.${KDL_VERSION_MINOR}" 9 | VERSION "${KDL_VERSION}" 10 | COMPILE_FLAGS "${CMAKE_CXX_FLAGS_ADD} ${KDL_CFLAGS}" 11 | INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") 12 | TARGET_LINK_LIBRARIES(orocos-kdl-models orocos-kdl) 13 | 14 | INSTALL_TARGETS( /lib orocos-kdl-models) 15 | INSTALL_FILES( /include/kdl FILES models.hpp) 16 | ENDIF(BUILD_MODELS) 17 | 18 | INCLUDE(CMakeDependentOption) 19 | CMAKE_DEPENDENT_OPTION(BUILD_MODELS_DEMO "Build demo for some of the models" OFF "BUILD_MODELS" OFF) 20 | IF(BUILD_MODELS_DEMO) 21 | ADD_EXECUTABLE(p560test puma560test.cpp) 22 | TARGET_LINK_LIBRARIES(p560test orocos-kdl-models) 23 | SET_TARGET_PROPERTIES( p560test PROPERTIES 24 | COMPILE_FLAGS "${CMAKE_CXX_FLAGS_ADD} ${KDL_CFLAGS}") 25 | 26 | ADD_EXECUTABLE(kukaLWRtestDHnew kukaLWRtestDHnew.cpp) 27 | TARGET_LINK_LIBRARIES(kukaLWRtestDHnew orocos-kdl-models) 28 | SET_TARGET_PROPERTIES( kukaLWRtestDHnew PROPERTIES 29 | COMPILE_FLAGS "${CMAKE_CXX_FLAGS_ADD} ${KDL_CFLAGS}") 30 | 31 | ADD_EXECUTABLE(kukaLWRtestHCG kukaLWRtestHCG.cpp) 32 | TARGET_LINK_LIBRARIES(kukaLWRtestHCG orocos-kdl-models) 33 | SET_TARGET_PROPERTIES( kukaLWRtestHCG PROPERTIES 34 | COMPILE_FLAGS "${CMAKE_CXX_FLAGS_ADD} ${KDL_CFLAGS}") 35 | 36 | ENDIF(BUILD_MODELS_DEMO) -------------------------------------------------------------------------------- /example_inputs/CMakeLists_0KRF.txt: -------------------------------------------------------------------------------- 1 | IF(ENABLE_EXAMPLES) 2 | INCLUDE_DIRECTORIES(${PROJ_SOURCE_DIR}/src ${PROJ_SOURCE_DIR}/models) 3 | 4 | add_executable(geometry geometry.cpp ) 5 | TARGET_LINK_LIBRARIES(geometry orocos-kdl) 6 | add_executable(trajectory_example trajectory_example.cpp ) 7 | TARGET_LINK_LIBRARIES(trajectory_example orocos-kdl) 8 | add_executable(chainiksolverpos_lma_demo chainiksolverpos_lma_demo.cpp ) 9 | TARGET_LINK_LIBRARIES(chainiksolverpos_lma_demo orocos-kdl orocos-kdl-models) 10 | 11 | ENDIF(ENABLE_EXAMPLES) 12 | 13 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_0o0Z.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE Debug) 11 | 12 | find_package(OpenCV REQUIRED) 13 | 14 | rosbuild_init() 15 | 16 | #set the default path for built executables to the "bin" directory 17 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 18 | #set the default path for built libraries to the "lib" directory 19 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 20 | 21 | # Dynamic reconfigure 22 | rosbuild_find_ros_package(dynamic_reconfigure) 23 | include(${dynamic_reconfigure_PACKAGE_PATH}/cmake/cfgbuild.cmake) 24 | gencfg() 25 | 26 | rosbuild_add_library(${PROJECT_NAME} src/compressed_publisher.cpp src/compressed_subscriber.cpp src/manifest.cpp) 27 | target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS}) 28 | 29 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_0yGZ.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | 3 | project(nolangs) 4 | find_package(catkin REQUIRED) 5 | catkin_package() 6 | 7 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) 8 | 9 | add_executable(nolangs_exec 10 | main.cpp) 11 | 12 | install(TARGETS nolangs_exec 13 | RUNTIME DESTINATION bin) 14 | 15 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_2mxy.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | rosbuild_init() 13 | 14 | #set the default path for built executables to the "bin" directory 15 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 16 | #set the default path for built libraries to the "lib" directory 17 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 18 | 19 | #uncomment if you have defined messages 20 | #rosbuild_genmsg() 21 | #uncomment if you have defined services 22 | #rosbuild_gensrv() 23 | 24 | # Generate URDF at build time 25 | rosbuild_add_gtest(test_urdf test/test_urdf.cpp) 26 | 27 | #common commands for building c++ executables and libraries 28 | #rosbuild_add_library(${PROJECT_NAME} src/example.cpp) 29 | #target_link_libraries(${PROJECT_NAME} another_library) 30 | #rosbuild_add_boost_directories() 31 | #rosbuild_link_boost(${PROJECT_NAME} thread) 32 | #rosbuild_add_executable(example examples/example.cpp) 33 | #target_link_libraries(example ${PROJECT_NAME}) 34 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_2p0c.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rostest) 3 | 4 | find_package(catkin COMPONENTS rosunit) 5 | find_package(Boost COMPONENTS thread) 6 | 7 | include_directories(include ${Boost_INCLUDE_DIRS}) 8 | 9 | catkin_package(DEPENDS Boost 10 | INCLUDE_DIRS include 11 | CFG_EXTRAS ${PROJECT_NAME}-extras.cmake 12 | ) 13 | catkin_python_setup() 14 | 15 | find_package(catkin COMPONENTS rostest) 16 | 17 | catkin_add_gtest(test_permuter test/test_permuter.cpp) 18 | if(TARGET test_permuter) 19 | target_link_libraries(test_permuter ${Boost_LIBRARIES}) 20 | endif() 21 | 22 | add_rostest(test/hztest0.test) 23 | add_rostest(test/hztest.test) 24 | add_rostest(test/clean_master.test) 25 | add_rostest(test/distro_version.test) 26 | 27 | # required for old rosbuild macro 28 | install(PROGRAMS scripts/roslaunch-check.py 29 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/scripts) 30 | install(PROGRAMS nodes/hztest 31 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/nodes/hztest) 32 | install(DIRECTORY include/${PROJECT_NAME}/ 33 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 34 | FILES_MATCHING PATTERN "*.h") 35 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_3BtM.txt: -------------------------------------------------------------------------------- 1 | # toplevel CMakeLists.txt for a catkin workspace 2 | # catkin/cmake/toplevel.cmake 3 | 4 | cmake_minimum_required(VERSION 2.8.3) 5 | 6 | # optionally provide a cmake file in the workspace to override arbitrary stuff 7 | include(workspace.cmake OPTIONAL) 8 | 9 | set(CATKIN_TOPLEVEL TRUE) 10 | 11 | # include catkin directly or via find_package() 12 | if(EXISTS "${CMAKE_SOURCE_DIR}/catkin/cmake/all.cmake" AND EXISTS "${CMAKE_SOURCE_DIR}/catkin/CMakeLists.txt") 13 | set(catkin_EXTRAS_DIR "${CMAKE_SOURCE_DIR}/catkin/cmake") 14 | # include all.cmake without add_subdirectory to let it operate in same scope 15 | include(catkin/cmake/all.cmake NO_POLICY_SCOPE) 16 | add_subdirectory(catkin) 17 | 18 | else() 19 | # use either CMAKE_PREFIX_PATH explicitly passed to CMake as a command line argument 20 | # or CMAKE_PREFIX_PATH from the environment 21 | if(NOT DEFINED CMAKE_PREFIX_PATH) 22 | string(REPLACE ":" ";" CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH}) 23 | endif() 24 | 25 | # list of catkin workspaces 26 | set(catkin_search_path "") 27 | foreach(path ${CMAKE_PREFIX_PATH}) 28 | if(EXISTS "${path}/.CATKIN_WORKSPACE") 29 | list(FIND catkin_search_path ${path} _index) 30 | if(_index EQUAL -1) 31 | list(APPEND catkin_search_path ${path}) 32 | endif() 33 | endif() 34 | endforeach() 35 | 36 | # search for catkin in all workspaces 37 | set(CATKIN_TOPLEVEL_FIND_PACKAGE TRUE) 38 | find_package(catkin REQUIRED 39 | NO_POLICY_SCOPE 40 | PATHS ${catkin_search_path} 41 | NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) 42 | unset(CATKIN_TOPLEVEL_FIND_PACKAGE) 43 | endif() 44 | 45 | catkin_workspace() 46 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_3HYf.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(quux_user) 3 | find_package(catkin REQUIRED) 4 | 5 | catkin_package() 6 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) 7 | 8 | find_package(quux_msgs) 9 | assert_unset(quux_msgs_INCLUDE_DIRS) 10 | 11 | include_directories(${quux_msgs_INCLUDE_DIRS}) 12 | 13 | find_package(rostime) 14 | include_directories(${rostime_INCLUDE_DIRS}) 15 | assert(rostime_INCLUDE_DIRS) 16 | assert(rostime_LIBRARIES) 17 | 18 | find_package(cpp_common) 19 | include_directories(${cpp_common_INCLUDE_DIRS}) 20 | 21 | find_package(roscpp_traits) 22 | include_directories(${roscpp_traits_INCLUDE_DIRS}) 23 | 24 | find_package(roscpp_serialization) 25 | include_directories(${roscpp_serialization_INCLUDE_DIRS}) 26 | assert(roscpp_serialization_LIBRARIES) 27 | 28 | find_package(sensor_msgs) 29 | include_directories(${sensor_msgs_INCLUDE_DIRS}) 30 | 31 | 32 | include_directories(${std_msgs_INCLUDE_DIRS} ${quux_msgs_INCLUDE_DIRS}) 33 | 34 | add_executable(quux_user-exec src/main.cpp) 35 | add_dependencies(quux_user-exec sensor_msgs_gencpp) 36 | 37 | message(STATUS ${roscpp_serialization_LIBRARIES}) 38 | 39 | target_link_libraries(quux_user-exec ${roscpp_serialization_LIBRARIES} ${rostime_LIBRARIES}) 40 | 41 | add_executable(quux_srv-exec src/srv_test.cpp) 42 | 43 | target_link_libraries(quux_srv-exec ${roscpp_serialization_LIBRARIES}) 44 | add_dependencies(quux_srv-exec sensor_msgs_gencpp) -------------------------------------------------------------------------------- /example_inputs/CMakeLists_3tPJ.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | set(ROSPACK_MAKEDIST true) 4 | rosbuild_make_distribution(1.5.0-cmake) 5 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_5RBQ.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rosgraph) 3 | find_package(catkin REQUIRED COMPONENTS rostest) 4 | catkin_package() 5 | 6 | catkin_python_setup() 7 | 8 | # logging config file goes in both etc and package layout (for now). 9 | # want to get rid of package layout copy, but need to be able to 10 | # locate etc first. 11 | install(FILES conf/python_logging.conf 12 | DESTINATION ${CATKIN_GLOBAL_ETC_DESTINATION}/ros) 13 | install(FILES conf/python_logging.conf 14 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/conf) 15 | install(PROGRAMS scripts/rosgraph 16 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) 17 | 18 | add_rostest(test/rostest/masterapi.test) 19 | catkin_add_nosetests(test) 20 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_7Fq5.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(quux_msgs) 3 | find_package(catkin REQUIRED) 4 | 5 | catkin_package() 6 | 7 | 8 | find_package(genmsg REQUIRED) 9 | find_package(std_msgs REQUIRED) 10 | 11 | add_message_files( 12 | DIRECTORY msg 13 | FILES QuuxString.msg 14 | ) 15 | 16 | generate_messages(DEPENDENCIES std_msgs) 17 | 18 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_7I87.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(a) 3 | find_package(catkin REQUIRED COMPONENTS genmsg std_msgs) 4 | 5 | catkin_package( 6 | INCLUDE_DIRS include 7 | LIBRARIES a 8 | # PYTHONPATH src 9 | ) 10 | 11 | add_library(a SHARED lib.cpp) 12 | 13 | add_message_files( 14 | DIRECTORY msg 15 | FILES AMsg.msg 16 | ) 17 | 18 | 19 | # catkin_python_setup() 20 | # enable_python(a) 21 | 22 | generate_messages(DEPENDENCIES std_msgs) 23 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_7RTP.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rosmsg) 3 | find_package(catkin) 4 | catkin_package() 5 | 6 | catkin_python_setup() 7 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_7b9K.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Append to CPACK_SOURCE_IGNORE_FILES a semicolon-separated list of 5 | # directories (or patterns, but directories should suffice) that should 6 | # be excluded from the distro. This is not the place to put things that 7 | # should be ignored everywhere, like "build" directories; that happens in 8 | # rosbuild/rosbuild.cmake. Here should be listed packages that aren't 9 | # ready for inclusion in a distro. 10 | # 11 | # This list is combined with the list in rosbuild/rosbuild.cmake. Note 12 | # that CMake 2.6 may be required to ensure that the two lists are combined 13 | # properly. CMake 2.4 seems to have unpredictable scoping rules for such 14 | # variables. 15 | #list(APPEND CPACK_SOURCE_IGNORE_FILES /core/experimental) 16 | 17 | rosbuild_make_distribution(1.8.2) 18 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_8I3s.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rosnode) 3 | find_package(catkin REQUIRED COMPONENTS rostest) 4 | catkin_package() 5 | 6 | catkin_python_setup() 7 | 8 | add_rostest(test/rosnode.test) 9 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_99gF.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(xmlrpcpp) 3 | find_package(catkin REQUIRED COMPONENTS cpp_common) 4 | catkin_package( 5 | INCLUDE_DIRS include 6 | LIBRARIES xmlrpcpp 7 | ) 8 | 9 | include_directories(include ${catkin_INCLUDE_DIRS}) 10 | link_directories(${catkin_LIBRARY_DIRS}) 11 | 12 | if(WIN32) 13 | add_definitions(-D_WINDOWS) 14 | endif() 15 | 16 | add_library(xmlrpcpp 17 | src/XmlRpcClient.cpp 18 | src/XmlRpcDispatch.cpp 19 | src/XmlRpcServer.cpp 20 | src/XmlRpcServerConnection.cpp 21 | src/XmlRpcServerMethod.cpp 22 | src/XmlRpcSocket.cpp 23 | src/XmlRpcSource.cpp 24 | src/XmlRpcUtil.cpp 25 | src/XmlRpcValue.cpp 26 | ) 27 | 28 | if(WIN32) 29 | target_link_libraries(xmlrpcpp ws2_32) 30 | endif() 31 | 32 | message("TODO: consider moving xmlrpcpp's headers into a subdirectory") 33 | install(DIRECTORY include/ 34 | DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION} 35 | FILES_MATCHING PATTERN "*.h") 36 | 37 | install(TARGETS xmlrpcpp 38 | ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 39 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) 40 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_9msk.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(roscpp) 3 | 4 | find_package(catkin REQUIRED COMPONENTS 5 | genmsg 6 | cpp_common rostime rosconsole roscpp_serialization 7 | roscpp_traits std_msgs rosgraph_msgs xmlrpcpp rosunit 8 | rostest 9 | ) 10 | 11 | catkin_package( 12 | LIBRARIES roscpp 13 | INCLUDE_DIRS include 14 | DEPENDS cpp_common rostime rosconsole roscpp_serialization 15 | roscpp_traits std_msgs rosgraph_msgs xmlrpcpp 16 | ) 17 | 18 | find_package(Boost REQUIRED COMPONENTS signals filesystem system) 19 | 20 | include_directories(include ${Boost_INCLUDE_DIR} ${catkin_INCLUDE_DIRS}) 21 | 22 | include(CheckIncludeFiles) 23 | include(CheckFunctionExists) 24 | 25 | # Not everybody has (e.g., embedded arm-linux) 26 | CHECK_INCLUDE_FILES(ifaddrs.h HAVE_IFADDRS_H) 27 | # Not everybody has trunc (e.g., Windows, embedded arm-linux) 28 | CHECK_FUNCTION_EXISTS(trunc HAVE_TRUNC) 29 | 30 | # Output test results to config.h 31 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/libros/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) 32 | include_directories(${CMAKE_CURRENT_BINARY_DIR}) 33 | 34 | add_library(roscpp 35 | src/libros/master.cpp 36 | src/libros/network.cpp 37 | src/libros/subscriber.cpp 38 | src/libros/common.cpp 39 | src/libros/publisher_link.cpp 40 | src/libros/service_publication.cpp 41 | src/libros/connection.cpp 42 | src/libros/single_subscriber_publisher.cpp 43 | src/libros/param.cpp 44 | src/libros/service_server.cpp 45 | src/libros/wall_timer.cpp 46 | src/libros/xmlrpc_manager.cpp 47 | src/libros/publisher.cpp 48 | src/libros/timer.cpp 49 | src/libros/io.cpp 50 | src/libros/names.cpp 51 | src/libros/topic.cpp 52 | src/libros/topic_manager.cpp 53 | src/libros/poll_manager.cpp 54 | src/libros/publication.cpp 55 | src/libros/intraprocess_subscriber_link.cpp 56 | src/libros/intraprocess_publisher_link.cpp 57 | src/libros/callback_queue.cpp 58 | src/libros/service_server_link.cpp 59 | src/libros/service_client.cpp 60 | src/libros/node_handle.cpp 61 | src/libros/connection_manager.cpp 62 | src/libros/file_log.cpp 63 | src/libros/transport/transport_udp.cpp 64 | src/libros/transport/transport_tcp.cpp 65 | src/libros/subscriber_link.cpp 66 | src/libros/service_client_link.cpp 67 | src/libros/transport_publisher_link.cpp 68 | src/libros/transport_subscriber_link.cpp 69 | src/libros/service_manager.cpp 70 | src/libros/rosout_appender.cpp 71 | src/libros/init.cpp 72 | src/libros/subscription.cpp 73 | src/libros/subscription_queue.cpp 74 | src/libros/spinner.cpp 75 | src/libros/internal_timer_manager.cpp 76 | src/libros/message_deserializer.cpp 77 | src/libros/header.cpp 78 | src/libros/poll_set.cpp 79 | src/libros/service.cpp 80 | src/libros/this_node.cpp 81 | ) 82 | 83 | add_dependencies(roscpp roscpp_gencpp rosgraph_msgs_gencpp std_msgs_gencpp) 84 | 85 | target_link_libraries(roscpp 86 | ${catkin_LIBRARIES} 87 | ${Boost_LIBRARIES} 88 | ) 89 | 90 | add_message_files( 91 | DIRECTORY msg 92 | FILES Logger.msg 93 | ) 94 | 95 | add_service_files( 96 | DIRECTORY srv 97 | FILES Empty.srv GetLoggers.srv SetLoggerLevel.srv 98 | ) 99 | 100 | # Testing message and service files. See comment below about subdirectory support. 101 | add_message_files( 102 | NOINSTALL 103 | DIRECTORY test/msg 104 | FILES 105 | TestArray.msg 106 | TestEmpty.msg 107 | TestStringInt.msg 108 | TestWithHeader.msg 109 | ) 110 | add_service_files( 111 | NOINSTALL 112 | DIRECTORY test/srv 113 | FILES 114 | BadTestStringString.srv 115 | TestStringString.srv 116 | ) 117 | 118 | # Serialization testing message files. 119 | add_message_files( 120 | NOINSTALL 121 | DIRECTORY test_serialization/msg 122 | FILES 123 | ArrayOfFixedLength.msg 124 | ArrayOfVariableLength.msg 125 | Constants.msg 126 | CustomHeader.msg 127 | EmbeddedExternal.msg 128 | EmbeddedFixedLength.msg 129 | EmbeddedVariableLength.msg 130 | FixedLengthArrayOfExternal.msg 131 | FixedLength.msg 132 | FixedLengthStringArray.msg 133 | HeaderNotFirstMember.msg 134 | VariableLengthArrayOfExternal.msg 135 | VariableLength.msg 136 | VariableLengthStringArray.msg 137 | WithDuration.msg 138 | WithHeader.msg 139 | WithMemberNamedHeaderThatIsNotAHeader.msg 140 | WithTime.msg 141 | ) 142 | 143 | # Performance testing message files. add_message_files() does not 144 | # currently support being called from a subdirectory, so this is here 145 | # for now. 146 | add_message_files( 147 | NOINSTALL 148 | DIRECTORY perf/msg 149 | FILES 150 | LatencyMessage.msg 151 | ThroughputMessage.msg 152 | ) 153 | 154 | # Message files for testing the performance of serialization. 155 | add_message_files( 156 | NOINSTALL 157 | DIRECTORY perf_serialization/msg 158 | FILES 159 | ChannelFloat32.msg 160 | Point32.msg 161 | PointCloud.msg 162 | ) 163 | 164 | # dependencies std_msgs and rosgraph_msgs are needed by tests, but not by roscpp otherwise. 165 | generate_messages(DEPENDENCIES std_msgs rosgraph_msgs) 166 | # generate_messages() 167 | 168 | #explicitly install library and includes 169 | install(TARGETS roscpp 170 | ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 171 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) 172 | install(DIRECTORY include/ 173 | DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION} 174 | FILES_MATCHING PATTERN "*.h") 175 | # install legacy infrastructure needed by rosbuild 176 | install(FILES rosbuild/roscpp.cmake 177 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/rosbuild) 178 | install(PROGRAMS 179 | rosbuild/scripts/genmsg_cpp.py 180 | rosbuild/scripts/gensrv_cpp.py 181 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/rosbuild/scripts) 182 | install(FILES 183 | rosbuild/scripts/msg_gen.py 184 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/rosbuild/scripts) 185 | 186 | add_subdirectory(test) 187 | add_subdirectory(perf) 188 | add_subdirectory(test_serialization) 189 | add_subdirectory(perf_serialization) 190 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_AD7h.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(roswtf) 3 | find_package(catkin REQUIRED COMPONENTS rostest) 4 | catkin_package() 5 | catkin_python_setup() 6 | 7 | add_rostest(test/roswtf.test) 8 | 9 | catkin_add_nosetests(test) 10 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_AULs.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | rosbuild_init() 13 | 14 | #set the default path for built executables to the "bin" directory 15 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 16 | #set the default path for built libraries to the "lib" directory 17 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 18 | 19 | #uncomment if you have defined messages 20 | #rosbuild_genmsg() 21 | #uncomment if you have defined services 22 | #rosbuild_gensrv() 23 | 24 | #common commands for building c++ executables and libraries 25 | #rosbuild_add_library(${PROJECT_NAME} src/example.cpp) 26 | #target_link_libraries(${PROJECT_NAME} another_library) 27 | #rosbuild_add_boost_directories() 28 | #rosbuild_link_boost(${PROJECT_NAME} thread) 29 | #rosbuild_add_executable(example examples/example.cpp) 30 | #target_link_libraries(example ${PROJECT_NAME}) 31 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_BZCS.txt: -------------------------------------------------------------------------------- 1 | add_executable(${PROJECT_NAME}-pointcloud_serdes EXCLUDE_FROM_ALL pointcloud_serdes.cpp) 2 | target_link_libraries(${PROJECT_NAME}-pointcloud_serdes ${catkin_LIBRARIES} roscpp) 3 | if(TARGET tests) 4 | add_dependencies(tests ${PROJECT_NAME}-pointcloud_serdes) 5 | endif() 6 | add_dependencies(${PROJECT_NAME}-pointcloud_serdes ${PROJECT_NAME}_gencpp) 7 | #rosbuild_add_compile_flags(pointcloud_serdes "-O3 -funroll-loops") 8 | #rosbuild_add_compile_flags(pointcloud_serdes "-march=prescott") 9 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_CM5Y.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | set(ROSPACK_MAKEDIST true) 5 | 6 | # Append to CPACK_SOURCE_IGNORE_FILES a semicolon-separated list of 7 | # directories (or patterns, but directories should suffice) that should 8 | # be excluded from the distro. This is not the place to put things that 9 | # should be ignored everywhere, like "build" directories; that happens in 10 | # rosbuild/rosbuild.cmake. Here should be listed packages that aren't 11 | # ready for inclusion in a distro. 12 | # 13 | # This list is combined with the list in rosbuild/rosbuild.cmake. Note 14 | # that CMake 2.6 may be required to ensure that the two lists are combined 15 | # properly. CMake 2.4 seems to have unpredictable scoping rules for such 16 | # variables. 17 | #list(APPEND CPACK_SOURCE_IGNORE_FILES /core/experimental) 18 | 19 | rosbuild_make_distribution(1.6.3) 20 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_ECZq.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rospy) 3 | find_package(catkin REQUIRED) 4 | catkin_package() 5 | catkin_python_setup() 6 | 7 | # install legacy infrastructure needed by rosbuild 8 | install(FILES rosbuild/rospy.cmake 9 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/rosbuild) 10 | install(PROGRAMS 11 | rosbuild/scripts/genmsg_py.py 12 | rosbuild/scripts/gensrv_py.py 13 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/rosbuild/scripts) 14 | install(FILES rosbuild/scripts/genutil.py 15 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/rosbuild/scripts) 16 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_EQpq.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rosservice) 3 | find_package(catkin) 4 | catkin_package() 5 | 6 | catkin_python_setup() 7 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_FBD0.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | find_package(OpenCV REQUIRED) 13 | 14 | rosbuild_init() 15 | 16 | rosbuild_genmsg() 17 | 18 | #set the default path for built executables to the "bin" directory 19 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 20 | #set the default path for built libraries to the "lib" directory 21 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 22 | 23 | # Dynamic reconfigure 24 | rosbuild_find_ros_package(dynamic_reconfigure) 25 | include(${dynamic_reconfigure_PACKAGE_PATH}/cmake/cfgbuild.cmake) 26 | gencfg() 27 | 28 | rosbuild_add_library(${PROJECT_NAME} src/theora_publisher.cpp src/theora_subscriber.cpp src/manifest.cpp) 29 | target_link_libraries(${PROJECT_NAME} ogg theora theoraenc theoradec ${OpenCV_LIBS}) 30 | 31 | rosbuild_add_executable(ogg_saver src/ogg_saver.cpp) 32 | target_link_libraries(ogg_saver ogg theora theoraenc theoradec ${OpenCV_LIBS}) 33 | 34 | #common commands for building c++ executables and libraries 35 | #rosbuild_add_library(${PROJECT_NAME} src/example.cpp) 36 | #target_link_libraries(${PROJECT_NAME} another_library) 37 | #rosbuild_add_boost_directories() 38 | #rosbuild_link_boost(${PROJECT_NAME} thread) 39 | #rosbuild_add_executable(example examples/example.cpp) 40 | #target_link_libraries(example ${PROJECT_NAME}) 41 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_FWNw.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Append to CPACK_SOURCE_IGNORE_FILES a semicolon-separated list of 5 | # directories (or patterns, but directories should suffice) that should 6 | # be excluded from the distro. This is not the place to put things that 7 | # should be ignored everywhere, like "build" directories; that happens in 8 | # rosbuild/rosbuild.cmake. Here should be listed packages that aren't 9 | # ready for inclusion in a distro. 10 | # 11 | # This list is combined with the list in rosbuild/rosbuild.cmake. Note 12 | # that CMake 2.6 may be required to ensure that the two lists are combined 13 | # properly. CMake 2.4 seems to have unpredictable scoping rules for such 14 | # variables. 15 | #list(APPEND CPACK_SOURCE_IGNORE_FILES /core/experimental) 16 | 17 | rosbuild_make_distribution(0.2.3) 18 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_FvOd.txt: -------------------------------------------------------------------------------- 1 | if(NOT GTEST_FOUND) 2 | return() 3 | endif() 4 | 5 | catkin_add_gtest(${PROJECT_NAME}-serialization src/serialization.cpp) 6 | if(TARGET ${PROJECT_NAME}-serialization) 7 | target_link_libraries(${PROJECT_NAME}-serialization ${catkin_LIBRARIES} roscpp ${GTEST_LIBRARIES}) 8 | add_dependencies(${PROJECT_NAME}-serialization ${PROJECT_NAME}_gencpp) 9 | endif() 10 | 11 | catkin_add_gtest(${PROJECT_NAME}-generated_messages src/generated_messages.cpp) 12 | if(TARGET ${PROJECT_NAME}-generated_messages) 13 | target_link_libraries(${PROJECT_NAME}-generated_messages ${catkin_LIBRARIES} roscpp ${GTEST_LIBRARIES}) 14 | add_dependencies(${PROJECT_NAME}-generated_messages ${PROJECT_NAME}_gencpp) 15 | endif() 16 | 17 | add_executable(${PROJECT_NAME}-builtin_types EXCLUDE_FROM_ALL src/builtin_types.cpp) 18 | add_dependencies(tests ${PROJECT_NAME}-builtin_types) 19 | target_link_libraries(${PROJECT_NAME}-builtin_types ${catkin_LIBRARIES} roscpp ${GTEST_LIBRARIES}) 20 | add_dependencies(${PROJECT_NAME}-builtin_types ${PROJECT_NAME}_gencpp) 21 | add_rostest(test/builtin_types.test) 22 | 23 | add_executable(${PROJECT_NAME}-pre_deserialize EXCLUDE_FROM_ALL src/pre_deserialize.cpp) 24 | add_dependencies(tests ${PROJECT_NAME}-pre_deserialize) 25 | target_link_libraries(${PROJECT_NAME}-pre_deserialize ${catkin_LIBRARIES} roscpp ${GTEST_LIBRARIES}) 26 | add_dependencies(${PROJECT_NAME}-pre_deserialize ${PROJECT_NAME}_gencpp) 27 | add_rostest(test/pre_deserialize.test) 28 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_GTGF.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | rosbuild_init() 13 | 14 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 15 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 16 | 17 | rosbuild_genmsg() 18 | #rosbuild_gensrv() 19 | 20 | #common commands for building c++ executables and libraries 21 | #rosbuild_add_library(${PROJECT_NAME} src/example.cpp) 22 | #target_link_libraries(${PROJECT_NAME} another_library) 23 | #rosbuild_add_boost_directories() 24 | #rosbuild_link_boost(${PROJECT_NAME} thread) 25 | #rosbuild_add_executable(example examples/example.cpp) 26 | #target_link_libraries(example ${PROJECT_NAME}) 27 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_HJit.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(roslaunch) 3 | find_package(catkin REQUIRED COMPONENTS rostest rosgraph_msgs) 4 | catkin_package() 5 | 6 | catkin_add_env_hooks(10.roslaunch SHELLS bat sh DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/env-hooks) 7 | 8 | catkin_python_setup() 9 | 10 | install(FILES resources/roscore.xml 11 | DESTINATION ${CATKIN_GLOBAL_ETC_DESTINATION}/ros) 12 | 13 | # install example launch files 14 | install(DIRECTORY resources 15 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}) 16 | 17 | add_rostest(test/rostests/roslaunch.test) 18 | add_rostest(test/rostests/env.test) 19 | add_rostest(test/rostests/params_basic.test) 20 | 21 | catkin_add_nosetests(test/unit) 22 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_IGn5.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.0) 2 | project(rospkg) 3 | find_package(catkin) 4 | catkin_stack() 5 | catkin_project(rospkg 6 | ) 7 | catkin_python_setup() 8 | 9 | install(FILES stack.yaml DESTINATION share/${PROJECT_NAME}) 10 | 11 | add_nosetests(${PROJECT_SOURCE_DIR}) 12 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_IbMN.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.0) 2 | project(bondcpp) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | find_package(Boost REQUIRED) 7 | find_package(catkin REQUIRED bond roscpp smclib) 8 | catkin_package(DEPENDS bond Boost roscpp smclib 9 | INCLUDE_DIRS include 10 | LIBRARIES ${PROJECT_NAME} 11 | ) 12 | 13 | include_directories(SYSTEM ${catkin_INCLUDE_DIRS} 14 | ${BOOST_INCLUDE_DIRS} 15 | ) 16 | include_directories(include) 17 | 18 | add_library(${PROJECT_NAME} 19 | src/timeout.cpp 20 | src/bond.cpp 21 | src/BondSM_sm.cpp 22 | ) 23 | target_link_libraries(${PROJECT_NAME} ${BOOST_LIBRARIES}) 24 | 25 | # install stuff 26 | install(DIRECTORY include/${PROJECT_NAME}/ 27 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 28 | ) 29 | install(TARGETS ${PROJECT_NAME} 30 | DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 31 | ) 32 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_Irv0.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | # commented to cause failure 3 | # project(noproject) 4 | find_package(catkin) 5 | 6 | catkin_package() 7 | 8 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_KfxI.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(topic_tools) 3 | find_package(catkin COMPONENTS cpp_common genmsg rosconsole roscpp rostest rostime rosunit xmlrpcpp) 4 | 5 | catkin_package( 6 | LIBRARIES topic_tools 7 | INCLUDE_DIRS include 8 | DEPENDS rosconsole roscpp rostime xmlrpcpp 9 | ) 10 | 11 | include_directories(include) 12 | include_directories(${catkin_INCLUDE_DIRS}) 13 | 14 | add_library(topic_tools src/shape_shifter.cpp src/parse.cpp) 15 | target_link_libraries(topic_tools ${catkin_LIBRARIES}) 16 | 17 | add_executable(switch_mux src/switch_mux.cpp) 18 | target_link_libraries(switch_mux topic_tools ${catkin_LIBRARIES}) 19 | 20 | add_executable(mux src/mux.cpp) 21 | target_link_libraries(mux topic_tools ${catkin_LIBRARIES}) 22 | add_dependencies(topic_tools topic_tools_gencpp) 23 | 24 | add_executable(relay src/relay.cpp) 25 | target_link_libraries(relay topic_tools ${catkin_LIBRARIES}) 26 | 27 | add_executable(drop src/drop.cpp) 28 | target_link_libraries(drop topic_tools ${catkin_LIBRARIES}) 29 | 30 | add_executable(throttle src/throttle.cpp) 31 | target_link_libraries(throttle topic_tools ${catkin_LIBRARIES}) 32 | 33 | add_service_files(DIRECTORY srv 34 | FILES 35 | MuxAdd.srv 36 | MuxDelete.srv 37 | MuxList.srv 38 | MuxSelect.srv) 39 | 40 | generate_messages(DEPENDENCIES std_msgs) 41 | 42 | install(TARGETS topic_tools switch_mux mux relay drop throttle 43 | ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 44 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 45 | RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) 46 | 47 | install(DIRECTORY include/${PROJECT_NAME}/ 48 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 49 | FILES_MATCHING PATTERN "*.h") 50 | 51 | install(PROGRAMS 52 | scripts/mux_add 53 | scripts/mux_delete 54 | scripts/mux_list 55 | scripts/mux_select 56 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) 57 | 58 | #Testing 59 | catkin_add_gtest(${PROJECT_NAME}-utest test/utest.cpp) 60 | if(TARGET ${PROJECT_NAME}-utest) 61 | target_link_libraries(${PROJECT_NAME}-utest topic_tools) 62 | endif() 63 | 64 | if(GTEST_FOUND) 65 | include_directories(${GTEST_INCLUDE_DIRS}) 66 | add_executable(${PROJECT_NAME}-test_shapeshifter EXCLUDE_FROM_ALL test/test_shapeshifter.cpp) 67 | target_link_libraries(${PROJECT_NAME}-test_shapeshifter ${GTEST_LIBRARIES} topic_tools) 68 | endif() 69 | if(TARGET tests) 70 | add_dependencies(tests ${PROJECT_NAME}-test_shapeshifter) 71 | endif() 72 | 73 | add_rostest(test/shapeshifter.test) 74 | add_rostest(test/throttle.test) 75 | add_rostest(test/throttle_simtime.test) 76 | add_rostest(test/drop.test) 77 | add_rostest(test/relay.test) 78 | ## Latched test disabled until underlying issue in roscpp is resolved, 79 | ## #3385, #3434. 80 | #rosbuild_add_rostest(test/relay_latched.test) 81 | #rosbuild_add_rostest(test/mux.test) 82 | #rosbuild_add_rostest(test/switch_mux.test) 83 | #rosbuild_add_rostest(test/switch_mux_leading_slash.test) 84 | #rosbuild_add_rostest(test/switch_mux_none.test) 85 | #rosbuild_add_rostest(test/mux_add.test) 86 | 87 | catkin_add_nosetests(test/args.py) 88 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_L9yy.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(c) 3 | find_package(catkin REQUIRED) 4 | 5 | catkin_package( 6 | INCLUDE_DIRS include 7 | LIBRARIES c-one c-two 8 | ) 9 | 10 | find_package(a) 11 | include_directories(${a_INCLUDE_DIRS}) 12 | 13 | add_library(c-one SHARED lib.cpp) 14 | add_library(c-two SHARED lib.cpp) 15 | target_link_libraries(c-one ${a_LIBRARIES}) 16 | target_link_libraries(c-two ${a_LIBRARIES}) 17 | 18 | add_message_files( 19 | DIRECTORY msg 20 | FILES CMsg.msg 21 | ) 22 | 23 | 24 | 25 | # catkin_python_setup() 26 | # enable_python(c) 27 | 28 | # generate_messages(DEPENDENCIES std_msgs a) 29 | 30 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_LCGe.txt: -------------------------------------------------------------------------------- 1 | # This is going to need some work because the bag files on 2 | # pr.willowgarage.com all have messages with the test_rosbag package 3 | # name. Of course the package name for this package now is rosbag. 4 | # If we can have a way to pass an override package name into 5 | # generate_messages() it might make it work, or we can migrate the bag 6 | # files themselves. 7 | 8 | add_message_files( 9 | DIRECTORY msg_current 10 | FILES 11 | Constants.msg 12 | Converged.msg 13 | MigratedAddSub.msg 14 | MigratedExplicit.msg 15 | MigratedImplicit.msg 16 | MigratedMixed.msg 17 | PartiallyMigrated.msg 18 | Renamed4.msg 19 | Simple.msg 20 | SimpleMigrated.msg 21 | SubUnmigrated.msg 22 | Unmigrated.msg 23 | ) 24 | generate_messages(DEPENDENCIES rosgraph_msgs std_msgs) 25 | 26 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/constants_gen1.bag test/constants_gen1.bag 77ec8cb20e823ee3f3a87d07ea1132df ) 27 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/constants_gen2.bag test/constants_gen2.bag 4efd8459bf9403d1171dff06abcd6548 ) 28 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/converged_gen1.bag test/converged_gen1.bag 8e3524157d31b5761ac951fe16e03e12 ) 29 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/converged_gen2.bag test/converged_gen2.bag 0ad4041d2e3bab8262c12020ec3e048e ) 30 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/converged_gen3.bag test/converged_gen3.bag 90dd16cea5c51fca65be617654fb6b76 ) 31 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/convergent_gen1.bag test/convergent_gen1.bag a840aec95e50f3c828841b688dfab5a2 ) 32 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/convergent_gen2.bag test/convergent_gen2.bag fd84c135ba1548985b870d0d5f4113e9 ) 33 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/migrated_addsub_gen1.bag test/migrated_addsub_gen1.bag 462e98cef72b5df56ce3feea9ddfc4d2 ) 34 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/migrated_explicit_gen1.bag test/migrated_explicit_gen1.bag 0b77e45aec3ddb19a9f9771c945e2615 ) 35 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/migrated_explicit_gen2.bag test/migrated_explicit_gen2.bag b237680d6aae1b20355af097cf0f072b ) 36 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/migrated_explicit_gen3.bag test/migrated_explicit_gen3.bag 8b883286e23779bbfc30b0e5588a4d64 ) 37 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/migrated_implicit_gen1.bag test/migrated_implicit_gen1.bag 229d6cbd7dcec5e87fb2cf597b837243 ) 38 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/migrated_implicit_gen2.bag test/migrated_implicit_gen2.bag df60111e5f8034ba6259c4d76d07339b ) 39 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/migrated_implicit_gen3.bag test/migrated_implicit_gen3.bag d86f131070822f1673f7644bc28bfccd ) 40 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/migrated_mixed_gen1.bag test/migrated_mixed_gen1.bag 2d0be37de2df6940b7bd93561dde7b51 ) 41 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/migrated_mixed_gen2.bag test/migrated_mixed_gen2.bag e000b2de3e4c417b0c9fbba9d2e92dc4 ) 42 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/migrated_mixed_gen3.bag test/migrated_mixed_gen3.bag 6e1cbb529b7a45386589d00bf3908bdf ) 43 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/partially_migrated_gen1.bag test/partially_migrated_gen1.bag dcfcf1e1c1f7ddc5ab723e171273a385 ) 44 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/partially_migrated_gen2.bag test/partially_migrated_gen2.bag 7b2d752559a7e3c724d8b2a032daf3c1 ) 45 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/partially_migrated_gen3.bag test/partially_migrated_gen3.bag 01161f84591bf956df7dff0a5e3fd2db ) 46 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/renamed_gen1.bag test/renamed_gen1.bag 243d6109f3bfd2ad1af1337a776970e5 ) 47 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/renamed_gen2.bag test/renamed_gen2.bag 229c79262e42b71f36e316ab1d1ad943 ) 48 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/renamed_gen3.bag test/renamed_gen3.bag c9c3d03807de367b533f5e0384b4d134 ) 49 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/subunmigrated_gen1.bag test/subunmigrated_gen1.bag c78b85016aa34669e36d1eb5a7b5f2c7 ) 50 | download_test_data(http://pr.willowgarage.com/data/test_rosbag/unmigrated_gen1.bag test/unmigrated_gen1.bag 87d8d3a1c9679609533803709d21cea2 ) 51 | 52 | configure_file(test/migrate_test.py.in 53 | ${PROJECT_BINARY_DIR}/test/migrate_test.py) 54 | catkin_add_nosetests(${PROJECT_BINARY_DIR}/test/migrate_test.py) 55 | configure_file(test/random_record.xml.in 56 | ${PROJECT_BINARY_DIR}/test/random_record.xml) 57 | add_rostest(${PROJECT_BINARY_DIR}/test/random_record.xml) 58 | configure_file(test/random_play.xml.in 59 | ${PROJECT_BINARY_DIR}/test/random_play.xml) 60 | add_rostest(${PROJECT_BINARY_DIR}/test/random_play.xml) 61 | configure_file(test/random_play_sim.xml.in 62 | ${PROJECT_BINARY_DIR}/test/random_play_sim.xml) 63 | add_rostest(${PROJECT_BINARY_DIR}/test/random_play_sim.xml) 64 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_MMKn.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | 3 | project(badly_specified_changelog) 4 | find_package(catkin) 5 | 6 | catkin_package() 7 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_MTej.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | # commented to cause failure 3 | # project(noproject) 4 | find_package(catkin) 5 | 6 | catkin_project(noproject) 7 | 8 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_NJ2p.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(catkin_test) 3 | find_package(catkin REQUIRED) 4 | 5 | find_package(genmsg REQUIRED) 6 | find_package(std_msgs REQUIRED) 7 | 8 | 9 | foreach(subdir 10 | quux_msgs 11 | quux_user 12 | a 13 | b 14 | c 15 | d 16 | ) 17 | add_subdirectory(${subdir}) 18 | endforeach() 19 | 20 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_Nd1v.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | rosbuild_init() 13 | 14 | #set the default path for built executables to the "bin" directory 15 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 16 | #set the default path for built libraries to the "lib" directory 17 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 18 | 19 | #uncomment if you have defined messages 20 | #rosbuild_genmsg() 21 | #uncomment if you have defined services 22 | #rosbuild_gensrv() 23 | 24 | #common commands for building c++ executables and libraries 25 | #rosbuild_add_library(${PROJECT_NAME} src/example.cpp) 26 | #target_link_libraries(${PROJECT_NAME} another_library) 27 | #rosbuild_add_boost_directories() 28 | #rosbuild_link_boost(${PROJECT_NAME} thread) 29 | #rosbuild_add_executable(example examples/example.cpp) 30 | #target_link_libraries(example ${PROJECT_NAME}) 31 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_O4vl.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(message_filters) 3 | find_package(catkin REQUIRED COMPONENTS roscpp xmlrpcpp rosconsole) 4 | catkin_package( 5 | INCLUDE_DIRS include 6 | LIBRARIES message_filters 7 | DEPENDS roscpp xmlrpcpp rosconsole 8 | ) 9 | catkin_python_setup() 10 | 11 | find_package(Boost REQUIRED COMPONENTS signals thread) 12 | 13 | include_directories(include ${catkin_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) 14 | link_directories(${catkin_LIBRARY_DIRS}) 15 | 16 | add_library(${PROJECT_NAME} src/connection.cpp) 17 | target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES} ${Boost_LIBRARIES}) 18 | 19 | install(TARGETS ${PROJECT_NAME} 20 | ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 21 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) 22 | 23 | install(DIRECTORY include/${PROJECT_NAME}/ 24 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 25 | FILES_MATCHING PATTERN "*.h") 26 | 27 | # Ugly workaround for check_test_ran macro issue 28 | #add_subdirectory(test) 29 | find_package(catkin COMPONENTS rostest rosunit) 30 | 31 | include_directories(${GTEST_INCLUDE_DIRS}) 32 | 33 | # ********** Tests ********** 34 | catkin_add_gtest(${PROJECT_NAME}-msg_cache_unittest test/msg_cache_unittest.cpp) 35 | if(TARGET ${PROJECT_NAME}-msg_cache_unittest) 36 | target_link_libraries(${PROJECT_NAME}-msg_cache_unittest message_filters ${GTEST_LIBRARIES}) 37 | endif() 38 | 39 | catkin_add_gtest(${PROJECT_NAME}-time_synchronizer_unittest test/time_synchronizer_unittest.cpp) 40 | if(TARGET ${PROJECT_NAME}-time_synchronizer_unittest) 41 | target_link_libraries(${PROJECT_NAME}-time_synchronizer_unittest message_filters ${GTEST_LIBRARIES}) 42 | endif() 43 | 44 | catkin_add_gtest(${PROJECT_NAME}-test_synchronizer test/test_synchronizer.cpp) 45 | if(TARGET ${PROJECT_NAME}-test_synchronizer) 46 | target_link_libraries(${PROJECT_NAME}-test_synchronizer message_filters ${GTEST_LIBRARIES}) 47 | endif() 48 | 49 | catkin_add_gtest(${PROJECT_NAME}-test_exact_time_policy test/test_exact_time_policy.cpp) 50 | if(TARGET ${PROJECT_NAME}-test_exact_time_policy) 51 | target_link_libraries(${PROJECT_NAME}-test_exact_time_policy message_filters ${GTEST_LIBRARIES}) 52 | endif() 53 | 54 | catkin_add_gtest(${PROJECT_NAME}-test_approximate_time_policy test/test_approximate_time_policy.cpp) 55 | if(TARGET ${PROJECT_NAME}-test_approximate_time_policy) 56 | target_link_libraries(${PROJECT_NAME}-test_approximate_time_policy message_filters ${GTEST_LIBRARIES}) 57 | endif() 58 | 59 | catkin_add_gtest(${PROJECT_NAME}-test_simple test/test_simple.cpp) 60 | if(TARGET ${PROJECT_NAME}-test_simple) 61 | target_link_libraries(${PROJECT_NAME}-test_simple message_filters ${GTEST_LIBRARIES}) 62 | endif() 63 | 64 | catkin_add_gtest(${PROJECT_NAME}-test_chain test/test_chain.cpp) 65 | if(TARGET ${PROJECT_NAME}-test_chain) 66 | target_link_libraries(${PROJECT_NAME}-test_chain message_filters ${GTEST_LIBRARIES}) 67 | endif() 68 | 69 | # Needs to be a rostest because it spins up a node, which blocks until it hears from the master (unfortunately) 70 | add_executable(${PROJECT_NAME}-time_sequencer_unittest EXCLUDE_FROM_ALL test/time_sequencer_unittest.cpp) 71 | if(TARGET tests) 72 | add_dependencies(tests ${PROJECT_NAME}-time_sequencer_unittest) 73 | endif() 74 | target_link_libraries(${PROJECT_NAME}-time_sequencer_unittest message_filters ${GTEST_LIBRARIES}) 75 | add_executable(${PROJECT_NAME}-test_subscriber EXCLUDE_FROM_ALL test/test_subscriber.cpp) 76 | if(TARGET tests) 77 | add_dependencies(tests ${PROJECT_NAME}-test_subscriber) 78 | endif() 79 | target_link_libraries(${PROJECT_NAME}-test_subscriber message_filters ${GTEST_LIBRARIES}) 80 | 81 | add_rostest(test/time_sequencer_unittest.xml) 82 | add_rostest(test/test_subscriber.xml) 83 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_OKr9.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | 3 | project(plugin_test) 4 | find_package(catkin REQUIRED) 5 | catkin_package() 6 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_OyGw.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(d) 3 | find_package(catkin REQUIRED) 4 | 5 | catkin_package( 6 | INCLUDE_DIRS include 7 | LIBRARIES d 8 | ) 9 | 10 | find_package(c) 11 | find_package(b) 12 | find_package(a) 13 | include_directories(${b_INCLUDE_DIRS}) 14 | 15 | include_directories(${c_INCLUDE_DIRS}) 16 | 17 | add_library(d SHARED lib.cpp) 18 | target_link_libraries(d ${b_LIBRARIES} ${c_LIBRARIES}) 19 | 20 | add_message_files( 21 | DIRECTORY msg 22 | FILES DMsg.msg 23 | ) 24 | 25 | 26 | # catkin_python_setup() 27 | # enable_python(d) 28 | 29 | # generate_messages(DEPENDENCIES std_msgs b c a) 30 | 31 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_SrXG.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | rosbuild_init() 13 | 14 | #set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 15 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 16 | 17 | #rosbuild_genmsg() 18 | rosbuild_gensrv() 19 | 20 | rosbuild_add_executable(test/exercise_bond test/exercise_bond.cpp) 21 | rosbuild_add_gtest_build_flags(test/exercise_bond) 22 | rosbuild_add_rostest(test/test_cpp.launch) 23 | 24 | rosbuild_add_rostest(test/test_python.launch) 25 | 26 | rosbuild_add_executable(test/test_callbacks_cpp test/test_callbacks_cpp.cpp) 27 | rosbuild_add_gtest_build_flags(test/test_callbacks_cpp) 28 | rosbuild_add_rostest(test/test_callbacks_cpp.launch) 29 | 30 | rosbuild_add_rostest(test/test_callbacks_py.launch) 31 | 32 | #common commands for building c++ executables and libraries 33 | #rosbuild_add_library(${PROJECT_NAME} src/example.cpp) 34 | #target_link_libraries(${PROJECT_NAME} another_library) 35 | #rosbuild_add_boost_directories() 36 | #rosbuild_link_boost(${PROJECT_NAME} thread) 37 | #rosbuild_add_executable(example examples/example.cpp) 38 | #target_link_libraries(example ${PROJECT_NAME}) 39 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_V3vF.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | project(b) 3 | catkin_project(b 4 | INCLUDE_DIRS include 5 | LIBRARIES b 6 | ) 7 | 8 | find_package(catkin REQUIRED) 9 | find_package(a) 10 | include_directories(${a_INCLUDE_DIRS}) 11 | 12 | add_library(b SHARED lib.cpp) 13 | target_link_libraries(b ${a_LIBRARIES}) 14 | 15 | add_message_files( 16 | DIRECTORY msg 17 | FILES BMsg.msg 18 | ) 19 | 20 | 21 | 22 | # catkin_python_setup() 23 | # enable_python(b) 24 | 25 | # generate_messages(DEPENDENCIES std_msgs) 26 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_VNYG.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rosbag) 3 | find_package(catkin REQUIRED COMPONENTS cpp_common genmsg roscpp_serialization roscpp rosconsole xmlrpcpp topic_tools rosunit rostest rosgraph_msgs) 4 | find_package(Boost REQUIRED COMPONENTS regex program_options) 5 | find_package(BZip2 REQUIRED) 6 | 7 | catkin_package( 8 | LIBRARIES rosbag 9 | INCLUDE_DIRS include 10 | ) 11 | 12 | catkin_python_setup() 13 | 14 | # Support large bags (>2GB) on 32-bit systems 15 | add_definitions(-D_FILE_OFFSET_BITS=64) 16 | 17 | include_directories(include ${Boost_INCLUDE_DIR} ${BZIP2_INCLUDE_DIR} ${catkin_INCLUDE_DIRS} ${roscpp_INCLUDE_DIRS}) 18 | add_definitions(${BZIP2_DEFINITIONS}) 19 | 20 | add_library(rosbag 21 | src/bag.cpp src/buffer.cpp src/bz2_stream.cpp src/chunked_file.cpp 22 | src/message_instance.cpp src/player.cpp 23 | src/query.cpp src/recorder.cpp src/stream.cpp src/time_translator.cpp 24 | src/uncompressed_stream.cpp src/view.cpp) 25 | target_link_libraries(rosbag ${catkin_LIBRARIES} ${Boost_LIBRARIES} ${BZIP2_LIBRARIES}) 26 | 27 | add_executable(record src/record.cpp) 28 | target_link_libraries(record rosbag) 29 | 30 | add_executable(play src/play.cpp) 31 | target_link_libraries(play rosbag) 32 | 33 | #rosbuild_add_executable(example_write examples/write.cpp) 34 | #target_link_libraries(example_write rosbag) 35 | 36 | install(DIRECTORY include/${PROJECT_NAME}/ 37 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 38 | FILES_MATCHING PATTERN "*.h") 39 | install(TARGETS rosbag record play 40 | ARCHIVE DESTINATION {PROJECT_LIB_DESTINATION} 41 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 42 | RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) 43 | install(PROGRAMS 44 | scripts/bag2png.py 45 | scripts/bagsort.py 46 | scripts/fastrebag.py 47 | scripts/fixbag.py 48 | scripts/fixbag_batch.py 49 | scripts/fix_md5sums.py 50 | scripts/fix_moved_messages.py 51 | scripts/fix_msg_defs.py 52 | scripts/makerule.py 53 | scripts/savemsg.py 54 | scripts/topic_renamer.py 55 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) 56 | 57 | download_test_data(http://pr.willowgarage.com/data/rosbag/test_indexed_1.2.bag 58 | test/test_indexed_1.2.bag 523cc0deb66269c84be4a7c605ff5eb3) 59 | download_test_data(http://pr.willowgarage.com/data/rosbag/chatter_50hz.bag 60 | test/chatter_50hz.bag 00844db3729b1b5f34e767dc691bd531) 61 | download_test_data(http://pr.willowgarage.com/data/rosbag/test_future_version_2.1.bag 62 | test/test_future_version_2.1.bag ddcb5e8711b16514eb640330ed93c332) 63 | 64 | catkin_add_nosetests(test/test_bag.py) 65 | 66 | configure_file(test/test_bag.cpp.in 67 | ${PROJECT_BINARY_DIR}/test/test_bag.cpp) 68 | catkin_add_gtest(test_bag ${PROJECT_BINARY_DIR}/test/test_bag.cpp) 69 | if(TARGET test_bag) 70 | target_link_libraries(test_bag rosbag) 71 | endif() 72 | 73 | configure_file(test/play_play.test.in 74 | ${PROJECT_BINARY_DIR}/test/play_play.test) 75 | add_rostest(${PROJECT_BINARY_DIR}/test/play_play.test) 76 | configure_file(test/rosbag_play.test.in 77 | ${PROJECT_BINARY_DIR}/test/rosbag_play.test) 78 | add_rostest(${PROJECT_BINARY_DIR}/test/rosbag_play.test) 79 | 80 | add_rostest(test/latched_pub.test) 81 | add_rostest(test/latched_sub.test) 82 | add_rostest(test/record_two_publishers.test) 83 | add_rostest(test/record_one_publisher_two_topics.test) 84 | 85 | include_directories(${GTEST_INCLUDE_DIRS}) 86 | add_executable(double_pub EXCLUDE_FROM_ALL test/double_pub.cpp) 87 | target_link_libraries(double_pub ${GTEST_LIBRARIES} ${catkin_LIBRARIES}) 88 | if(TARGET tests) 89 | add_dependencies(tests double_pub rosgraph_msgs_genpy) 90 | endif() 91 | 92 | add_subdirectory(bag_migration_tests) 93 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_Vdod.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rosparam) 3 | find_package(catkin REQUIRED COMPONENTS rostest) 4 | catkin_package() 5 | 6 | catkin_python_setup() 7 | 8 | add_rostest(test/rosparam.test) 9 | 10 | catkin_add_nosetests(test) 11 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_VqDH.txt: -------------------------------------------------------------------------------- 1 | # 2 | # Test CMake version 3 | # 4 | CMAKE_MINIMUM_REQUIRED(VERSION 2.6) 5 | #MARK_AS_ADVANCED( FORCE CMAKE_BACKWARDS_COMPATIBILITY ) 6 | 7 | 8 | ################################################### 9 | # # 10 | # Start project customization section # 11 | # # 12 | ################################################### 13 | 14 | PROJECT(Orocos-KDL) 15 | 16 | SET( KDL_VERSION 1.1.99 CACHE STRING "Version of Orocos KDL" ) 17 | STRING( REGEX MATCHALL "[0-9]+" KDL_VERSIONS ${KDL_VERSION} ) 18 | LIST( GET KDL_VERSIONS 0 KDL_VERSION_MAJOR) 19 | LIST( GET KDL_VERSIONS 1 KDL_VERSION_MINOR) 20 | LIST( GET KDL_VERSIONS 2 KDL_VERSION_PATCH) 21 | 22 | SET(KDL_VERSION_PATCH "${KDL_VERSION_PATCH}") 23 | MESSAGE( "Orocos KDL version ${VERSION} (${KDL_VERSION_MAJOR}.${KDL_VERSION_MINOR}.${KDL_VERSION_PATCH})" ) 24 | 25 | SET( PROJ_SOURCE_DIR ${Orocos-KDL_SOURCE_DIR} ) 26 | SET( PROJ_BINARY_DIR ${Orocos-KDL_BINARY_DIR} ) 27 | 28 | 29 | IF(NOT CMAKE_INSTALL_PREFIX) 30 | SET( CMAKE_INSTALL_PREFIX /usr/local/ CACHE PATH "Installation directory" FORCE) 31 | MESSAGE( STATUS "Setting installation directory to ${CMAKE_INSTALL_PREFIX}" ) 32 | ENDIF(NOT CMAKE_INSTALL_PREFIX) 33 | 34 | SET(CMAKE_VERSION "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}") 35 | 36 | 37 | IF ( NOT CMAKE_BUILD_TYPE ) 38 | SET(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE) 39 | MESSAGE( "Setting build type to '${CMAKE_BUILD_TYPE}'" ) 40 | ELSE ( NOT CMAKE_BUILD_TYPE ) 41 | MESSAGE( "Build type set to '${CMAKE_BUILD_TYPE}' by user." ) 42 | ENDIF ( NOT CMAKE_BUILD_TYPE ) 43 | 44 | SET( KDL_CFLAGS "" CACHE INTERNAL "") 45 | 46 | find_package(Eigen 3.0 QUIET) 47 | if(NOT Eigen_DIR) 48 | include(${PROJ_SOURCE_DIR}/config/FindEigen3.cmake) 49 | include_DIRECTORIES(${EIGEN3_INCLUDE_DIR}) 50 | endif() 51 | INCLUDE_DIRECTORIES(${EIGEN_INCLUDE_DIRS}) 52 | 53 | INCLUDE (${PROJ_SOURCE_DIR}/config/DependentOption.cmake) 54 | 55 | OPTION(ENABLE_TESTS OFF "Enable building of tests") 56 | IF( ENABLE_TESTS ) 57 | # If not in standard paths, set CMAKE_xxx_PATH's in environment, eg. 58 | # export CMAKE_INCLUDE_PATH=/opt/local/include 59 | # export CMAKE_LIBRARY_PATH=/opt/local/lib 60 | FIND_LIBRARY(CPPUNIT cppunit) 61 | SET(CPPUNIT ${CPPUNIT} "dl") 62 | FIND_PATH(CPPUNIT_HEADERS cppunit/TestRunner.h) 63 | IF ( CPPUNIT AND CPPUNIT_HEADERS) 64 | MESSAGE("-- Looking for Cppunit - found") 65 | ELSE ( CPPUNIT AND CPPUNIT_HEADERS ) 66 | MESSAGE( FATAL_ERROR "-- Looking for Cppunit - not found") 67 | ENDIF ( CPPUNIT AND CPPUNIT_HEADERS ) 68 | ENDIF(ENABLE_TESTS ) 69 | 70 | OPTION(ENABLE_EXAMPLES OFF "Enable building of examples") 71 | 72 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 73 | 74 | 75 | add_definitions(-DEIGEN2_SUPPORT) 76 | 77 | ADD_SUBDIRECTORY( doc ) 78 | ADD_SUBDIRECTORY( src ) 79 | ADD_SUBDIRECTORY( tests ) 80 | ADD_SUBDIRECTORY( examples ) 81 | ADD_SUBDIRECTORY( models ) 82 | 83 | CONFIGURE_FILE( 84 | "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" 85 | "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" 86 | IMMEDIATE @ONLY) 87 | 88 | CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/KDLConfig.cmake.in 89 | ${CMAKE_CURRENT_BINARY_DIR}/orocos-kdl-config.cmake @ONLY) 90 | INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/orocos-kdl-config.cmake DESTINATION share/orocos-kdl) 91 | 92 | ADD_CUSTOM_TARGET(uninstall 93 | "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake") 94 | 95 | ############################################################ 96 | ## # 97 | ## Setup PACKAGING # 98 | ## # 99 | ############################################################ 100 | 101 | OPTION( CPACK_PACKAGES "Set to ON to build the packages. Requires cmake >2.4" OFF ) 102 | IF (CPACK_PACKAGES) 103 | 104 | INCLUDE(InstallRequiredSystemLibraries) 105 | 106 | # ATTENTION: There is sometimes a _SOURCE_ version of an 107 | # option as well, set both if necessary ! 108 | 109 | # Create .tar.gz and .tar.tbz2 files: 110 | SET(CPACK_GENERATOR "TBZ2") 111 | SET(CPACK_SOURCE_GENERATOR "TBZ2") 112 | 113 | # The plain 'package' target works correctly. 114 | SET(CPACK_IGNORE_FILES "/CVS/;/.svn/;.swp$;.#;/#;/build/") 115 | # Since the 'package_source' target does a bold copy, define a list of 116 | # files which should be excluded. Note that 'subpattern' matching is used, 117 | # thus to exclude a directory use /mydir/ 118 | SET(CPACK_SOURCE_IGNORE_FILES "/CVS/;/.svn/;.swp$;.#;/#;/build/;~") 119 | 120 | SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Orocos KDL") 121 | SET(CPACK_PACKAGE_VENDOR "The Orocos Community") 122 | SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README") 123 | SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") 124 | SET(CPACK_PACKAGE_VERSION_MAJOR "${KDL_VERSION_MAJOR}") 125 | SET(CPACK_PACKAGE_VERSION_MINOR "${KDL_VERSION_MINOR}") 126 | SET(CPACK_PACKAGE_VERSION_PATCH "${KDL_VERSION_PATCH}") 127 | SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMAKE ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}") 128 | SET(CPACK_STRIP_FILES "bin/cmake") 129 | #SET(CPACK_PACKAGE_EXECUTABLES "OrocosExec" "Orocos Executable") 130 | INCLUDE(CPack) 131 | ENDIF (CPACK_PACKAGES) 132 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_W0z7.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | find_package(OpenCV REQUIRED) 13 | 14 | rosbuild_init() 15 | 16 | #set the default path for built executables to the "bin" directory 17 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 18 | #set the default path for built libraries to the "lib" directory 19 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 20 | 21 | # Dynamic reconfigure 22 | rosbuild_find_ros_package(dynamic_reconfigure) 23 | include(${dynamic_reconfigure_PACKAGE_PATH}/cmake/cfgbuild.cmake) 24 | gencfg() 25 | 26 | rosbuild_add_library(${PROJECT_NAME} src/compressed_depth_publisher.cpp src/compressed_depth_subscriber.cpp src/manifest.cpp) 27 | target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS}) 28 | 29 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_Xyqv.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | project(quux_msgs) 3 | catkin_project(${PROJECT_NAME}) 4 | 5 | find_package(catkin REQUIRED) 6 | 7 | find_package(genmsg REQUIRED) 8 | find_package(std_msgs REQUIRED) 9 | 10 | add_message_files( 11 | DIRECTORY msg 12 | FILES QuuxString.msg 13 | ) 14 | 15 | generate_messages(DEPENDENCIES std_msgs) 16 | 17 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_Y6Bf.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(std_srvs) 3 | find_package(catkin REQUIRED COMPONENTS genmsg) 4 | catkin_package() 5 | 6 | add_service_files(DIRECTORY srv 7 | FILES Empty.srv) 8 | 9 | generate_messages() 10 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_Z4e2.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | 3 | set(catkin_EXTRAS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cmake) 4 | 5 | project(catkin) 6 | 7 | if(NOT DEFINED CATKIN_TOPLEVEL) 8 | include(${catkin_EXTRAS_DIR}/all.cmake NO_POLICY_SCOPE) 9 | endif() 10 | 11 | catkin_package() 12 | 13 | # for backward compatibility we provide ROSConfig(-version).cmake files 14 | assert(CATKIN_BUILD_PREFIX) 15 | file(COPY cmake/ROSConfig.cmake 16 | DESTINATION ${CATKIN_BUILD_PREFIX}/share/ros/cmake 17 | ) 18 | assert(catkin_VERSION) 19 | set(PROJECT_VERSION ${catkin_VERSION}) 20 | configure_file(${catkin_EXTRAS_DIR}/templates/pkgConfig-version.cmake.in 21 | ${CATKIN_BUILD_PREFIX}/share/ros/cmake/ROSConfig-version.cmake 22 | @ONLY 23 | ) 24 | install(FILES ${CATKIN_BUILD_PREFIX}/share/ros/cmake/ROSConfig.cmake ${CATKIN_BUILD_PREFIX}/share/ros/cmake/ROSConfig-version.cmake 25 | DESTINATION share/ros/cmake 26 | ) 27 | 28 | # for convenience we provide eigen-config(-version).cmake files 29 | file(COPY cmake/Modules/eigen-config.cmake cmake/Modules/eigen-config-version.cmake 30 | DESTINATION ${CATKIN_BUILD_PREFIX}/share/eigen/cmake 31 | ) 32 | install(FILES cmake/Modules/eigen-config.cmake cmake/Modules/eigen-config-version.cmake 33 | DESTINATION share/eigen/cmake 34 | ) 35 | 36 | # install catkin scripts 37 | add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/bin) 38 | 39 | # install cmake files for catkin (except some files only used at build time of catkin) 40 | install(DIRECTORY cmake 41 | DESTINATION share/catkin 42 | USE_SOURCE_PERMISSIONS 43 | PATTERN "catkinConfig.cmake.in" EXCLUDE 44 | PATTERN "Modules" EXCLUDE 45 | PATTERN "ROSConfig.cmake" EXCLUDE) 46 | 47 | catkin_python_setup() 48 | 49 | #catkin_add_nosetests(test) 50 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_Zrbb.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | rosbuild_init() 13 | 14 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 15 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 16 | 17 | #rosbuild_genmsg() 18 | #rosbuild_gensrv() 19 | 20 | #common commands for building c++ executables and libraries 21 | #rosbuild_add_library(${PROJECT_NAME} src/example.cpp) 22 | #target_link_libraries(${PROJECT_NAME} another_library) 23 | #rosbuild_add_boost_directories() 24 | #rosbuild_link_boost(${PROJECT_NAME} thread) 25 | #rosbuild_add_executable(example examples/example.cpp) 26 | #target_link_libraries(example ${PROJECT_NAME}) 27 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_Zuv0.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | set(ROSPACK_MAKEDIST true) 4 | rosbuild_make_distribution(1.5.0-cmake) 5 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_bLWQ.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rosgraph_msgs) 3 | find_package(catkin REQUIRED COMPONENTS genmsg std_msgs) 4 | catkin_package() 5 | 6 | add_message_files(DIRECTORY msg 7 | FILES 8 | Clock.msg 9 | Log.msg) 10 | 11 | generate_messages(DEPENDENCIES std_msgs) 12 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_bN84.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(test_rospy) 3 | find_package(catkin REQUIRED COMPONENTS genmsg test_ros rosunit rostest) 4 | catkin_project(${PROJECT_NAME}) 5 | 6 | # messages are for integration testing only 7 | add_message_files(DIRECTORY msg 8 | FILES 9 | ArrayVal.msg 10 | EmbedTest.msg 11 | Floats.msg 12 | HeaderHeaderVal.msg 13 | HeaderVal.msg 14 | PythonKeyword.msg 15 | TestConstants.msg 16 | TestFixedArray.msg 17 | TransitiveImport.msg 18 | TransitiveMsg1.msg 19 | TransitiveMsg2.msg 20 | Val.msg 21 | ) 22 | add_service_files(DIRECTORY srv 23 | FILES 24 | ConstantsMultiplex.srv 25 | EmptyReqSrv.srv 26 | EmptyRespSrv.srv 27 | EmptySrv.srv 28 | ListReturn.srv 29 | MultipleAddTwoInts.srv 30 | StringString.srv 31 | TransitiveSrv.srv 32 | ) 33 | 34 | generate_messages(DEPENDENCIES std_msgs test_ros) 35 | 36 | catkin_add_nosetests(test/unit) 37 | 38 | # integration tests 39 | # - accidentally wrote two integration tests for client param API. They are different enough that it's no harm in having both 40 | add_rostest(test/rostest/client-param-server.test) 41 | add_rostest(test/rostest/client-param-api-2.test) 42 | add_rostest(test/rostest/services.test) 43 | add_rostest(test/rostest/deregister.test) 44 | add_rostest(test/rostest/pubsub-order.test) 45 | add_rostest(test/rostest/embed-msg.test) 46 | add_rostest(test/rostest/rospy.test) 47 | add_rostest(test/rostest/rospy_sim_time.test) 48 | add_rostest(test/rostest/node.test) 49 | add_rostest(test/rostest/latch.test) 50 | add_rostest(test/rostest/on_shutdown.test) 51 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_dwdQ.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | rosbuild_init() 5 | 6 | #set the default path for built executables to the "bin" directory 7 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 8 | #set the default path for built libraries to the "lib" directory 9 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 10 | 11 | #uncomment if you have defined messages 12 | rosbuild_genmsg() 13 | #uncomment if you have defined services 14 | rosbuild_gensrv() 15 | 16 | #add dynamic reconfigure api 17 | rosbuild_find_ros_package(dynamic_reconfigure) 18 | include(${dynamic_reconfigure_PACKAGE_PATH}/cmake/cfgbuild.cmake) 19 | gencfg() 20 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_eHTs.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | 3 | project(badly_specified_changelog) 4 | find_package(catkin) 5 | 6 | project(badly_specified_changelog) 7 | catkin_project(badly_specified_changelog) 8 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_eW2p.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.6) 2 | PROJECT( graph_cut_seg ) 3 | FIND_PACKAGE( OpenCV REQUIRED ) 4 | 5 | INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/graphcut ) 6 | 7 | ADD_EXECUTABLE( graph_cut_seg graph_cut_seg.cpp graphcut/GCoptimization.cpp 8 | graphcut/LinkedBlockList.cpp graphcut/graph.cpp graphcut/maxflow.cpp ) 9 | TARGET_LINK_LIBRARIES( graph_cut_seg ${OpenCV_LIBS} ) 10 | 11 | ADD_EXECUTABLE( show show.cpp ) 12 | TARGET_LINK_LIBRARIES( show ${OpenCV_LIBS} ) 13 | 14 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_eX5W.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | rosbuild_init() 13 | 14 | #set the default path for built executables to the "bin" directory 15 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 16 | #set the default path for built libraries to the "lib" directory 17 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 18 | 19 | #uncomment if you have defined messages 20 | #rosbuild_genmsg() 21 | #uncomment if you have defined services 22 | #rosbuild_gensrv() 23 | 24 | #common commands for building c++ executables and libraries 25 | #rosbuild_add_library(${PROJECT_NAME} src/example.cpp) 26 | #target_link_libraries(${PROJECT_NAME} another_library) 27 | #rosbuild_add_boost_directories() 28 | #rosbuild_link_boost(${PROJECT_NAME} thread) 29 | #rosbuild_add_executable(example examples/example.cpp) 30 | #target_link_libraries(example ${PROJECT_NAME}) 31 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_euzv.txt: -------------------------------------------------------------------------------- 1 | find_package(Boost REQUIRED COMPONENTS thread) 2 | 3 | include_directories(include ${Boost_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS}) 4 | 5 | # Can't call add_message_files() here because CMake context is lost when we leave this subdir. 6 | # add_message_files( 7 | # DIRECTORY msg 8 | # FILES 9 | # LatencyMessage.msg 10 | # ThroughputMessage.msg 11 | # ) 12 | # Can't call generate_messages() here, because currently can only have one instance of it per project. 13 | # This means this file must be included before generate_messages() in the parent. 14 | 15 | #common commands for building c++ executables and libraries 16 | add_library(${PROJECT_NAME}_perf EXCLUDE_FROM_ALL src/intra.cpp src/inter.cpp) 17 | add_dependencies(${PROJECT_NAME}_perf ${PROJECT_NAME}_gencpp) 18 | target_link_libraries(${PROJECT_NAME}_perf ${Boost_LIBRARIES} ${catkin_LIBRARIES}) 19 | 20 | # These performance tests will not be built or executed automatically. 21 | # TODO: automate them in some useful way. 22 | add_executable(${PROJECT_NAME}-intra_suite EXCLUDE_FROM_ALL src/intra_suite.cpp) 23 | target_link_libraries(${PROJECT_NAME}-intra_suite ${PROJECT_NAME}_perf roscpp) 24 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_f3Gy.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.0) 2 | project(bondpy) 3 | 4 | find_package(catkin REQUIRED) 5 | 6 | catkin_python_setup() 7 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_fP6t.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rostopic) 3 | find_package(catkin REQUIRED COMPONENTS rostest) 4 | catkin_package() 5 | 6 | catkin_python_setup() 7 | 8 | add_rostest(test/rostopic.test) 9 | 10 | install(PROGRAMS scripts/rostopic 11 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) 12 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_gBQu.txt: -------------------------------------------------------------------------------- 1 | set(programs 2 | catkin_build_isolated 3 | catkin_find 4 | catkin_init_workspace 5 | catkin_package_version 6 | catkin_prepare_release 7 | catkin_test_results 8 | catkin_topological_order 9 | catkin_ws 10 | 11 | #catkin-build-debs-of-workspace 12 | ) 13 | 14 | # generate relay-script for each program 15 | foreach(program ${programs}) 16 | set(EXECUTABLE ${catkin_SOURCE_DIR}/bin/${program}) 17 | configure_file(${catkin_EXTRAS_DIR}/templates/script.sh.in 18 | ${CATKIN_BUILD_PREFIX}/${CATKIN_GLOBAL_BIN_DESTINATION}/${program} 19 | @ONLY) 20 | endforeach() 21 | 22 | # install all programs 23 | install(PROGRAMS ${programs} 24 | DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}) 25 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_gVmA.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | rosbuild_init() 13 | 14 | #set the default path for built executables to the "bin" directory 15 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 16 | #set the default path for built libraries to the "lib" directory 17 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 18 | 19 | # Disabled failing test, #2629 20 | rosbuild_add_pyunit(test/test_rosh_impl_topic.py) 21 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_ggLn.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | project(d) 3 | catkin_project(d 4 | INCLUDE_DIRS include 5 | LIBRARIES d 6 | ) 7 | 8 | find_package(catkin REQUIRED) 9 | find_package(c) 10 | find_package(b) 11 | find_package(a) 12 | include_directories(${b_INCLUDE_DIRS}) 13 | 14 | include_directories(${c_INCLUDE_DIRS}) 15 | 16 | add_library(d SHARED lib.cpp) 17 | target_link_libraries(d ${b_LIBRARIES} ${c_LIBRARIES}) 18 | 19 | add_message_files( 20 | DIRECTORY msg 21 | FILES DMsg.msg 22 | ) 23 | 24 | 25 | # catkin_python_setup() 26 | # enable_python(d) 27 | 28 | # generate_messages(DEPENDENCIES std_msgs b c a) 29 | 30 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_h4ML.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | project(c) 3 | catkin_project(c 4 | INCLUDE_DIRS include 5 | LIBRARIES c-one c-two 6 | ) 7 | 8 | find_package(catkin REQUIRED) 9 | find_package(a) 10 | include_directories(${a_INCLUDE_DIRS}) 11 | 12 | add_library(c-one SHARED lib.cpp) 13 | add_library(c-two SHARED lib.cpp) 14 | target_link_libraries(c-one ${a_LIBRARIES}) 15 | target_link_libraries(c-two ${a_LIBRARIES}) 16 | 17 | add_message_files( 18 | DIRECTORY msg 19 | FILES CMsg.msg 20 | ) 21 | 22 | 23 | 24 | # catkin_python_setup() 25 | # enable_python(c) 26 | 27 | # generate_messages(DEPENDENCIES std_msgs a) 28 | 29 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_hG3K.txt: -------------------------------------------------------------------------------- 1 | catkin_add_gtest(${PROJECT_NAME}-test_version test_version.cpp) 2 | if(TARGET ${PROJECT_NAME}-test_version) 3 | target_link_libraries(${PROJECT_NAME}-test_version) 4 | endif() 5 | 6 | # WARNING test_spinners is not actually run. This is because this 7 | # infrastructure won't let me pass arguments from here through to 8 | # these test units. otherwise one would have to build ten executables. 9 | # also the output of test_spinners has to be visually inspected 10 | # because there is no automatic way to ensure that an error condition 11 | # provokes a particular message. 12 | if(GTEST_FOUND) 13 | include_directories(${GTEST_INCLUDE_DIRS}) 14 | add_executable(${PROJECT_NAME}-test_spinners EXCLUDE_FROM_ALL test_spinners.cpp) 15 | add_dependencies(tests ${PROJECT_NAME}-test_spinners) 16 | endif() 17 | if(TARGET ${PROJECT_NAME}-test_spinners) 18 | target_link_libraries(${PROJECT_NAME}-test_spinners roscpp ${GTEST_LIBRARIES}) 19 | endif() 20 | 21 | catkin_add_gtest(${PROJECT_NAME}-test_header test_header.cpp) 22 | if(TARGET ${PROJECT_NAME}-test_header) 23 | target_link_libraries(${PROJECT_NAME}-test_header roscpp) 24 | endif() 25 | 26 | catkin_add_gtest(${PROJECT_NAME}-test_poll_set test_poll_set.cpp) 27 | if(TARGET ${PROJECT_NAME}-test_poll_set) 28 | target_link_libraries(${PROJECT_NAME}-test_poll_set roscpp) 29 | endif() 30 | 31 | catkin_add_gtest(${PROJECT_NAME}-test_transport_tcp test_transport_tcp.cpp) 32 | if(TARGET ${PROJECT_NAME}-test_transport_tcp) 33 | target_link_libraries(${PROJECT_NAME}-test_transport_tcp roscpp) 34 | endif() 35 | 36 | catkin_add_gtest(${PROJECT_NAME}-test_subscription_queue test_subscription_queue.cpp) 37 | if(TARGET ${PROJECT_NAME}-test_subscription_queue) 38 | target_link_libraries(${PROJECT_NAME}-test_subscription_queue roscpp) 39 | endif() 40 | 41 | catkin_add_gtest(${PROJECT_NAME}-test_callback_queue test_callback_queue.cpp) 42 | if(TARGET ${PROJECT_NAME}-test_callback_queue) 43 | target_link_libraries(${PROJECT_NAME}-test_callback_queue roscpp) 44 | endif() 45 | 46 | catkin_add_gtest(${PROJECT_NAME}-test_names test_names.cpp) 47 | if(TARGET ${PROJECT_NAME}-test_names) 48 | target_link_libraries(${PROJECT_NAME}-test_names roscpp) 49 | endif() 50 | 51 | catkin_add_gtest(${PROJECT_NAME}-test_args test_args.cpp) 52 | if(TARGET ${PROJECT_NAME}-test_args) 53 | target_link_libraries(${PROJECT_NAME}-test_args roscpp) 54 | endif() 55 | 56 | if(GTEST_FOUND) 57 | add_subdirectory(src) 58 | endif() 59 | 60 | add_rostest(launch/real_time_test.xml) 61 | add_rostest(launch/sim_time_test.xml) 62 | 63 | # Publish one message 64 | add_rostest(launch/pubsub_once.xml) 65 | 66 | # Publish a bunch of messages back to back 67 | add_rostest(launch/pubsub_n_fast.xml) 68 | add_rostest(launch/pubsub_n_fast_udp.xml) 69 | 70 | # Publish a bunch of empty messages 71 | add_rostest(launch/pubsub_empty.xml) 72 | 73 | # Publish only to the subscriber from the subscriber callback 74 | add_rostest(launch/pub_onsub.xml) 75 | 76 | # Publish a bunch of large messages back to back 77 | add_rostest(launch/pubsub_n_fast_large_message.xml) 78 | 79 | # Subscribe, listen, unsubscribe, re-subscribe to a different topic, listen 80 | # again 81 | add_rostest(launch/pubsub_resub_once.xml) 82 | 83 | # Subscribe and unsubscribe repeatedly, ensuring that callbacks don't get 84 | # called when not subscribed. 85 | add_rostest(launch/pubsub_unsub.xml) 86 | 87 | # Advertise, then unadvertise, and ensure that subscriber callback doesn't 88 | # get invoked afterward, while a subscriber is constantly subscribing and 89 | # unsubscribing 90 | add_rostest(launch/pubsub_unadv.xml) 91 | 92 | # Call a service 93 | add_rostest(launch/service_call.xml) 94 | 95 | # This test should be re-enabled after #2742 is fixed. 96 | #add_rostest(launch/service_deadlock.xml) 97 | 98 | add_rostest(launch/service_exception.xml) 99 | 100 | add_rostest(launch/service_call_unadv.xml) 101 | 102 | # Repeatedly call ros::init() and ros::fini() 103 | add_rostest(launch/multiple_init_fini.xml) 104 | 105 | # Test node inspection functionality 106 | add_rostest(launch/inspection.xml) 107 | 108 | # Test that advertising a service multiple times fails 109 | add_rostest(launch/service_adv_multiple.xml) 110 | 111 | # Test that the second node to advertise a service "wins" 112 | add_rostest(launch/service_multiple_providers.xml) 113 | 114 | # Test namespaces 115 | add_rostest(launch/namespaces.xml) 116 | 117 | # Test command-line name remapping 118 | add_rostest(launch/name_remapping.xml) 119 | 120 | add_rostest(launch/name_not_remappable.xml) 121 | 122 | # Test command-line name remapping 123 | add_rostest(launch/name_remapping_ROS_NAMESPACE.xml) 124 | 125 | # Test params 126 | add_rostest(launch/params.xml) 127 | 128 | # Test getting information from the master 129 | add_rostest(launch/get_master_information.xml) 130 | 131 | # Test multiple subscriptions 132 | add_rostest(launch/multiple_subscriptions.xml) 133 | 134 | add_rostest(launch/pingpong.xml) 135 | add_rostest(launch/pingpong_large.xml) 136 | 137 | add_rostest(launch/subscribe_self.xml) 138 | 139 | add_rostest(launch/check_master.xml) 140 | 141 | add_rostest(launch/handles.xml) 142 | add_rostest(launch/timer_callbacks.xml) 143 | add_rostest(launch/latching_publisher.xml) 144 | add_rostest(launch/loads_of_publishers.xml) 145 | add_rostest(launch/incrementing_sequence.xml) 146 | add_rostest(launch/subscription_callback_types.xml) 147 | add_rostest(launch/service_callback_types.xml) 148 | add_rostest(launch/intraprocess_subscriptions.xml) 149 | add_rostest(launch/nonconst_subscriptions.xml) 150 | add_rostest(launch/subscribe_retry_tcp.xml) 151 | add_rostest(launch/subscribe_star.xml) 152 | add_rostest(launch/parameter_validation.xml) 153 | 154 | add_rostest(launch/no_remappings.xml) 155 | add_rostest(launch/local_remappings.xml) 156 | add_rostest(launch/global_remappings.xml) 157 | add_rostest(launch/ns_node_remapping.xml) 158 | add_rostest(launch/search_param.xml) 159 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_iXHh.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | project(a) 3 | catkin_project(a 4 | INCLUDE_DIRS include 5 | LIBRARIES a 6 | # PYTHONPATH src 7 | ) 8 | 9 | find_package(catkin REQUIRED) 10 | 11 | add_library(a SHARED lib.cpp) 12 | 13 | add_message_files( 14 | DIRECTORY msg 15 | FILES AMsg.msg 16 | ) 17 | 18 | 19 | # catkin_python_setup() 20 | # enable_python(a) 21 | 22 | generate_messages(DEPENDENCIES std_msgs) 23 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_jcTv.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | 3 | project(test_rosservice) 4 | find_package(catkin REQUIRED COMPONENTS genmsg rosunit rostest) 5 | catkin_project(${PROJECT_NAME}) 6 | 7 | add_service_files(DIRECTORY srv 8 | FILES 9 | HeaderEcho.srv 10 | ) 11 | generate_messages(DEPENDENCIES std_msgs) 12 | 13 | catkin_add_nosetests(test) 14 | 15 | add_rostest(test/rosservice.test) 16 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_kAmI.txt: -------------------------------------------------------------------------------- 1 | set(programs 2 | catkin_find 3 | catkin_init_workspace 4 | catkin_package_version 5 | catkin_prepare_release 6 | catkin_test_results 7 | catkin_topological_order 8 | catkin_ws 9 | 10 | #catkin-build-debs-of-workspace 11 | ) 12 | 13 | # generate relay-script for each program 14 | foreach(program ${programs}) 15 | set(EXECUTABLE ${catkin_SOURCE_DIR}/bin/${program}) 16 | configure_file(${catkin_EXTRAS_DIR}/templates/script.sh.in 17 | ${CATKIN_BUILD_PREFIX}/${CATKIN_GLOBAL_BIN_DESTINATION}/${program} 18 | @ONLY) 19 | endforeach() 20 | 21 | # install all programs 22 | install(PROGRAMS ${programs} 23 | DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}) 24 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_kLzK.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | rosbuild_init() 4 | rosbuild_make_distribution(1.6.0) 5 | 6 | rosbuild_add_boost_directories() 7 | 8 | #Plugins 9 | rosbuild_add_library(mean src/mean.cpp) 10 | rosbuild_add_library(params src/test_params.cpp) 11 | rosbuild_add_library(increment src/increment.cpp) 12 | rosbuild_add_library(median src/median.cpp) 13 | rosbuild_add_library(transfer_function src/transfer_function.cpp) 14 | 15 | # Test median filter 16 | rosbuild_add_executable(median_test EXCLUDE_FROM_ALL test/test_median.cpp ) 17 | target_link_libraries(median_test median) 18 | rosbuild_add_gtest_build_flags(median_test) 19 | rosbuild_add_rostest(test/test_median.launch) 20 | 21 | #test transfer function filter 22 | rosbuild_add_executable(transfer_function_test EXCLUDE_FROM_ALL test/test_transfer_function.cpp) 23 | target_link_libraries(transfer_function_test transfer_function) 24 | rosbuild_add_gtest_build_flags(transfer_function_test) 25 | rosbuild_add_rostest(test/test_transfer_function.launch) 26 | 27 | #test mean filter 28 | rosbuild_add_executable(mean_test EXCLUDE_FROM_ALL test/test_mean.cpp) 29 | target_link_libraries(mean_test mean) 30 | rosbuild_add_gtest_build_flags(mean_test) 31 | rosbuild_add_rostest(test/test_mean.launch) 32 | 33 | #test params filter 34 | rosbuild_add_executable(params_test EXCLUDE_FROM_ALL test/test_params.cpp) 35 | target_link_libraries(params_test params) 36 | rosbuild_add_gtest_build_flags(params_test) 37 | rosbuild_add_rostest(test/test_params.launch) 38 | 39 | #Test plugin loading into filter chain 40 | rosbuild_add_executable(chain_test EXCLUDE_FROM_ALL test/test_chain.cpp) 41 | rosbuild_add_gtest_build_flags(chain_test) 42 | rosbuild_add_rostest(test/test_chain.launch) 43 | rosbuild_link_boost(chain_test system) # Needed for OSX 44 | 45 | # Test reltime safe buffer class 46 | rosbuild_add_gtest(realtime_buffer_test EXCLUDE_FROM_ALL test/test_realtime_circular_buffer.cpp) 47 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_kmzU.txt: -------------------------------------------------------------------------------- 1 | include_directories(${GTEST_INCLUDE_DIRS}) 2 | 3 | link_directories(${GTEST_LIBRARY_DIRS}) 4 | 5 | add_executable(${PROJECT_NAME}-handles EXCLUDE_FROM_ALL handles.cpp) 6 | target_link_libraries(${PROJECT_NAME}-handles ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 7 | 8 | add_executable(${PROJECT_NAME}-timer_callbacks EXCLUDE_FROM_ALL timer_callbacks.cpp) 9 | target_link_libraries(${PROJECT_NAME}-timer_callbacks ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 10 | 11 | add_executable(${PROJECT_NAME}-latching_publisher EXCLUDE_FROM_ALL latching_publisher.cpp) 12 | target_link_libraries(${PROJECT_NAME}-latching_publisher ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 13 | 14 | add_executable(${PROJECT_NAME}-publish_n_fast EXCLUDE_FROM_ALL publish_n_fast.cpp) 15 | target_link_libraries(${PROJECT_NAME}-publish_n_fast ${catkin_LIBRARIES} roscpp) 16 | 17 | add_executable(${PROJECT_NAME}-subscribe_self EXCLUDE_FROM_ALL subscribe_self.cpp) 18 | target_link_libraries(${PROJECT_NAME}-subscribe_self ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 19 | 20 | add_executable(${PROJECT_NAME}-pub_sub EXCLUDE_FROM_ALL pub_sub.cpp) 21 | target_link_libraries(${PROJECT_NAME}-pub_sub ${catkin_LIBRARIES} roscpp) 22 | 23 | add_executable(${PROJECT_NAME}-sub_pub EXCLUDE_FROM_ALL sub_pub.cpp) 24 | target_link_libraries(${PROJECT_NAME}-sub_pub ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 25 | 26 | add_executable(${PROJECT_NAME}-publish_empty EXCLUDE_FROM_ALL publish_empty.cpp) 27 | target_link_libraries(${PROJECT_NAME}-publish_empty ${catkin_LIBRARIES} roscpp) 28 | 29 | add_executable(${PROJECT_NAME}-publish_onsub EXCLUDE_FROM_ALL publish_onsub.cpp) 30 | target_link_libraries(${PROJECT_NAME}-publish_onsub ${catkin_LIBRARIES} roscpp) 31 | 32 | add_executable(${PROJECT_NAME}-subscribe_n_fast EXCLUDE_FROM_ALL subscribe_n_fast.cpp) 33 | target_link_libraries(${PROJECT_NAME}-subscribe_n_fast ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 34 | 35 | add_executable(${PROJECT_NAME}-subscribe_empty EXCLUDE_FROM_ALL subscribe_empty.cpp) 36 | target_link_libraries(${PROJECT_NAME}-subscribe_empty ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 37 | 38 | add_executable(${PROJECT_NAME}-subscribe_resubscribe EXCLUDE_FROM_ALL subscribe_resubscribe.cpp) 39 | target_link_libraries(${PROJECT_NAME}-subscribe_resubscribe ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 40 | 41 | add_executable(${PROJECT_NAME}-subscribe_unsubscribe EXCLUDE_FROM_ALL subscribe_unsubscribe.cpp) 42 | target_link_libraries(${PROJECT_NAME}-subscribe_unsubscribe ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 43 | 44 | add_executable(${PROJECT_NAME}-publish_unadvertise EXCLUDE_FROM_ALL publish_unadvertise.cpp) 45 | target_link_libraries(${PROJECT_NAME}-publish_unadvertise ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 46 | 47 | add_executable(${PROJECT_NAME}-subscribe_unsubscribe_repeatedly EXCLUDE_FROM_ALL subscribe_unsubscribe_repeatedly.cpp) 48 | target_link_libraries(${PROJECT_NAME}-subscribe_unsubscribe_repeatedly ${catkin_LIBRARIES} roscpp) 49 | 50 | add_executable(${PROJECT_NAME}-publish_constantly EXCLUDE_FROM_ALL publish_constantly.cpp) 51 | target_link_libraries(${PROJECT_NAME}-publish_constantly ${catkin_LIBRARIES} roscpp) 52 | 53 | add_executable(${PROJECT_NAME}-param_update_test EXCLUDE_FROM_ALL param_update_test.cpp) 54 | target_link_libraries(${PROJECT_NAME}-param_update_test ${catkin_LIBRARIES} roscpp) 55 | 56 | add_executable(${PROJECT_NAME}-real_time_test EXCLUDE_FROM_ALL real_time_test.cpp) 57 | target_link_libraries(${PROJECT_NAME}-real_time_test ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 58 | add_dependencies(${PROJECT_NAME}-real_time_test rosgraph_msgs_gencpp) 59 | 60 | add_executable(${PROJECT_NAME}-sim_time_test EXCLUDE_FROM_ALL sim_time_test.cpp) 61 | target_link_libraries(${PROJECT_NAME}-sim_time_test ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 62 | add_dependencies(${PROJECT_NAME}-sim_time_test rosgraph_msgs_gencpp) 63 | 64 | # Call a service 65 | add_executable(${PROJECT_NAME}-service_adv EXCLUDE_FROM_ALL service_adv.cpp) 66 | target_link_libraries(${PROJECT_NAME}-service_adv ${catkin_LIBRARIES} roscpp) 67 | 68 | add_executable(${PROJECT_NAME}-service_adv_unadv EXCLUDE_FROM_ALL service_adv_unadv.cpp) 69 | target_link_libraries(${PROJECT_NAME}-service_adv_unadv ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 70 | 71 | add_executable(${PROJECT_NAME}-service_call EXCLUDE_FROM_ALL service_call.cpp) 72 | target_link_libraries(${PROJECT_NAME}-service_call ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 73 | 74 | add_executable(${PROJECT_NAME}-service_deadlock EXCLUDE_FROM_ALL service_deadlock.cpp) 75 | target_link_libraries(${PROJECT_NAME}-service_deadlock ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 76 | add_dependencies(${PROJECT_NAME}-service_deadlock std_srvs_gencpp) 77 | 78 | add_executable(${PROJECT_NAME}-service_call_repeatedly EXCLUDE_FROM_ALL service_call_repeatedly.cpp) 79 | target_link_libraries(${PROJECT_NAME}-service_call_repeatedly ${catkin_LIBRARIES} roscpp) 80 | 81 | add_executable(${PROJECT_NAME}-service_exception EXCLUDE_FROM_ALL service_exception.cpp) 82 | target_link_libraries(${PROJECT_NAME}-service_exception ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 83 | add_dependencies(${PROJECT_NAME}-service_exception std_srvs_gencpp) 84 | 85 | 86 | # Repeatedly call ros::init() 87 | add_executable(${PROJECT_NAME}-multiple_init_fini EXCLUDE_FROM_ALL multiple_init_fini.cpp) 88 | target_link_libraries(${PROJECT_NAME}-multiple_init_fini ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 89 | 90 | # Test node inspection functionality 91 | add_executable(${PROJECT_NAME}-inspection EXCLUDE_FROM_ALL inspection.cpp) 92 | target_link_libraries(${PROJECT_NAME}-inspection ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 93 | 94 | # Test that advertising a service multiple times fails 95 | add_executable(${PROJECT_NAME}-service_adv_multiple EXCLUDE_FROM_ALL service_adv_multiple.cpp) 96 | target_link_libraries(${PROJECT_NAME}-service_adv_multiple ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 97 | 98 | # Test that the second node to advertise a service "wins" 99 | add_executable(${PROJECT_NAME}-service_adv_a EXCLUDE_FROM_ALL service_adv_a.cpp) 100 | target_link_libraries(${PROJECT_NAME}-service_adv_a ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 101 | 102 | add_executable(${PROJECT_NAME}-service_wait_a_adv_b EXCLUDE_FROM_ALL service_wait_a_adv_b.cpp) 103 | target_link_libraries(${PROJECT_NAME}-service_wait_a_adv_b ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 104 | 105 | add_executable(${PROJECT_NAME}-service_call_expect_b EXCLUDE_FROM_ALL service_call_expect_b.cpp) 106 | target_link_libraries(${PROJECT_NAME}-service_call_expect_b ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 107 | 108 | # Test command-line name remapping 109 | add_executable(${PROJECT_NAME}-name_remapping EXCLUDE_FROM_ALL name_remapping.cpp) 110 | target_link_libraries(${PROJECT_NAME}-name_remapping ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 111 | add_executable(${PROJECT_NAME}-name_remapping_with_ns EXCLUDE_FROM_ALL name_remapping_with_ns.cpp) 112 | target_link_libraries(${PROJECT_NAME}-name_remapping_with_ns ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 113 | 114 | # Test namespaces 115 | add_executable(${PROJECT_NAME}-namespaces EXCLUDE_FROM_ALL namespaces.cpp) 116 | target_link_libraries(${PROJECT_NAME}-namespaces ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 117 | 118 | # Test params 119 | add_executable(${PROJECT_NAME}-params EXCLUDE_FROM_ALL params.cpp) 120 | target_link_libraries(${PROJECT_NAME}-params ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 121 | 122 | # Test getting information from the master 123 | add_executable(${PROJECT_NAME}-get_master_information EXCLUDE_FROM_ALL get_master_information.cpp) 124 | target_link_libraries(${PROJECT_NAME}-get_master_information ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 125 | 126 | # Test multiple subscriptions 127 | add_executable(${PROJECT_NAME}-multiple_subscriptions EXCLUDE_FROM_ALL multiple_subscriptions.cpp) 128 | target_link_libraries(${PROJECT_NAME}-multiple_subscriptions ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 129 | 130 | add_executable(${PROJECT_NAME}-check_master EXCLUDE_FROM_ALL check_master.cpp) 131 | target_link_libraries(${PROJECT_NAME}-check_master ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 132 | 133 | add_executable(${PROJECT_NAME}-wait_for_message EXCLUDE_FROM_ALL wait_for_message.cpp) 134 | target_link_libraries(${PROJECT_NAME}-wait_for_message ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 135 | 136 | add_executable(${PROJECT_NAME}-loads_of_publishers EXCLUDE_FROM_ALL loads_of_publishers.cpp) 137 | target_link_libraries(${PROJECT_NAME}-loads_of_publishers ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 138 | 139 | add_executable(${PROJECT_NAME}-incrementing_sequence EXCLUDE_FROM_ALL incrementing_sequence.cpp) 140 | target_link_libraries(${PROJECT_NAME}-incrementing_sequence ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 141 | 142 | add_executable(${PROJECT_NAME}-subscription_callback_types EXCLUDE_FROM_ALL subscription_callback_types.cpp) 143 | target_link_libraries(${PROJECT_NAME}-subscription_callback_types ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 144 | add_dependencies(${PROJECT_NAME}-subscription_callback_types std_msgs_gencpp) 145 | 146 | add_executable(${PROJECT_NAME}-service_callback_types EXCLUDE_FROM_ALL service_callback_types.cpp) 147 | target_link_libraries(${PROJECT_NAME}-service_callback_types ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 148 | 149 | add_executable(${PROJECT_NAME}-intraprocess_subscriptions EXCLUDE_FROM_ALL intraprocess_subscriptions.cpp) 150 | target_link_libraries(${PROJECT_NAME}-intraprocess_subscriptions ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 151 | 152 | add_executable(${PROJECT_NAME}-nonconst_subscriptions EXCLUDE_FROM_ALL nonconst_subscriptions.cpp) 153 | target_link_libraries(${PROJECT_NAME}-nonconst_subscriptions ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 154 | 155 | add_executable(${PROJECT_NAME}-subscribe_retry_tcp EXCLUDE_FROM_ALL subscribe_retry_tcp.cpp) 156 | target_link_libraries(${PROJECT_NAME}-subscribe_retry_tcp ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 157 | 158 | add_executable(${PROJECT_NAME}-subscribe_star EXCLUDE_FROM_ALL subscribe_star.cpp) 159 | target_link_libraries(${PROJECT_NAME}-subscribe_star ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 160 | add_dependencies(${PROJECT_NAME}-subscribe_star std_srvs_gencpp) 161 | 162 | add_executable(${PROJECT_NAME}-publisher_for_star_subscriber EXCLUDE_FROM_ALL publisher_for_star_subscriber.cpp) 163 | target_link_libraries(${PROJECT_NAME}-publisher_for_star_subscriber ${catkin_LIBRARIES} roscpp) 164 | add_dependencies(${PROJECT_NAME}-publisher_for_star_subscriber std_srvs_gencpp) 165 | 166 | add_executable(${PROJECT_NAME}-parameter_validation EXCLUDE_FROM_ALL parameter_validation.cpp) 167 | target_link_libraries(${PROJECT_NAME}-parameter_validation ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 168 | 169 | add_executable(${PROJECT_NAME}-param_locale_avoidance_test EXCLUDE_FROM_ALL param_locale_avoidance_test.cpp) 170 | target_link_libraries(${PROJECT_NAME}-param_locale_avoidance_test ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 171 | 172 | add_executable(${PROJECT_NAME}-crashes_under_gprof EXCLUDE_FROM_ALL crashes_under_gprof.cpp) 173 | target_link_libraries(${PROJECT_NAME}-crashes_under_gprof ${catkin_LIBRARIES} roscpp) 174 | 175 | add_executable(${PROJECT_NAME}-test_remapping EXCLUDE_FROM_ALL test_remapping.cpp) 176 | target_link_libraries(${PROJECT_NAME}-test_remapping ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 177 | 178 | add_executable(${PROJECT_NAME}-name_not_remappable EXCLUDE_FROM_ALL name_not_remappable.cpp) 179 | target_link_libraries(${PROJECT_NAME}-name_not_remappable ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 180 | 181 | add_executable(${PROJECT_NAME}-test_ns_node_remapping EXCLUDE_FROM_ALL test_ns_node_remapping.cpp) 182 | target_link_libraries(${PROJECT_NAME}-test_ns_node_remapping ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 183 | 184 | add_executable(${PROJECT_NAME}-test_search_param EXCLUDE_FROM_ALL test_search_param.cpp) 185 | target_link_libraries(${PROJECT_NAME}-test_search_param ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 186 | 187 | add_executable(${PROJECT_NAME}-left_right EXCLUDE_FROM_ALL left_right.cpp) 188 | target_link_libraries(${PROJECT_NAME}-left_right ${catkin_LIBRARIES} roscpp) 189 | add_dependencies(${PROJECT_NAME}-left_right std_msgs_gencpp) 190 | 191 | add_executable(${PROJECT_NAME}-string_msg_expect EXCLUDE_FROM_ALL string_msg_expect.cpp) 192 | target_link_libraries(${PROJECT_NAME}-string_msg_expect ${GTEST_LIBRARIES} ${catkin_LIBRARIES} roscpp) 193 | add_dependencies(${PROJECT_NAME}-string_msg_expect std_msgs_gencpp) 194 | 195 | if(TARGET tests) 196 | add_dependencies(tests 197 | ${PROJECT_NAME}-handles 198 | ${PROJECT_NAME}-timer_callbacks 199 | ${PROJECT_NAME}-latching_publisher 200 | ${PROJECT_NAME}-publish_n_fast 201 | ${PROJECT_NAME}-subscribe_self 202 | ${PROJECT_NAME}-pub_sub 203 | ${PROJECT_NAME}-sub_pub 204 | ${PROJECT_NAME}-publish_empty 205 | ${PROJECT_NAME}-publish_onsub 206 | ${PROJECT_NAME}-subscribe_n_fast 207 | ${PROJECT_NAME}-subscribe_empty 208 | ${PROJECT_NAME}-subscribe_resubscribe 209 | ${PROJECT_NAME}-subscribe_unsubscribe 210 | ${PROJECT_NAME}-publish_unadvertise 211 | ${PROJECT_NAME}-subscribe_unsubscribe_repeatedly 212 | ${PROJECT_NAME}-publish_constantly 213 | ${PROJECT_NAME}-param_update_test 214 | ${PROJECT_NAME}-real_time_test 215 | ${PROJECT_NAME}-sim_time_test 216 | ${PROJECT_NAME}-service_adv 217 | ${PROJECT_NAME}-service_adv_unadv 218 | ${PROJECT_NAME}-service_call 219 | ${PROJECT_NAME}-service_deadlock 220 | ${PROJECT_NAME}-service_exception 221 | ${PROJECT_NAME}-service_call_repeatedly 222 | ${PROJECT_NAME}-multiple_init_fini 223 | ${PROJECT_NAME}-inspection 224 | ${PROJECT_NAME}-service_adv_multiple 225 | ${PROJECT_NAME}-service_adv_a 226 | ${PROJECT_NAME}-service_wait_a_adv_b 227 | ${PROJECT_NAME}-service_call_expect_b 228 | ${PROJECT_NAME}-name_remapping 229 | ${PROJECT_NAME}-name_remapping_with_ns 230 | ${PROJECT_NAME}-namespaces 231 | ${PROJECT_NAME}-params 232 | ${PROJECT_NAME}-get_master_information 233 | ${PROJECT_NAME}-multiple_subscriptions 234 | ${PROJECT_NAME}-check_master 235 | ${PROJECT_NAME}-wait_for_message 236 | ${PROJECT_NAME}-loads_of_publishers 237 | ${PROJECT_NAME}-incrementing_sequence 238 | ${PROJECT_NAME}-subscription_callback_types 239 | ${PROJECT_NAME}-service_callback_types 240 | ${PROJECT_NAME}-intraprocess_subscriptions 241 | ${PROJECT_NAME}-nonconst_subscriptions 242 | ${PROJECT_NAME}-subscribe_retry_tcp 243 | ${PROJECT_NAME}-subscribe_star 244 | ${PROJECT_NAME}-publisher_for_star_subscriber 245 | ${PROJECT_NAME}-parameter_validation 246 | ${PROJECT_NAME}-param_locale_avoidance_test 247 | ${PROJECT_NAME}-crashes_under_gprof 248 | ${PROJECT_NAME}-test_remapping 249 | ${PROJECT_NAME}-name_not_remappable 250 | ${PROJECT_NAME}-test_ns_node_remapping 251 | ${PROJECT_NAME}-test_search_param 252 | ${PROJECT_NAME}-left_right 253 | ${PROJECT_NAME}-string_msg_expect 254 | ) 255 | endif() 256 | 257 | add_dependencies(${PROJECT_NAME}-handles ${PROJECT_NAME}_gencpp) 258 | add_dependencies(${PROJECT_NAME}-timer_callbacks ${PROJECT_NAME}_gencpp) 259 | add_dependencies(${PROJECT_NAME}-latching_publisher ${PROJECT_NAME}_gencpp) 260 | add_dependencies(${PROJECT_NAME}-publish_n_fast ${PROJECT_NAME}_gencpp) 261 | add_dependencies(${PROJECT_NAME}-subscribe_self ${PROJECT_NAME}_gencpp) 262 | add_dependencies(${PROJECT_NAME}-pub_sub ${PROJECT_NAME}_gencpp) 263 | add_dependencies(${PROJECT_NAME}-sub_pub ${PROJECT_NAME}_gencpp) 264 | add_dependencies(${PROJECT_NAME}-publish_empty ${PROJECT_NAME}_gencpp) 265 | add_dependencies(${PROJECT_NAME}-publish_onsub ${PROJECT_NAME}_gencpp) 266 | add_dependencies(${PROJECT_NAME}-subscribe_n_fast ${PROJECT_NAME}_gencpp) 267 | add_dependencies(${PROJECT_NAME}-subscribe_empty ${PROJECT_NAME}_gencpp) 268 | add_dependencies(${PROJECT_NAME}-subscribe_resubscribe ${PROJECT_NAME}_gencpp) 269 | add_dependencies(${PROJECT_NAME}-subscribe_unsubscribe ${PROJECT_NAME}_gencpp) 270 | add_dependencies(${PROJECT_NAME}-publish_unadvertise ${PROJECT_NAME}_gencpp) 271 | add_dependencies(${PROJECT_NAME}-subscribe_unsubscribe_repeatedly ${PROJECT_NAME}_gencpp) 272 | add_dependencies(${PROJECT_NAME}-publish_constantly ${PROJECT_NAME}_gencpp) 273 | add_dependencies(${PROJECT_NAME}-param_update_test ${PROJECT_NAME}_gencpp) 274 | add_dependencies(${PROJECT_NAME}-real_time_test ${PROJECT_NAME}_gencpp) 275 | add_dependencies(${PROJECT_NAME}-sim_time_test ${PROJECT_NAME}_gencpp) 276 | add_dependencies(${PROJECT_NAME}-service_adv ${PROJECT_NAME}_gencpp) 277 | add_dependencies(${PROJECT_NAME}-service_adv_unadv ${PROJECT_NAME}_gencpp) 278 | add_dependencies(${PROJECT_NAME}-service_call ${PROJECT_NAME}_gencpp) 279 | add_dependencies(${PROJECT_NAME}-service_deadlock ${PROJECT_NAME}_gencpp) 280 | add_dependencies(${PROJECT_NAME}-service_exception ${PROJECT_NAME}_gencpp) 281 | add_dependencies(${PROJECT_NAME}-service_call_repeatedly ${PROJECT_NAME}_gencpp) 282 | add_dependencies(${PROJECT_NAME}-multiple_init_fini ${PROJECT_NAME}_gencpp) 283 | add_dependencies(${PROJECT_NAME}-inspection ${PROJECT_NAME}_gencpp) 284 | add_dependencies(${PROJECT_NAME}-service_adv_multiple ${PROJECT_NAME}_gencpp) 285 | add_dependencies(${PROJECT_NAME}-service_adv_a ${PROJECT_NAME}_gencpp) 286 | add_dependencies(${PROJECT_NAME}-service_wait_a_adv_b ${PROJECT_NAME}_gencpp) 287 | add_dependencies(${PROJECT_NAME}-service_call_expect_b ${PROJECT_NAME}_gencpp) 288 | add_dependencies(${PROJECT_NAME}-name_remapping ${PROJECT_NAME}_gencpp) 289 | add_dependencies(${PROJECT_NAME}-name_remapping_with_ns ${PROJECT_NAME}_gencpp) 290 | add_dependencies(${PROJECT_NAME}-namespaces ${PROJECT_NAME}_gencpp) 291 | add_dependencies(${PROJECT_NAME}-params ${PROJECT_NAME}_gencpp) 292 | add_dependencies(${PROJECT_NAME}-get_master_information ${PROJECT_NAME}_gencpp) 293 | add_dependencies(${PROJECT_NAME}-multiple_subscriptions ${PROJECT_NAME}_gencpp) 294 | add_dependencies(${PROJECT_NAME}-check_master ${PROJECT_NAME}_gencpp) 295 | add_dependencies(${PROJECT_NAME}-wait_for_message ${PROJECT_NAME}_gencpp) 296 | add_dependencies(${PROJECT_NAME}-loads_of_publishers ${PROJECT_NAME}_gencpp) 297 | add_dependencies(${PROJECT_NAME}-incrementing_sequence ${PROJECT_NAME}_gencpp) 298 | add_dependencies(${PROJECT_NAME}-subscription_callback_types ${PROJECT_NAME}_gencpp) 299 | add_dependencies(${PROJECT_NAME}-service_callback_types ${PROJECT_NAME}_gencpp) 300 | add_dependencies(${PROJECT_NAME}-intraprocess_subscriptions ${PROJECT_NAME}_gencpp) 301 | add_dependencies(${PROJECT_NAME}-nonconst_subscriptions ${PROJECT_NAME}_gencpp) 302 | add_dependencies(${PROJECT_NAME}-subscribe_retry_tcp ${PROJECT_NAME}_gencpp) 303 | add_dependencies(${PROJECT_NAME}-subscribe_star ${PROJECT_NAME}_gencpp) 304 | add_dependencies(${PROJECT_NAME}-publisher_for_star_subscriber ${PROJECT_NAME}_gencpp) 305 | add_dependencies(${PROJECT_NAME}-parameter_validation ${PROJECT_NAME}_gencpp) 306 | add_dependencies(${PROJECT_NAME}-param_locale_avoidance_test ${PROJECT_NAME}_gencpp) 307 | add_dependencies(${PROJECT_NAME}-crashes_under_gprof ${PROJECT_NAME}_gencpp) 308 | add_dependencies(${PROJECT_NAME}-test_remapping ${PROJECT_NAME}_gencpp) 309 | add_dependencies(${PROJECT_NAME}-name_not_remappable ${PROJECT_NAME}_gencpp) 310 | add_dependencies(${PROJECT_NAME}-test_ns_node_remapping ${PROJECT_NAME}_gencpp) 311 | add_dependencies(${PROJECT_NAME}-test_search_param ${PROJECT_NAME}_gencpp) 312 | add_dependencies(${PROJECT_NAME}-left_right ${PROJECT_NAME}_gencpp) 313 | add_dependencies(${PROJECT_NAME}-string_msg_expect ${PROJECT_NAME}_gencpp) 314 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_l0bV.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | rosbuild_init() 13 | 14 | #set the default path for built executables to the "bin" directory 15 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 16 | #set the default path for built libraries to the "lib" directory 17 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 18 | 19 | #uncomment if you have defined messages 20 | #rosbuild_genmsg() 21 | #uncomment if you have defined services 22 | #rosbuild_gensrv() 23 | 24 | #common commands for building c++ executables and libraries 25 | #rosbuild_add_library(${PROJECT_NAME} src/example.cpp) 26 | #target_link_libraries(${PROJECT_NAME} another_library) 27 | #rosbuild_add_boost_directories() 28 | #rosbuild_link_boost(${PROJECT_NAME} thread) 29 | #rosbuild_add_executable(example examples/example.cpp) 30 | #target_link_libraries(example ${PROJECT_NAME}) 31 | 32 | rosbuild_add_library(cloud_to_scan src/cloud_to_scan.cpp src/cloud_throttle.cpp) 33 | 34 | #add dynamic reconfigure api 35 | rosbuild_find_ros_package(dynamic_reconfigure) 36 | include(${dynamic_reconfigure_PACKAGE_PATH}/cmake/cfgbuild.cmake) 37 | gencfg() -------------------------------------------------------------------------------- /example_inputs/CMakeLists_lYVi.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rosconsole) 3 | find_package(catkin REQUIRED COMPONENTS cpp_common rostime rosunit) 4 | catkin_package( 5 | LIBRARIES rosconsole 6 | INCLUDE_DIRS include 7 | CFG_EXTRAS rosconsole-extras.cmake 8 | DEPENDS cpp_common rostime 9 | ) 10 | 11 | include(cmake/rosconsole-extras.cmake.in) 12 | 13 | # See ticket: https://code.ros.org/trac/ros/ticket/3626 14 | # On mac use g++-4.2 15 | IF(${CMAKE_SYSTEM} MATCHES "Darwin-11.*") 16 | IF(EXISTS "/usr/bin/g++-4.2") 17 | set(CMAKE_CXX_COMPILER /usr/bin/g++-4.2) 18 | ELSE(EXISTS "/usr/bin/g++-4.2") 19 | # If there is no g++-4.2 use clang++ 20 | set(CMAKE_CXX_COMPILER /usr/bin/clang++) 21 | ENDIF(EXISTS "/usr/bin/g++-4.2") 22 | ENDIF(${CMAKE_SYSTEM} MATCHES "Darwin-11.*") 23 | 24 | include_directories(${catkin_INCLUDE_DIRS}) 25 | 26 | find_package(Boost COMPONENTS regex thread) 27 | 28 | include_directories(include ${Boost_INCLUDE_DIR}) 29 | 30 | add_library(rosconsole src/rosconsole/rosconsole.cpp) 31 | 32 | find_package(Log4cxx QUIET) 33 | if(NOT LOG4CXX_LIBRARIES) 34 | # backup plan, hope it is in the system path 35 | find_library(LOG4CXX_LIBRARIES log4cxx) 36 | endif() 37 | if(NOT LOG4CXX_LIBRARIES) 38 | message(FATAL_ERROR "Couldn't find log4cxx library") 39 | endif() 40 | 41 | target_link_libraries(rosconsole ${catkin_LIBRARIES} ${LOG4CXX_LIBRARIES} ${Boost_LIBRARIES}) 42 | 43 | catkin_add_env_hooks(10.rosconsole SHELLS bat sh DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/env-hooks) 44 | 45 | install(TARGETS rosconsole 46 | ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 47 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}) 48 | 49 | install(FILES config/rosconsole.config 50 | DESTINATION ${CATKIN_GLOBAL_SHARE_DESTINATION}/ros/config) 51 | 52 | install(DIRECTORY include/ 53 | DESTINATION ${CATKIN_GLOBAL_INCLUDE_DESTINATION} 54 | FILES_MATCHING PATTERN "*.h") 55 | 56 | catkin_add_gtest(${PROJECT_NAME}-utest test/utest.cpp) 57 | if(TARGET ${PROJECT_NAME}-utest) 58 | target_link_libraries(${PROJECT_NAME}-utest ${PROJECT_NAME}) 59 | endif() 60 | 61 | if(${CMAKE_SYSTEM_NAME} STREQUAL Linux) 62 | catkin_add_gtest(${PROJECT_NAME}-assertion_test test/assertion_test.cpp) 63 | if(TARGET ${PROJECT_NAME}-assertion_test) 64 | target_link_libraries(${PROJECT_NAME}-assertion_test ${PROJECT_NAME}) 65 | endif() 66 | endif() 67 | 68 | catkin_add_gtest(${PROJECT_NAME}-thread_test test/thread_test.cpp) 69 | if(TARGET ${PROJECT_NAME}-thread_test) 70 | target_link_libraries(${PROJECT_NAME}-thread_test ${PROJECT_NAME}) 71 | endif() 72 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_mX7u.txt: -------------------------------------------------------------------------------- 1 | IF(ENABLE_TESTS) 2 | ENABLE_TESTING() 3 | 4 | INCLUDE_DIRECTORIES(${PROJ_SOURCE_DIR}/src ${CPPUNIT_HEADERS}) 5 | 6 | ADD_EXECUTABLE(framestest framestest.cpp test-runner.cpp) 7 | TARGET_LINK_LIBRARIES(framestest orocos-kdl ${CPPUNIT}) 8 | SET(TESTNAME "framestest") 9 | SET_TARGET_PROPERTIES( framestest PROPERTIES 10 | COMPILE_FLAGS "${CMAKE_CXX_FLAGS_ADD} ${KDL_CFLAGS} -DTESTNAME=\"\\\"${TESTNAME}\\\"\" ") 11 | ADD_TEST(framestest framestest) 12 | 13 | ADD_EXECUTABLE(kinfamtest kinfamtest.cpp test-runner.cpp) 14 | TARGET_LINK_LIBRARIES(kinfamtest orocos-kdl ${CPPUNIT}) 15 | SET(TESTNAME "kinfamtest") 16 | SET_TARGET_PROPERTIES( kinfamtest PROPERTIES 17 | COMPILE_FLAGS "${CMAKE_CXX_FLAGS_ADD} ${KDL_CFLAGS}") 18 | ADD_TEST(kinfamtest kinfamtest) 19 | 20 | ADD_EXECUTABLE(solvertest solvertest.cpp test-runner.cpp) 21 | TARGET_LINK_LIBRARIES(solvertest orocos-kdl ${CPPUNIT}) 22 | SET(TESTNAME "solvertest") 23 | SET_TARGET_PROPERTIES( solvertest PROPERTIES 24 | COMPILE_FLAGS "${CMAKE_CXX_FLAGS_ADD} ${KDL_CFLAGS} -DTESTNAME=\"\\\"${TESTNAME}\\\"\" ") 25 | ADD_TEST(solvertest solvertest) 26 | 27 | ADD_EXECUTABLE(inertiatest inertiatest.cpp test-runner.cpp) 28 | TARGET_LINK_LIBRARIES(inertiatest orocos-kdl ${CPPUNIT}) 29 | SET(TESTNAME "inertiatest") 30 | SET_TARGET_PROPERTIES( inertiatest PROPERTIES 31 | COMPILE_FLAGS "${CMAKE_CXX_FLAGS_ADD} ${KDL_CFLAGS} -DTESTNAME=\"\\\"${TESTNAME}\\\"\" ") 32 | ADD_TEST(inertiatest inertiatest) 33 | 34 | ADD_EXECUTABLE(jacobiantest jacobiantest.cpp test-runner.cpp) 35 | SET(TESTNAME "jacobiantest") 36 | TARGET_LINK_LIBRARIES(jacobiantest orocos-kdl ${CPPUNIT}) 37 | SET_TARGET_PROPERTIES( jacobiantest PROPERTIES 38 | COMPILE_FLAGS "${CMAKE_CXX_FLAGS_ADD} ${KDL_CFLAGS} -DTESTNAME=\"\\\"${TESTNAME}\\\"\" ") 39 | ADD_TEST(jacobiantest jacobiantest) 40 | 41 | # ADD_EXECUTABLE(rframestest rframestest.cpp) 42 | # TARGET_LINK_LIBRARIES(rframestest orocos-kdl) 43 | # ADD_TEST(rframestest rframestest) 44 | # 45 | # ADD_EXECUTABLE(rallnumbertest rallnumbertest.cpp) 46 | # TARGET_LINK_LIBRARIES(rallnumbertest orocos-kdl) 47 | # ADD_TEST(rallnumbertest rallnumbertest) 48 | # 49 | # 50 | # IF(OROCOS_PLUGIN) 51 | # ADD_EXECUTABLE(toolkittest toolkittest.cpp) 52 | # LINK_DIRECTORIES(${OROCOS_RTT_LINK_DIRS}) 53 | # TARGET_LINK_LIBRARIES(toolkittest orocos-kdltk orocos-kdl ${OROCOS_RTT_LIBS}) 54 | # ADD_TEST(toolkittest toolkittest) 55 | # ENDIF(OROCOS_PLUGIN) 56 | # 57 | # IF(PYTHON_BINDINGS) 58 | # CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/framestest.py 59 | # ${CMAKE_CURRENT_BINARY_DIR}/framestest.py COPY_ONLY) 60 | # CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/kinfamtest.py 61 | # ${CMAKE_CURRENT_BINARY_DIR}/kinfamtest.py COPY_ONLY) 62 | # CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/frameveltest.py 63 | # ${CMAKE_CURRENT_BINARY_DIR}/frameveltest.py COPY_ONLY) 64 | # CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/PyKDLtest.py 65 | # ${CMAKE_CURRENT_BINARY_DIR}/PyKDLtest.py COPY_ONLY) 66 | # ADD_TEST(PyKDLtest PyKDLtest.py) 67 | # 68 | # 69 | # ENDIF(PYTHON_BINDINGS) 70 | 71 | ADD_CUSTOM_TARGET(check ctest -V WORKING_DIRECTORY ${PROJ_BINARY_DIR}/tests) 72 | ENDIF(ENABLE_TESTS) 73 | 74 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_mlsM.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | project(/home/ijt/groovy_workspace/test_catkinize/test_data) 3 | catkin_project(/home/ijt/groovy_workspace/test_catkinize/test_data 4 | LIBRARIES /home/ijt/groovy_workspace/test_catkinize/test_data 5 | INCLUDE_DIRS include 6 | ) 7 | 8 | # Force our binaries to be public in /build/bin (not necessary) 9 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY /bin) 10 | 11 | # Rosdep & Ros dependencies 12 | find_package(Boost) 13 | find_package(ROS COMPONENTS catkin roscpp) 14 | include_directories( ) 15 | 16 | # Add a library 17 | add_library(/home/ijt/groovy_workspace/test_catkinize/test_data src//home/ijt/groovy_workspace/test_catkinize/test_data) 18 | target_link_libraries(foo ) 19 | 20 | install(TARGETS /home/ijt/groovy_workspace/test_catkinize/test_data 21 | ARCHIVE DESTINATION lib 22 | LIBRARY DESTINATION lib) 23 | install(DIRECTORY include/ 24 | DESTINATION include 25 | FILES_MATCHING PATTERN "*.h" 26 | PATTERN ".svn" EXCLUDE) 27 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_n62L.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | 3 | set(catkin_EXTRAS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cmake) 4 | 5 | project(catkin) 6 | 7 | if(NOT DEFINED CATKIN_TOPLEVEL) 8 | include(${catkin_EXTRAS_DIR}/all.cmake NO_POLICY_SCOPE) 9 | endif() 10 | 11 | catkin_package() 12 | 13 | # for backward compatibility we provide ROSConfig(-version).cmake files 14 | assert(CATKIN_BUILD_PREFIX) 15 | file(COPY cmake/ROSConfig.cmake 16 | DESTINATION ${CATKIN_BUILD_PREFIX}/share/ros/cmake 17 | ) 18 | assert(catkin_VERSION) 19 | set(PROJECT_VERSION ${catkin_VERSION}) 20 | configure_file(${catkin_EXTRAS_DIR}/templates/pkgConfig-version.cmake.in 21 | ${CATKIN_BUILD_PREFIX}/share/ros/cmake/ROSConfig-version.cmake 22 | @ONLY 23 | ) 24 | install(FILES ${CATKIN_BUILD_PREFIX}/share/ros/cmake/ROSConfig.cmake ${CATKIN_BUILD_PREFIX}/share/ros/cmake/ROSConfig-version.cmake 25 | DESTINATION share/ros/cmake 26 | ) 27 | 28 | # for convinience we provide eigen-config(-version).cmake files 29 | file(COPY cmake/Modules/eigen-config.cmake cmake/Modules/eigen-config-version.cmake 30 | DESTINATION ${CATKIN_BUILD_PREFIX}/share/eigen/cmake 31 | ) 32 | install(FILES cmake/Modules/eigen-config.cmake cmake/Modules/eigen-config-version.cmake 33 | DESTINATION share/eigen/cmake 34 | ) 35 | 36 | # install catkin scripts 37 | add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/bin) 38 | 39 | # install cmake files for catkin (except some files only used at build time of catkin) 40 | install(DIRECTORY cmake 41 | DESTINATION share/catkin 42 | USE_SOURCE_PERMISSIONS 43 | PATTERN "catkinConfig.cmake.in" EXCLUDE 44 | PATTERN "Modules" EXCLUDE 45 | PATTERN "ROSConfig.cmake" EXCLUDE) 46 | 47 | catkin_python_setup() 48 | 49 | #catkin_add_nosetests(test) 50 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_oh94.txt: -------------------------------------------------------------------------------- 1 | FILE( GLOB KDL_SRCS [^.]*.cpp ) 2 | FILE( GLOB KDL_HPPS [^.]*.hpp [^.]*.inl) 3 | 4 | FILE( GLOB UTIL_SRCS utilities/[^.]*.cpp utilities/[^.]*.cxx) 5 | FILE( GLOB UTIL_HPPS utilities/[^.]*.h utilities/[^.]*.hpp) 6 | 7 | ADD_LIBRARY(orocos-kdl SHARED ${KDL_SRCS} ${UTIL_SRCS}) 8 | SET_TARGET_PROPERTIES( orocos-kdl PROPERTIES 9 | SOVERSION "${KDL_VERSION_MAJOR}.${KDL_VERSION_MINOR}" 10 | VERSION "${KDL_VERSION}" 11 | COMPILE_FLAGS "${CMAKE_CXX_FLAGS_ADD} ${KDL_CFLAGS}" 12 | INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib") 13 | 14 | INSTALL_TARGETS( /lib orocos-kdl) 15 | 16 | # CMake 2.2: 17 | INSTALL_FILES( /include/kdl FILES ${KDL_HPPS}) 18 | INSTALL_FILES( /include/kdl/utilities FILES ${UTIL_HPPS}) 19 | 20 | # Orocos convention: 21 | CONFIGURE_FILE( kdl.pc.in ${CMAKE_CURRENT_BINARY_DIR}/orocos-kdl.pc @ONLY) 22 | INSTALL_FILES( /lib/pkgconfig FILES ${CMAKE_CURRENT_BINARY_DIR}/orocos-kdl.pc) -------------------------------------------------------------------------------- /example_inputs/CMakeLists_ojF0.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.0) 2 | project(smclib) 3 | 4 | find_package(catkin REQUIRED) 5 | catkin_package(INCLUDE_DIRS include) 6 | 7 | catkin_python_setup() 8 | 9 | # install the include folder 10 | install(DIRECTORY include/${PROJECT_NAME}/ 11 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 12 | ) 13 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_oyfv.txt: -------------------------------------------------------------------------------- 1 | # http://ros.org/doc/groovy/api/catkin/html/user_guide/supposed.html 2 | cmake_minimum_required(VERSION 2.8.3) 3 | project(rosh) 4 | find_package(catkin REQUIRED) 5 | catkin_package() 6 | 7 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_pJUi.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Append to CPACK_SOURCE_IGNORE_FILES a semicolon-separated list of 5 | # directories (or patterns, but directories should suffice) that should 6 | # be excluded from the distro. This is not the place to put things that 7 | # should be ignored everywhere, like "build" directories; that happens in 8 | # rosbuild/rosbuild.cmake. Here should be listed packages that aren't 9 | # ready for inclusion in a distro. 10 | # 11 | # This list is combined with the list in rosbuild/rosbuild.cmake. Note 12 | # that CMake 2.6 may be required to ensure that the two lists are combined 13 | # properly. CMake 2.4 seems to have unpredictable scoping rules for such 14 | # variables. 15 | #list(APPEND CPACK_SOURCE_IGNORE_FILES /core/experimental) 16 | 17 | rosbuild_make_distribution(1.0.2) 18 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_pcHP.txt: -------------------------------------------------------------------------------- 1 | # http://ros.org/doc/groovy/api/catkin/html/user_guide/supposed.html 2 | cmake_minimum_required(VERSION 2.8.3) 3 | project(filters) 4 | find_package(catkin REQUIRED COMPONENTS rostest pluginlib) 5 | 6 | catkin_package( 7 | INCLUDE_DIRS include 8 | LIBRARIES mean params increment median transfer_function 9 | DEPENDS pluginlib) 10 | 11 | include_directories(include 12 | ${Boost_INCLUDE_DIR} 13 | ${catkin_INCLUDE_DIRS}) 14 | 15 | # Plugins 16 | add_library(mean src/mean.cpp) 17 | add_library(params src/test_params.cpp) 18 | add_library(increment src/increment.cpp) 19 | add_library(median src/median.cpp) 20 | add_library(transfer_function src/transfer_function.cpp) 21 | 22 | # Test median filter 23 | catkin_add_gtest(median_test test/test_median.cpp) 24 | target_link_libraries(median_test median) 25 | add_rostest(test/test_median.launch) 26 | 27 | # test transfer function filter 28 | catkin_add_gtest(transfer_function_test test/test_transfer_function.cpp) 29 | target_link_libraries(transfer_function_test transfer_function) 30 | add_rostest(test/test_transfer_function.launch) 31 | 32 | # test mean filter 33 | catkin_add_gtest(mean_test test/test_mean.cpp) 34 | target_link_libraries(mean_test mean) 35 | add_rostest(test/test_mean.launch) 36 | 37 | # test params filter 38 | catkin_add_gtest(params_test test/test_params.cpp) 39 | target_link_libraries(params_test params) 40 | add_rostest(test/test_params.launch) 41 | 42 | # Test plugin loading into filter chain 43 | catkin_add_gtest(chain_test test/test_chain.cpp) 44 | add_rostest(test/test_chain.launch) 45 | 46 | find_package(Boost REQUIRED COMPONENTS system) 47 | include_directories(${Boost_INCLUDE_DIRS}) 48 | target_link_libraries(chain_test ${Boost_LIBRARIES}) 49 | 50 | # Test reltime safe buffer class 51 | add_gtest(realtime_buffer_test EXCLUDE_FROM_ALL test/test_realtime_circular_buffer.cpp) 52 | 53 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_sKpT.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rosmaster) 3 | 4 | # genmsg is just needed by the tests. 5 | find_package(catkin REQUIRED COMPONENTS genmsg rostest) 6 | 7 | catkin_package() 8 | 9 | catkin_python_setup() 10 | 11 | add_message_files(DIRECTORY test/msg 12 | FILES 13 | String.msg 14 | Arrays.msg 15 | CompositeA.msg CompositeB.msg Composite.msg 16 | Embed.msg Floats.msg Simple.msg 17 | RosmsgA.msg 18 | RosmsgB.msg 19 | RosmsgC.msg 20 | TestArrays.msg 21 | TestPrimitives.msg 22 | TestString.msg 23 | TVals.msg 24 | ) 25 | add_service_files(DIRECTORY test/srv 26 | FILES 27 | AddTwoInts.srv 28 | RossrvA.srv 29 | RossrvB.srv 30 | ) 31 | 32 | generate_messages() 33 | 34 | add_rostest(test/rosmaster.test) 35 | add_rostest(test/paramserver.test) 36 | 37 | catkin_add_nosetests(test/nosetests) 38 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_sWnj.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(rosout) 3 | find_package(catkin REQUIRED COMPONENTS roscpp) 4 | 5 | catkin_package() 6 | 7 | include_directories(${catkin_INCLUDE_DIRS}) 8 | 9 | find_package(Log4cxx QUIET) 10 | if(NOT LOG4CXX_LIBRARIES) 11 | # backup plan, hope it is in the system path 12 | find_library(LOG4CXX_LIBRARIES log4cxx) 13 | endif() 14 | if(NOT LOG4CXX_LIBRARIES) 15 | message(FATAL_ERROR "Couldn't find log4cxx library") 16 | endif() 17 | 18 | add_executable(rosout rosout.cpp) 19 | target_link_libraries(rosout ${catkin_LIBRARIES} ${LOG4CXX_LIBRARIES}) 20 | 21 | install(TARGETS rosout 22 | RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) 23 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_sYsN.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | 3 | project(nolangs) 4 | find_package(catkin REQUIRED) 5 | 6 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) 7 | 8 | add_executable(nolangs_exec 9 | main.cpp) 10 | 11 | install(TARGETS nolangs_exec 12 | RUNTIME DESTINATION bin) 13 | 14 | catkin_project(nolangs) 15 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_uQTX.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | project(catkin_test) 3 | find_package(catkin REQUIRED) 4 | 5 | find_package(genmsg REQUIRED) 6 | find_package(std_msgs REQUIRED) 7 | 8 | 9 | foreach(subdir 10 | quux_msgs 11 | quux_user 12 | a 13 | b 14 | c 15 | d 16 | ) 17 | add_subdirectory(${subdir}) 18 | endforeach() 19 | 20 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_vAnC.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | 3 | project(python-orocos-kdl) 4 | 5 | set (ROS_ROOT $ENV{ROS_ROOT} ) 6 | if (ROS_ROOT) 7 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 8 | rosbuild_init() 9 | else() 10 | find_package(Orocos-KDL) 11 | include_directories(${Orocos-KDL_INCLUDE_DIRS}) 12 | link_directories(${Orocos-KDL_LIBRARY_DIRS}) 13 | endif() 14 | 15 | #set the default path for built executables to the "bin" directory 16 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 17 | #set the default path for built libraries to the "lib" directory 18 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 19 | 20 | #uncomment if you have defined messages 21 | #rosbuild_genmsg() 22 | #uncomment if you have defined services 23 | #rosbuild_gensrv() 24 | 25 | find_package(PythonInterp REQUIRED) 26 | find_package(PythonLibs REQUIRED) 27 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) 28 | find_package(SIP REQUIRED) 29 | include(SIPMacros) 30 | 31 | include_directories(${SIP_INCLUDE_DIR} ${PYTHON_INCLUDE_DIRS}) 32 | 33 | file(GLOB SIP_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*.sip") 34 | set(SIP_INCLUDES ${SIP_FILES}) 35 | set(SIP_EXTRA_OPTIONS "-o") 36 | set(PYTHON_PACKAGES_DIR_NAME "") 37 | set(PYTHON_PACKAGES_DIR_NAME "dist-packages") 38 | set(PYTHON_SITE_PACKAGES_INSTALL_DIR 39 | ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/${PYTHON_PACKAGES_DIR_NAME} 40 | CACHE PATH "The directory where python modules will be installed to.") 41 | add_sip_python_module(PyKDL PyKDL/PyKDL.sip orocos-kdl) -------------------------------------------------------------------------------- /example_inputs/CMakeLists_vJb8.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.0) 2 | project(test_bond) 3 | 4 | find_package(catkin REQUIRED) 5 | catkin_package() 6 | 7 | find_package(catkin REQUIRED bondcpp genmsg rostest) 8 | 9 | include_directories(SYSTEM ${bondcpp_INCLUDE_DIRS}) 10 | 11 | # create the service 12 | add_service_files(DIRECTORY srv FILES TestBond.srv) 13 | generate_messages() 14 | 15 | # add more tests 16 | catkin_add_gtest(exercise_bond test/exercise_bond.cpp) 17 | 18 | add_rostest(test/test_cpp.launch) 19 | add_rostest(test/test_python.launch) 20 | 21 | catkin_add_gtest(test_callbacks_cpp test/test_callbacks_cpp.cpp) 22 | 23 | add_rostest(test/test_callbacks_cpp.launch) 24 | add_rostest(test/test_callbacks_py.launch) 25 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_w1H6.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(b) 3 | find_package(catkin REQUIRED) 4 | catkin_package( 5 | INCLUDE_DIRS include 6 | LIBRARIES b 7 | ) 8 | 9 | find_package(a) 10 | include_directories(${a_INCLUDE_DIRS}) 11 | 12 | add_library(b SHARED lib.cpp) 13 | target_link_libraries(b ${a_LIBRARIES}) 14 | 15 | add_message_files( 16 | DIRECTORY msg 17 | FILES BMsg.msg 18 | ) 19 | 20 | 21 | 22 | # catkin_python_setup() 23 | # enable_python(b) 24 | 25 | # generate_messages(DEPENDENCIES std_msgs) 26 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_wgHF.txt: -------------------------------------------------------------------------------- 1 | if(ROSBUILD) 2 | # this is for rosbuild2 integration, you can ignore this 3 | include(rosbuild.cmake OPTIONAL) 4 | return() 5 | endif() 6 | cmake_minimum_required(VERSION 2.4.6) 7 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 8 | rosbuild_init() 9 | 10 | 11 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_x0MQ.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.3) 2 | project(test_roslib_comm) 3 | find_package(catkin REQUIRED COMPONENTS genmsg) 4 | catkin_project(${PROJECT_NAME}) 5 | 6 | add_message_files(DIRECTORY msg 7 | FILES 8 | ArrayOfMsgs.msg 9 | FieldNameChange1.msg 10 | FieldNameChange2.msg 11 | FillEmbedTime.msg 12 | FillSimple.msg 13 | HeaderTest.msg 14 | SameSubMsg1.msg 15 | SameSubMsg2.msg 16 | SameSubMsg3.msg 17 | TypeNameChange1.msg 18 | TypeNameChange2.msg 19 | TypeNameChangeArray1.msg 20 | TypeNameChangeArray2.msg 21 | TypeNameChangeComplex1.msg 22 | TypeNameChangeComplex2.msg 23 | ) 24 | generate_messages(DEPENDENCIES std_msgs rosgraph_msgs) 25 | 26 | catkin_add_nosetests(test) 27 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_xPp3.txt: -------------------------------------------------------------------------------- 1 | 2 | CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" IMMEDIATE @ONLY) 3 | ADD_CUSTOM_TARGET(docs "doxygen" "Doxyfile") 4 | INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/kdl.tag DESTINATION share/doc/liborocos-kdl/ OPTIONAL) # only installs if found. 5 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_yUwf.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8) 2 | project(quux_user) 3 | 4 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin) 5 | 6 | find_package(quux_msgs) 7 | assert_unset(quux_msgs_INCLUDE_DIRS) 8 | 9 | include_directories(${quux_msgs_INCLUDE_DIRS}) 10 | 11 | find_package(rostime) 12 | include_directories(${rostime_INCLUDE_DIRS}) 13 | assert(rostime_INCLUDE_DIRS) 14 | assert(rostime_LIBRARIES) 15 | 16 | find_package(cpp_common) 17 | include_directories(${cpp_common_INCLUDE_DIRS}) 18 | 19 | find_package(roscpp_traits) 20 | include_directories(${roscpp_traits_INCLUDE_DIRS}) 21 | 22 | find_package(roscpp_serialization) 23 | include_directories(${roscpp_serialization_INCLUDE_DIRS}) 24 | assert(roscpp_serialization_LIBRARIES) 25 | 26 | find_package(sensor_msgs) 27 | include_directories(${sensor_msgs_INCLUDE_DIRS}) 28 | 29 | 30 | include_directories(${std_msgs_INCLUDE_DIRS} ${quux_msgs_INCLUDE_DIRS}) 31 | 32 | add_executable(quux_user-exec src/main.cpp) 33 | add_dependencies(quux_user-exec sensor_msgs_gencpp) 34 | 35 | message(STATUS ${roscpp_serialization_LIBRARIES}) 36 | 37 | target_link_libraries(quux_user-exec ${roscpp_serialization_LIBRARIES} ${rostime_LIBRARIES}) 38 | 39 | add_executable(quux_srv-exec src/srv_test.cpp) 40 | 41 | target_link_libraries(quux_srv-exec ${roscpp_serialization_LIBRARIES}) 42 | add_dependencies(quux_srv-exec sensor_msgs_gencpp) -------------------------------------------------------------------------------- /example_inputs/CMakeLists_zp3h.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.4.6) 2 | include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake) 3 | 4 | # Set the build type. Options are: 5 | # Coverage : w/ debug symbols, w/o optimization, w/ code-coverage 6 | # Debug : w/ debug symbols, w/o optimization 7 | # Release : w/o debug symbols, w/ optimization 8 | # RelWithDebInfo : w/ debug symbols, w/ optimization 9 | # MinSizeRel : w/o debug symbols, w/ optimization, stripped binaries 10 | #set(ROS_BUILD_TYPE RelWithDebInfo) 11 | 12 | rosbuild_init() 13 | 14 | set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) 15 | set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib) 16 | 17 | rosbuild_add_boost_directories() 18 | rosbuild_add_library(${PROJECT_NAME} 19 | src/timeout.cpp 20 | src/bond.cpp 21 | src/BondSM_sm.cpp 22 | ) 23 | target_link_libraries(${PROJECT_NAME}) 24 | rosbuild_link_boost(${PROJECT_NAME} thread) 25 | 26 | #rosbuild_genmsg() 27 | #rosbuild_gensrv() 28 | 29 | #common commands for building c++ executables and libraries 30 | #target_link_libraries(${PROJECT_NAME} another_library) 31 | #rosbuild_add_executable(example examples/example.cpp) 32 | #target_link_libraries(example ${PROJECT_NAME}) 33 | -------------------------------------------------------------------------------- /example_inputs/CMakeLists_zqsZ.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 2.8.0) 2 | project(bond) 3 | 4 | find_package(catkin REQUIRED) 5 | catkin_package() 6 | 7 | find_package(catkin REQUIRED genmsg std_msgs) 8 | 9 | add_message_files(DIRECTORY msg 10 | FILES Constants.msg 11 | Status.msg 12 | ) 13 | 14 | generate_messages(DEPENDENCIES std_msgs) 15 | -------------------------------------------------------------------------------- /example_inputs/comment_on_command.txt: -------------------------------------------------------------------------------- 1 | some_command(arg) # Comment on command 2 | -------------------------------------------------------------------------------- /example_inputs/hello.txt: -------------------------------------------------------------------------------- 1 | # The name of our project is "HELLO". CMakeLists files in this project can 2 | # refer to the root source directory of the project as ${HELLO_SOURCE_DIR} and 3 | # to the root binary directory of the project as ${HELLO_BINARY_DIR}. 4 | cmake_minimum_required (VERSION 2.6) 5 | project (HELLO) 6 | 7 | # Recurse into the "Hello" and "Demo" subdirectories. This does not actually 8 | # cause another cmake executable to run. The same process will walk through 9 | # the project's entire directory structure. 10 | add_subdirectory (Hello) 11 | add_subdirectory (Demo) 12 | -------------------------------------------------------------------------------- /example_inputs/if.txt: -------------------------------------------------------------------------------- 1 | IF(a) 2 | SET(X foo) 3 | ENDIF(a) 4 | 5 | -------------------------------------------------------------------------------- /example_inputs/ifelse.txt: -------------------------------------------------------------------------------- 1 | IF(a) 2 | SET(X foo) 3 | ELSE(a) 4 | SET(Y bar) 5 | ENDIF(a) 6 | 7 | -------------------------------------------------------------------------------- /example_inputs/include_directories.txt: -------------------------------------------------------------------------------- 1 | # Make sure the compiler can find include files from our Hello library. 2 | include_directories (${HELLO_SOURCE_DIR}/Hello) 3 | 4 | # Make sure the linker can find the Hello library once it is built. 5 | link_directories (${HELLO_BINARY_DIR}/Hello) 6 | 7 | # Add executable called "helloDemo" that is built from the source files 8 | # "demo.cxx" and "demo_b.cxx". The extensions are automatically found. 9 | add_executable (helloDemo demo.cxx demo_b.cxx) 10 | 11 | # Link the executable to the Hello library. 12 | target_link_libraries (helloDemo Hello) -------------------------------------------------------------------------------- /example_inputs/macro.txt: -------------------------------------------------------------------------------- 1 | # define a macro hello 2 | macro(hello MESSAGE) 3 | message(${MESSAGE}) 4 | endmacro(hello) 5 | # call the macro with the string "hello world" 6 | hello("hello world") 7 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [easy_install] 2 | find_links = http://github.com/ijt/cmakelists_parsing 3 | 4 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup, find_packages 2 | 3 | # Prevent "TypeError: 'NoneType' object is not callable" error 4 | # when running python setup.py test 5 | # (see http://www.eby-sarna.com/pipermail/peak/2010-May/003357.html) 6 | try: 7 | import multiprocessing 8 | except ImportError: 9 | pass 10 | 11 | setup( 12 | name='cmakelists_parsing', 13 | version='0.3', 14 | author='Issac Trotts', 15 | author_email='issac.trotts@gmail.com', 16 | url='http://github.com/ijt/cmakelists_parsing', 17 | description='Parser for CMakeLists.txt files', 18 | packages=find_packages(), 19 | zip_safe=False, 20 | install_requires=['pyPEG2'], 21 | tests_require=['nose'], 22 | test_suite='nose.collector', 23 | include_package_data=True, 24 | entry_points = { 25 | 'console_scripts': [ 26 | 'cmake_pprint = cmakelists_parsing.cmake_pprint:main', 27 | ] 28 | }) 29 | 30 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ijt/cmakelists_parsing/85d040d6b0e01ea15f54824eb63cd9f46570b48e/tests/__init__.py -------------------------------------------------------------------------------- /tests/example_inputs_test.py: -------------------------------------------------------------------------------- 1 | import glob 2 | import os 3 | import unittest 4 | 5 | import cmakelists_parsing.parsing as cmp 6 | 7 | def yield_examples(): 8 | paths = glob.glob(os.path.join(os.path.dirname(__file__), 9 | '..', 'example_inputs', '*')) 10 | for path in paths: 11 | with open(path) as file: 12 | contents = file.read() 13 | yield path, contents 14 | 15 | class ExamplesTestCase(unittest.TestCase): 16 | def test_idempotency_of_parse_unparse(self): 17 | round_trip = lambda s, path='': str(cmp.parse(s, path)) 18 | for path, contents in yield_examples(): 19 | print 'Testing on %s' % path 20 | self.assertEqual(round_trip(contents, path), 21 | round_trip(round_trip(contents, path)), 22 | 'Failed on %s' % path) 23 | 24 | def test_tree_is_unchanged(self): 25 | for path, contents in yield_examples(): 26 | expected = cmp.parse(contents, path) 27 | actual = cmp.parse(str(cmp.parse(contents, path))) 28 | msg = 'Failed on %s.\nExpected\n%s\n\nGot\n%s' % (path, expected, actual) 29 | self.assertEqual(expected, actual, msg) 30 | -------------------------------------------------------------------------------- /tests/parsing_test.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import unittest 4 | 5 | from cmakelists_parsing.parsing import ( 6 | File, Command, Comment, BlankLine, Arg, parse, prettify) 7 | 8 | class ParsingTestCase(unittest.TestCase): 9 | def setUp(self): 10 | self.maxDiff = None 11 | 12 | def test_parse_empty_raises_exception(self): 13 | self.assertEqual(File([]), parse('')) 14 | 15 | def test_parse_nonempty1(self): 16 | input = 'FIND_PACKAGE(ITK REQUIRED)' 17 | output = parse(input) 18 | expected = File([Command('FIND_PACKAGE', [Arg('ITK'), Arg('REQUIRED')])]) 19 | msg = '\nexpected\n%s\ngot\n%s' % (repr(expected), repr(output)) 20 | self.assertEqual(expected, output, msg) 21 | 22 | def test_parse_nonempty2(self): 23 | input = '''\ 24 | # Top level comment 25 | FIND_PACKAGE(ITK REQUIRED) 26 | INCLUDE(${ITK_USE_FILE}) 27 | 28 | ADD_EXECUTABLE(CastImageFilter CastImageFilter.cxx) 29 | TARGET_LINK_LIBRARIES(CastImageFilter # inline comment 1 30 | vtkHybrid #inline comment 2 31 | ITKIO ITKBasicFilters ITKCommon 32 | ) 33 | ''' 34 | 35 | output = parse(input) 36 | 37 | expected = File([ 38 | Comment('# Top level comment'), 39 | Command('FIND_PACKAGE', [Arg('ITK'), Arg('REQUIRED')]), 40 | Command('INCLUDE', [Arg('${ITK_USE_FILE}')]), 41 | BlankLine(), 42 | Command('ADD_EXECUTABLE', [Arg('CastImageFilter'), Arg('CastImageFilter.cxx')]), 43 | Command('TARGET_LINK_LIBRARIES', [Arg('CastImageFilter', comments=['# inline comment 1']), 44 | Arg('vtkHybrid', comments=['#inline comment 2']), 45 | Arg('ITKIO'), 46 | Arg('ITKBasicFilters'), 47 | Arg('ITKCommon')]), 48 | ]) 49 | msg = '\nexpected\n%s\ngot\n%s' % (expected, output) 50 | self.assertEqual(expected, output, msg) 51 | 52 | def test_idempotency_of_parsing_and_unparsing(self): 53 | input = '''\ 54 | # Top level comment 55 | FIND_PACKAGE(ITK REQUIRED) 56 | INCLUDE(${ITK_USE_FILE}) 57 | ''' 58 | round_trip = lambda s: str(parse(s)) 59 | self.assertEqual(round_trip(input), round_trip(round_trip(input))) 60 | 61 | def test_invalid_format_raises_an_exception(self): 62 | input = 'FIND_PACKAGE(' 63 | self.assertRaises(Exception, parse, input) 64 | 65 | def test_line_numbers_in_exceptions(self): 66 | input = '''\ 67 | FIND_PACKAGE(ITK) 68 | INCLUDE( 69 | ''' 70 | try: 71 | parse(input) 72 | self.fail('Expected an exception, but none was raised.') 73 | except Exception as e: 74 | self.assertTrue('line 2' in str(e)) 75 | 76 | def test_arg_with_a_slash(self): 77 | tree = parse('include_directories (${HELLO_SOURCE_DIR}/Hello)') 78 | expected = File([ 79 | Command('include_directories', [Arg('${HELLO_SOURCE_DIR}/Hello')]) 80 | ]) 81 | self.assertEqual(expected, tree) 82 | 83 | def test_command_with_no_args(self): 84 | tree = parse('cmd()') 85 | expected = File([Command('cmd', [])]) 86 | self.assertEqual(expected, tree) 87 | 88 | def assertStringEqualIgnoreSpace(self, a, b): 89 | a2 = ''.join(a.split()) 90 | b2 = ''.join(b.split()) 91 | msg = '\nExpected\n%s\ngot\n%s\n(ignoring whitespace details)' % (a, b) 92 | self.assertEqual(a2, b2, msg) 93 | 94 | def test_arg_comments_preserved(self): 95 | input = ''' 96 | some_Command ( 97 | x # inline comment about x 98 | ) 99 | ''' 100 | output = str(parse(input)) 101 | 102 | def test_comments_preserved(self): 103 | input = '''\ 104 | # file comment 105 | # more about the file 106 | 107 | # comment above Command1 108 | Command1(VERSION 2.6) # inline comment for Command1 109 | 110 | Command2(x # inline comment about x 111 | "y" # inline comment about a quoted string "y" 112 | ) # inline comment for Command2 113 | ''' 114 | output = str(parse(input)) 115 | 116 | self.assertMultiLineEqual(input, output) 117 | 118 | def test_multiline_string(self): 119 | s = ''' 120 | string containing 121 | newlines 122 | ''' 123 | input = '''\ 124 | set (MY_STRING "%s") 125 | ''' % s 126 | tree = parse(input) 127 | expected = File([Command('set', [Arg('MY_STRING'), 128 | Arg('"' + s + '"')])]) 129 | self.assertEqual(expected, tree) 130 | 131 | # TODO: test macros and functions 132 | def test_ifs_indented(self): 133 | input = ''' 134 | if(a) 135 | if(b) 136 | set(X 1) 137 | endif() 138 | else(a) 139 | if(c) 140 | set(Y 2) 141 | endif(c) 142 | endif(a) 143 | ''' 144 | self.assertMultiLineEqual(input, str(parse(input))) 145 | 146 | def test_macros_indented(self): 147 | input = ''' 148 | macro(hello MESSAGE) 149 | message(${MESSAGE}) 150 | endmacro(hello) # call the macro with the string "hello world" 151 | hello("hello world") 152 | ''' 153 | self.assertUnchangedByPrettyPrinting(input) 154 | 155 | def test_functions_indented(self): 156 | input = ''' 157 | function(hello MESSAGE) 158 | message(${MESSAGE}) 159 | endfunction(hello) # call the macro with the string "hello world" 160 | hello("hello world") 161 | ''' 162 | self.assertUnchangedByPrettyPrinting(input) 163 | 164 | def assertUnchangedByPrettyPrinting(self, input): 165 | self.assertMultiLineEqual(input, prettify(input)) 166 | 167 | if __name__ == '__main__': 168 | unittest.main() 169 | 170 | --------------------------------------------------------------------------------