summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/predef/test/build.jam
blob: e894a31e9623eae992d33492a7030205ae423f25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Copyright Rene Rivera 2011-2019
# 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 ../tools/check/predef : require check : predef-require predef-check ;
import path ;

# This deals with the unfortunate aspect of a Boost monolithic release
# not having the modular include dirs. This is a kludge that just removes
# the direct depdndency to the header if it can't find it.
local PREDEF_H = $(BOOST_PREDEF_INCLUDE)/boost/predef.h ;
if ! [ path.exists $(PREDEF_H) ]
{
    PREDEF_H = ;
}

project
    :   requirements
        <include>$(BOOST_PREDEF_INCLUDE)
        # Add explicit dependency since we don't have header scanner for
        # .m and .mm files.
        <dependency>$(PREDEF_H)
    ;

using testing ;

test-suite predef :
    [ run info_as_cpp.cpp : : : <test-info>always_show_run_output ]
    [ run info_as_c.c : : : <test-info>always_show_run_output ]
    [ run info_as_objcpp.mm : : : <test-info>always_show_run_output ]
    [ run info_as_objc.m : : : <test-info>always_show_run_output ]
    [ run version.cpp ]
    [ run make.cpp ]
    [ compile macos_endian.c : [ predef-require "BOOST_OS_MACOS" : cpp ] ]
    [ compile macos_vs_bsd.c : [ predef-require "BOOST_OS_MACOS" : cpp ] ]
    [ run check_value.cpp : : : <test-info>always_show_run_output
        [ predef-check "BOOST_COMP_CLANG > 0.0.0" "BOOST_OS_LINUX == 0" : : <cxxflags>-DCHECK_VALUE=true ] ]
    [ run workaround.cpp ]
    [ compile workaround_strict_config.cpp ]
    [ run tested_at.cpp ]
    [ compile-fail tested_at_outdated.cpp : <test-info>always_show_run_output ]
	[ compile platform_windows.cpp ]
    ;

# Minimal testing done for predef for CI. Since
# we don't have many we can just do all of them.
alias minimal : predef ;

# Full testing target for regular regression tests.
alias full : predef ;

# Extra's target. Nothing for Predef.
alias extra ;

explicit minimal ;
explicit extra ;