mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-07-30 12:42:27 -04:00
118 lines
3.7 KiB
Plaintext
118 lines
3.7 KiB
Plaintext
# copyright John Maddock 2006
|
|
# Use, modification and distribution are 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)
|
|
|
|
import type ;
|
|
|
|
type.register AUTOLINK_LIB ;
|
|
|
|
import generators ;
|
|
import "class" : new ;
|
|
|
|
# This generator creates library using standard generators,
|
|
# and then add <library-path> usage requirements with the
|
|
# path of the created library.
|
|
class autolink-generator : generator
|
|
{
|
|
import generators ;
|
|
import "class" ;
|
|
import property-set ;
|
|
import path ;
|
|
|
|
rule run ( project name ? : property-set : sources + )
|
|
{
|
|
local result = [ generators.construct $(project) $(name)
|
|
: LIB : $(property-set) : $(sources) ] ;
|
|
|
|
local targets ;
|
|
local usage-requirements ;
|
|
|
|
if [ class.is-a $(result[1]) : property-set ]
|
|
{
|
|
usage-requirements = $(result[1]) ;
|
|
targets = $(result[2-]) ;
|
|
}
|
|
else
|
|
{
|
|
usage-requirements = [ property-set.empty ] ;
|
|
targets = $(result) ;
|
|
}
|
|
|
|
local extra ;
|
|
local paths ;
|
|
local pwd = [ path.pwd ] ;
|
|
for local t in $(targets)
|
|
{
|
|
if [ type.is-derived [ $(t).type ] LIB ]
|
|
{
|
|
paths += [ path.root [ path.make [ $(t).path ] ] $(pwd) ] ;
|
|
}
|
|
}
|
|
extra += $(paths:G=<library-path>) ;
|
|
if $(extra)
|
|
{
|
|
extra = [ sequence.unique $(extra) ] ;
|
|
usage-requirements = [ $(usage-requirements).add-raw $(extra) ] ;
|
|
}
|
|
return $(usage-requirements) $(targets) ;
|
|
}
|
|
}
|
|
|
|
generators.register [
|
|
new autolink-generator $(__name__).autolink : : AUTOLINK_LIB ] ;
|
|
|
|
project : requirements -<threading>multi <hardcode-dll-paths>false ;
|
|
|
|
autolink-lib link_test : ../link_test.cpp
|
|
: <link>shared:<define>BOOST_DYN_LINK=1
|
|
:
|
|
;
|
|
|
|
|
|
explicit link_test ;
|
|
|
|
run ../main.cpp link_test
|
|
: : : <toolset>msvc-8.0:<build>no <toolset>msvc-9.0:<build>no <toolset>msvc-10.0:<build>no <toolset>msvc-11.0:<build>no <toolset>msvc-12.0:<build>no <link>static <runtime-link>static <threading>single debug : link_test_ssd ;
|
|
|
|
run ../main.cpp link_test
|
|
: : : <toolset>msvc-8.0:<build>no <toolset>msvc-9.0:<build>no <toolset>msvc-10.0:<build>no <toolset>msvc-11.0:<build>no <toolset>msvc-12.0:<build>no <link>static <runtime-link>static <threading>single release : link_test_ssr ;
|
|
|
|
run ../main.cpp link_test
|
|
: : : <link>static <runtime-link>static <threading>multi debug : link_test_smd ;
|
|
|
|
run ../main.cpp link_test
|
|
: : : <link>static <runtime-link>static <threading>multi release : link_test_smr ;
|
|
|
|
run ../main.cpp link_test
|
|
: : : <link>static <runtime-link>shared <threading>multi debug : link_test_dmd ;
|
|
|
|
run ../main.cpp link_test
|
|
: : : <link>static <runtime-link>shared <threading>multi release : link_test_dmr ;
|
|
|
|
run ../main.cpp link_test
|
|
: : : <link>static <runtime-link>shared <threading>single debug : link_test_dsd ;
|
|
|
|
run ../main.cpp link_test
|
|
: : : <link>static <runtime-link>shared <threading>single release : link_test_dsr ;
|
|
|
|
run ../main.cpp link_test
|
|
: : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>multi debug : link_test_dll_dmd ;
|
|
|
|
run ../main.cpp link_test
|
|
: : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>multi release : link_test_dll_dmr ;
|
|
|
|
run ../main.cpp link_test
|
|
: : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>single debug : link_test_dll_dsd ;
|
|
|
|
run ../main.cpp link_test
|
|
: : : <define>BOOST_DYN_LINK=1 <link>shared <runtime-link>shared <threading>single release : link_test_dll_dsr ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|