register.jam

来自「Boost provides free peer-reviewed portab」· JAM 代码 · 共 40 行

JAM
40
字号
# Copyright David Abrahams 2004. Distributed under 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)# This module's job is to automatically import all the type# registration modules in its directory.import type os path modules ;# Register the given type on the specified OSes, or on remaining OSes# if os is not specified.  This rule is injected into each of the type# modules for the sake of convenience.local rule type ( type : suffixes * : base-type ? : os * ){    if ! [ type.registered $(type) ]    {        if ( ! $(os) ) || [ os.name ] in $(os)        {            type.register $(type) : $(suffixes) : $(base-type) ;        }    }}.this-module's-file = [ modules.binding $(__name__) ] ;.this-module's-dir = [ path.parent $(.this-module's-file) ] ;.sibling-jamfiles =  [ path.glob $(.this-module's-dir) : *.jam ] ;.sibling-modules = [ MATCH ^(.*)\.jam$ : $(.sibling-jamfiles) ] ;# A loop over all modules in this directoryfor m in $(.sibling-modules){    m = [ path.basename $(m) ] ;    m = types/$(m) ;        # Inject the type rule into the new module    IMPORT $(__name__) : type : $(m) : type ;    import $(m) ;}

⌨️ 快捷键说明

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