Add modular build.

This commit is contained in:
Rene Rivera 2024-03-23 07:54:13 -05:00
parent d8be00789c
commit 0b9dd5ebdf
7 changed files with 204 additions and 221 deletions

View File

@ -7,6 +7,7 @@ on:
- master
- develop
- feature/**
- modular
env:
UBSAN_OPTIONS: print_stacktrace=1

15
build.jam Normal file
View File

@ -0,0 +1,15 @@
# Copyright René Ferdinand Rivera Morell 2024
# 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)
import project ;
project /boost/auto_index
: common-requirements
;
explicit
[ alias auto_index : build//auto_index ]
[ alias all : auto_index test ]
;

View File

@ -18,16 +18,16 @@ DIST_DIR ?= [ path.join $(BOOST_ROOT) dist ] ;
DIST_DIR = [ path.root [ path.make $(DIST_DIR) ] [ path.pwd ] ] ;
local DIST_BIN = [ path.join $(DIST_DIR) bin ] ;
exe auto_index :
../src/auto_index.cpp
../src/file_scanning.cpp
../src/index_generator.cpp
../src/tiny_xml.cpp
/boost//regex
/boost//filesystem
/boost//system
/boost//program_options
: <define>BOOST_ALL_NO_LIB=1 <link>static release ;
exe auto_index :
../src/auto_index.cpp
../src/file_scanning.cpp
../src/index_generator.cpp
../src/tiny_xml.cpp
/boost/regex//boost_regex
/boost/filesystem//boost_filesystem
/boost/system//boost_system
/boost/program_options//boost_program_options
: <define>BOOST_ALL_NO_LIB=1 <link>static release ;
install aii : auto_index : <location>. ;
explicit aii ;

View File

@ -15,11 +15,6 @@ boostbook standalone
:
auto_index
:
# Path for links to Boost:
<xsl:param>boost.root=../../../..
# Path for libraries index:
<xsl:param>boost.libraries=$(boost-root)/libs/libraries.htm
# Some general style settings:
<xsl:param>table.footnote.number.format=1
<xsl:param>footnote.number.format=1
@ -83,6 +78,3 @@ boostbook standalone
;
install pdf-install : standalone : <install-type>PDF <location>. <name>auto_index.pdf ;

View File

@ -12,56 +12,31 @@ import toolset ;
import type ;
path-constant ROOT : ../../.. ;
path-constant HERE : . ;
exe line_compare_tool : text_diff.cpp ;
actions auto-index
{
"$(>[1])" "--prefix=$(ROOT)" "--in=$(>[2])" "--script=$(>[3])" "--out=$(<[1])"
}
rule auto-index-test ( target-name : input-file : script-file : output-file ? : options * )
{
local project = [ project.current ] ;
local t =
[ targets.create-typed-target RUN
: $(project)
: $(target-name)
: [ alias autoindex : ../build//auto_index : release ]
: $(requirements)
<location-prefix>$(target-name).test
<testing.arg>--prefix=$(ROOT)
<testing.arg>$(options)
<testing.arg>--in=$(HERE)/$(input-file)
<testing.arg>--script=$(HERE)/$(script-file)
<testing.arg>--out=$(HERE)/$(target-name).out
<preserve-test-targets>on
<dependency>Jamfile.v2
<dependency>$(input-file)
<dependency>$(script-file)
]
make $(target-name)._out
: ../build//auto_index/<variant>release
$(input-file)
$(script-file)
: @auto-index
: <location-prefix>$(target-name).test
<dependency>Jamfile.v2
;
local n = [ $(t).name ] ;
#ECHO n: $(n) ;
t +=
[ targets.create-typed-target RUN
: $(project)
: $(target-name)_check
: [ alias lct : line_compare_tool : release ]
: $(requirements)
<location-prefix>$(target-name).test
<testing.arg>$(HERE)/$(target-name).out
<testing.arg>$(HERE)/$(target-name).gold
<preserve-test-targets>on
<dependency>$(n)
<dependency>Jamfile.v2
<dependency>$(input-file)
<dependency>$(script-file)
]
testing.run text_diff.cpp
:
: $(target-name)._out
$(target-name).gold
: <preserve-test-targets>on
<dependency>Jamfile.v2
: $(target-name)_check
;
modules.poke testing : .all-tests : \$\(all-tests\) $(t) ;
return $(t) ;
}
auto-index-test test1 : type_traits.docbook : index.idx ;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long