Jamfile 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #==============================================================================
  2. # Copyright (c) 2001-2011 Joel de Guzman
  3. # Copyright (c) 2001-2012 Hartmut Kaiser
  4. # Copyright (c) 2011 Bryce Lelbach
  5. # Copyright (c) 2016-2019 Nikita Kniazev
  6. #
  7. # Use, modification and distribution is subject to the Boost Software
  8. # License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  9. # http://www.boost.org/LICENSE_1_0.txt)
  10. #==============================================================================
  11. import modules ;
  12. import path ;
  13. import testing ;
  14. ###############################################################################
  15. project spirit-lex
  16. : requirements
  17. <include>.
  18. <c++-template-depth>512
  19. ;
  20. ###############################################################################
  21. cpp-pch pch : pch.hpp : : : <include>. <toolset>msvc:<cxxflags>"/FIpch.hpp" ;
  22. explicit pch ;
  23. ###############################################################################
  24. local subproject-name = lex ;
  25. rule run ( sources + : args * : input-files *
  26. : requirements * : target-name ? : default-build * )
  27. {
  28. target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
  29. return [ testing.run $(sources) : $(args) : $(input-files)
  30. : $(requirements) <pch>on-spirit:<source>pch : $(target-name) : $(default-build) ] ;
  31. }
  32. rule compile ( sources + : requirements * : target-name ? )
  33. {
  34. target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
  35. return [ testing.compile $(sources)
  36. : $(requirements) <pch>on-spirit:<source>pch : $(target-name) ] ;
  37. }
  38. rule compile-fail ( sources + : requirements * : target-name ? )
  39. {
  40. target-name ?= $(subproject-name)_$(sources[1]:D=:S=) ;
  41. return [ testing.compile-fail $(sources)
  42. : $(requirements) <pch>on-spirit:<source>pch : $(target-name) ] ;
  43. }
  44. ###############################################################################
  45. rule location ( name )
  46. {
  47. local this = [ modules.binding $(__name__) ] ;
  48. local here = [ path.parent [ path.make $(this) ] ] ;
  49. return [ path.join $(here) $(name) ] ;
  50. }
  51. ###############################################################################
  52. run auto_switch_lexerstate.cpp ;
  53. run dedent_handling_phoenix.cpp ;
  54. run id_type_enum.cpp ;
  55. run lexertl1.cpp ;
  56. run lexertl2.cpp ;
  57. run lexertl3.cpp ;
  58. run lexertl4.cpp ;
  59. run lexertl5.cpp ;
  60. run lexer_state_switcher.cpp ;
  61. run semantic_actions.cpp ;
  62. run set_token_value.cpp ;
  63. run set_token_value_phoenix.cpp ;
  64. run state_switcher.cpp ;
  65. run string_token_id.cpp ;
  66. run token_iterpair.cpp ;
  67. run token_moretypes.cpp ;
  68. run token_omit.cpp ;
  69. run token_onetype.cpp ;
  70. run plain_token.cpp ;
  71. run regression_basic_lexer.cpp ;
  72. run regression_matlib_dynamic.cpp ;
  73. run regression_matlib_generate.cpp : [ location matlib_static.h ] ;
  74. run regression_matlib_static.cpp : : : <dependency>lex_regression_matlib_generate ;
  75. run regression_matlib_generate_switch.cpp : [ location matlib_static_switch.h ] ;
  76. run regression_matlib_switch.cpp : : : <dependency>lex_regression_matlib_generate_switch ;
  77. run regression_word_count.cpp ;
  78. run regression_syntax_error.cpp ;
  79. run regression_wide.cpp ;
  80. run regression_file_iterator1.cpp ;
  81. run regression_file_iterator2.cpp ;
  82. run regression_file_iterator3.cpp : : : <pch>off ;
  83. run regression_file_iterator4.cpp ;
  84. run regression_static_wide_6253.cpp ;
  85. run regression_less_8563.cpp ;