⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jamfile

📁 boost库提供标准的C++ API 配合dev c++使用,功能更加强大
💻
字号:
#==============================================================================
#   Copyright (c) 2002 Joel de Guzman
#   Copyright (c) 2003 Martin Wille
#   http://spirit.sourceforge.net/
#
#   Use, modification and distribution is subject to the Boost Software
#   License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
#   http://www.boost.org/LICENSE_1_0.txt)
#==============================================================================
#
#  Spirit regression test boost-jam file
#  Joel de Guzman [Sept 27, 2002]
#

subproject libs/spirit/test ;

spirit-header-include = ;
if ($SPIRIT_HEADER_INCLUDE)
{
    spirit-header-include = <include>$(SPIRIT_HEADER_INCLUDE) ;
}

spirit-src = ./ ;
if $(SPIRIT_SRC_INCLUDE)
{
    spirit-src = $(SPIRIT_SRC_INCLUDE)/ ;
}

############################################################
# include testing.jam
# extend testing.jam's functionality
#
SEARCH on testing.jam = $(BOOST_BUILD_PATH) ;
include testing.jam ;

rule spirit-run-debug ( sources + : args * : input-files * : requirements * : name ? : default-build * )
{
    local gRUN_TEST_ARGS = $(args) ;
    local gRUN_TEST_INPUT_FILES = $(input-files) ;
    SEARCH on $(input-files) = $(SEARCH_SOURCE) ;
    name ?= $(sources[1]:D=:S=) ;
    name = $(name)_debug ;
    return [ boost-test $(sources) : RUN : $(requirements) <define>BOOST_SPIRIT_DEBUG=1 : $(name) : $(default-build) ] ;
}

rule spirit-run ( sources + : args * : input-files * : requirements * : name ? : default-build * )
{
    run $(sources) : $(args) : $(input-files) : $(requirements) : $(name) : $(default-build) ;
    spirit-run-debug $(sources) : $(args) : $(input-files) : $(requirements) : $(name) : $(default-build) ;
}

############################################################

{
    template opt : : :
        <vc7><*><optimization>speed
        <vc7><*><inlining>on
        <metrowerks><*><optimization>speed
        $(spirit-header-include)
        ;

    template opt-metrowerks : : :
        <metrowerks><*><optimization>speed
        $(spirit-header-include)
        ;

if ($(COMO_BASE) && $(UNIX))
{   # no MT support available
    template multi-threading : : :
        $(spirit-header-include)
    ;
}
else
{
    template multi-threading : <dll>../../thread/build/boost_thread : :
        <threading>multi
        $(spirit-header-include)
    ;
}

    template normal : : :
        $(spirit-header-include)
    ;

    test-suite "spirit.core.kernel"
        : [ spirit-run $(spirit-src)match_tests.cpp <template>normal ]
        ;

    test-suite "spirit.core.scanner"
        : [ spirit-run $(spirit-src)scanner_tests.cpp <template>normal ]
        ;

    test-suite "spirit.core.primitive"
        : [ spirit-run $(spirit-src)primitives_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)numerics_tests.cpp <template>opt ]
        ;

    test-suite "spirit.core.composite"
        : [ spirit-run $(spirit-src)composite_tests.cpp <template>opt ]
          [ spirit-run $(spirit-src)epsilon_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)operators_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)directives_tests.cpp <template>normal ]
        ;

    test-suite "spirit.core.non_terminal"
        : [ spirit-run $(spirit-src)rule_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)owi_st_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)grammar_tests.cpp <template>opt-metrowerks ]
          [ spirit-run $(spirit-src)subrule_tests.cpp <template>normal ]
          [        run $(spirit-src)owi_mt_tests.cpp <template>multi-threading ]
          [        run $(spirit-src)grammar_mt_tests.cpp <template>multi-threading ]
          [ spirit-run $(spirit-src)parser_context_test.cpp <template>normal ]
        ;

    # traverse_tests defines SPIRIT_DEBUG, don't run the tests twice
    test-suite "spirit.meta"
        : [ spirit-run $(spirit-src)fundamental_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)parser_traits_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)traverse_tests.cpp <template>normal ]
        ;

    test-suite "spirit.attribute"
        : [ spirit-run $(spirit-src)closure_tests.cpp <template>opt-metrowerks ]
          [        run $(spirit-src)bug_000008.cpp <template>multi-threading ]
          [ spirit-run $(spirit-src)parametric_tests.cpp <template>normal ]
        ;

    test-suite "spirit.error_handling"
        : [ spirit-run $(spirit-src)exception_tests.cpp <template>normal ]
        ;

    test-suite "spirit.tree"
        : [ spirit-run $(spirit-src)ast_calc_tests.cpp <template>normal ]
        ;

# temporarily removed from the test suite. tree_tests are not finished, yet.
#         [ spirit-run $(spirit-src)tree_tests.cpp <template>normal ]

    test-suite "spirit.dynamic"
        : [ compile $(spirit-src)if_p_as_parser_tests.cpp <template>normal ]
          [ compile $(spirit-src)while_p_as_parser_tests.cpp <template>normal ]
          [ compile $(spirit-src)for_p_as_parser_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)if_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)for_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)while_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)lazy_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)switch_tests_eps_default.cpp <template>normal ]
          [ spirit-run $(spirit-src)switch_tests_general_default.cpp <template>normal ]
          [ spirit-run $(spirit-src)switch_tests_wo_default.cpp <template>normal ]
          [ spirit-run $(spirit-src)switch_tests_single.cpp <template>normal ]
        ;

    test-suite "spirit.utility.parsers"
        : [ spirit-run $(spirit-src)chset_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)confix_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)loops_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)symbols_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)escape_char_parser_tests.cpp <template>opt ]
          [ spirit-run $(spirit-src)distinct_tests.cpp <template>normal ]
        ;

    test-suite "spirit.utility.support"
        # This test doesn't actually use multiple threads
        : [ spirit-run $(spirit-src)scoped_lock_tests.cpp <template>multi-threading ]
        ;

    test-suite "spirit.iterator"
        : [ spirit-run $(spirit-src)fixed_size_queue_tests.cpp <template>normal ]
          [ compile-fail $(spirit-src)fixed_size_queue_fail_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)file_iterator_tests.cpp <template>normal ]
          [ spirit-run $(spirit-src)multi_pass_tests.cpp <template>opt-metrowerks ]
          [ spirit-run $(spirit-src)sf_bug_720917.cpp <template>opt-metrowerks ]
          [ spirit-run $(spirit-src)position_iterator_tests.cpp <template>opt-metrowerks ]
        ;

    test-suite "spirit.small_bug_fixes"
        : [ spirit-run $(spirit-src)bug_fixes.cpp <template>normal ]
        ;

    actor_test_sources =
        action_tests
        assign_test
        assign_key_test
        clear_test
        decrement_test
        erase_at_test
        increment_test
        insert_key_test
        push_back_test
        push_front_test
        swap_test
        unit_test
        ;

    test-suite "spirit.utility.actors"
        : [ spirit-run $(spirit-src)actor/$(actor_test_sources).cpp <template>normal ]
        ;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -