1 from cmt2cmake
import makeParser
2 from pyparsing
import ParseException
4 CMTParser =
makeParser(set([
"QMTest",
"install_python_modules",
"install_scripts",
5 "install_more_includes",
"god_headers",
"god_dictionary",
6 "PyQtResource",
"PyQtUIC"])
7 | set([
'reflex_dictionary',
'component_library',
'linker_library',
8 'copy_relax_rootmap']))
10 tokens = list(CMTParser.parseString(
'package Test'))
11 assert tokens == [
'package',
'Test']
14 tokens = list(CMTParser.parseString(
'version v1r2p3'))
15 assert tokens == [
'version',
'v1r2p3']
18 statement =
'library GaudiKernelLib *.cpp -no_static -import=Boost'
19 tokens = list(CMTParser.parseString(statement))
21 assert tokens == [
'library',
'GaudiKernelLib',
'*.cpp',
'-no_static',
'-import=Boost']
23 statement =
'library TestLib test/lib/*.cpp a_variable=some_value -group=tests'
24 tokens = list(CMTParser.parseString(statement))
26 assert tokens == [
'library',
'TestLib',
'test/lib/*.cpp',
'a_variable=some_value',
'-group=tests']
29 s =
'macro_append ROOT_linkopts "some" WIN32 "other"'
30 tokens = list(CMTParser.parseString(s))
32 assert tokens == [
'macro_append',
'ROOT_linkopts',
'"some"',
'WIN32',
'"other"']
34 s =
'macro a_var "value"'
35 tokens = list(CMTParser.parseString(s))
37 assert tokens == [
'macro',
'a_var',
'"value"']
41 tokens = list(CMTParser.parseString(s))
42 assert False,
'parsing should have failed: %r' % s
43 except ParseException:
47 s =
'apply_pattern component_library library=L0DU'
48 tokens = list(CMTParser.parseString(s))
50 assert tokens == [
'apply_pattern',
'component_library',
'library=L0DU']
53 s =
'component_library library=L0DU'
54 tokens = list(CMTParser.parseString(s))
56 assert tokens == [
'apply_pattern',
'component_library',
'library=L0DU']