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
58
59
60
61
62
63
64
65
|
// -*- c++ -*-
// Distributed under the BSD 2-Clause License.
// See accompanying file LICENSE for details.
#include <ctor.h>
//#include "config.h"
namespace
{
ctor::build_configurations ctorConfigs(const ctor::settings& settings)
{
return
{
{
.name = "hello",
.target = "hello",
.sources = {
"hello.cc",
},
.flags = {
.cxxflags = {
"-std=c++20",
"-O3",
"-g",
"-Wall",
"-Werror",
},
},
.externals = {"bar"},
}
};
}
ctor::external_configurations ctorExtConfigs(const ctor::settings& settings)
{
return
{
{
.name = "bar",
.external = ctor::external_manual
{
.flags = {
.cflags = { "-D_B_" },
.cxxflags = { "-D_A_", "-DFOO"},
.ldflags = { "-D_C_" },
.asmflags = { "-D_D_" },
},
},
// Creates --with-foo-prefix arg to configure which will be used for
// -L and -I flags.
// If not specified configure will try to find them in the system paths.
},
// {
// .name = "bar",
// .type = TargetType::ExternalPkgConfig,
// .min_version = "0.1",
// .max_version = "0.9",
// // cflags, cxxflags and ldflags deduced by pkg-config tool (or parsed
// // directly from .pc if faster)
// },
};
}
}
REG(ctorConfigs);
REG(ctorExtConfigs);
|