summaryrefslogtreecommitdiff
path: root/test/suite/ctor_files/ctor.cc.base
blob: d9b8e4df2fefdcadeb1f98defb98bcd5c0de29cc (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
// -*- c++ -*-
// Distributed under the BSD 2-Clause License.
// See accompanying file LICENSE for details.
#include <libctor.h>
//#include "config.h"

namespace
{
BuildConfigurations ctorConfigs()
{
	return
	{
		{
			.name = "hello",
			.target = "hello",
			.sources = {
				"hello.cc",
			},
			.cxxflags = {
				"-std=c++20",
				"-O3",
				"-g",
				"-Wall",
				"-Werror",
			},
			.externals = {"bar"},
		}
	};
}

ExternalConfigurations ctorExtConfigs()
{
	return
	{
		{
			.name = "bar",
			.cxxflags = { "-D_A_", "-DFOO"},
			.cflags = { "-D_B_" },
			.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);