summaryrefslogtreecommitdiff
path: root/test/suite/ctor_files/ctor.cc.multi
blob: 2b88afe618de3007edea65b4ec7cb387825457af (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
58
59
60
61
62
63
64
65
66
// -*- c++ -*-
// Distributed under the BSD 2-Clause License.
// See accompanying file LICENSE for details.
#include <ctor.h>
//#include "config.h"

#include "foobar.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);