| author | |
| committer | |
| log | 2ce32e44978428c367551c5c150d1ab12c0b73d7 |
| tree | 3e50de776009cef0312299831410c7909911500d |
| parent | 8a0429e885489eac497aa97fdfcaaa1befb2b6d4 |
14 files changed, 448 insertions(+), 303 deletions(-)
test/standalone/cmakedefine/build.zig+67-13| ... | @@ -4,7 +4,8 @@ const ConfigHeader = std.Build.Step.ConfigHeader; | ... | @@ -4,7 +4,8 @@ const ConfigHeader = std.Build.Step.ConfigHeader; |
| 4 | pub fn build(b: *std.Build) void { | 4 | pub fn build(b: *std.Build) void { |
| 5 | const config_header = b.addConfigHeader( | 5 | const config_header = b.addConfigHeader( |
| 6 | .{ | 6 | .{ |
| 7 | .style = .{ .cmake = .{ .path = "config.h.cmake" } }, | 7 | .style = .{ .cmake = .{ .path = "config.h.in" } }, |
| 8 | .include_path = "config.h", | ||
| 8 | }, | 9 | }, |
| 9 | .{ | 10 | .{ |
| 10 | .noval = null, | 11 | .noval = null, |
| ... | @@ -25,32 +26,85 @@ pub fn build(b: *std.Build) void { | ... | @@ -25,32 +26,85 @@ pub fn build(b: *std.Build) void { |
| 25 | }, | 26 | }, |
| 26 | ); | 27 | ); |
| 27 | 28 | ||
| 29 | const pwd_sh = b.addConfigHeader( | ||
| 30 | .{ | ||
| 31 | .style = .{ .cmake = .{ .path = "pwd.sh.in" } }, | ||
| 32 | .include_path = "pwd.sh", | ||
| 33 | }, | ||
| 34 | .{ .DIR = "${PWD}" }, | ||
| 35 | ); | ||
| 36 | |||
| 37 | const sigil_header = b.addConfigHeader( | ||
| 38 | .{ | ||
| 39 | .style = .{ .cmake = .{ .path = "sigil.h.in" } }, | ||
| 40 | .include_path = "sigil.h", | ||
| 41 | }, | ||
| 42 | .{}, | ||
| 43 | ); | ||
| 44 | |||
| 45 | const stack_header = b.addConfigHeader( | ||
| 46 | .{ | ||
| 47 | .style = .{ .cmake = .{ .path = "stack.h.in" } }, | ||
| 48 | .include_path = "stack.h", | ||
| 49 | }, | ||
| 50 | .{ | ||
| 51 | .AT = "@", | ||
| 52 | .UNDERSCORE = "_", | ||
| 53 | .NEST_UNDERSCORE_PROXY = "UNDERSCORE", | ||
| 54 | .NEST_PROXY = "NEST_UNDERSCORE_PROXY", | ||
| 55 | }, | ||
| 56 | ); | ||
| 57 | |||
| 58 | const wrapper_header = b.addConfigHeader( | ||
| 59 | .{ | ||
| 60 | .style = .{ .cmake = .{ .path = "wrapper.h.in" } }, | ||
| 61 | .include_path = "wrapper.h", | ||
| 62 | }, | ||
| 63 | .{ | ||
| 64 | .DOLLAR = "$", | ||
| 65 | .TEXT = "TRAP", | ||
| 66 | |||
| 67 | .STRING = "TEXT", | ||
| 68 | .STRING_AT = "@STRING@", | ||
| 69 | .STRING_CURLY = "{STRING}", | ||
| 70 | .STRING_VAR = "${STRING}", | ||
| 71 | }, | ||
| 72 | ); | ||
| 73 | |||
| 28 | const test_step = b.step("test", "Test it"); | 74 | const test_step = b.step("test", "Test it"); |
| 29 | test_step.makeFn = compare_headers; | 75 | test_step.makeFn = compare_headers; |
| 30 | test_step.dependOn(&config_header.step); | 76 | test_step.dependOn(&config_header.step); |
| 77 | test_step.dependOn(&pwd_sh.step); | ||
| 78 | test_step.dependOn(&sigil_header.step); | ||
| 79 | test_step.dependOn(&stack_header.step); | ||
| 80 | test_step.dependOn(&wrapper_header.step); | ||
| 31 | } | 81 | } |
| 32 | 82 | ||
| 33 | fn compare_headers(step: *std.Build.Step, prog_node: *std.Progress.Node) !void { | 83 | fn compare_headers(step: *std.Build.Step, prog_node: *std.Progress.Node) !void { |
| 34 | _ = prog_node; | 84 | _ = prog_node; |
| 35 | const allocator = step.owner.allocator; | 85 | const allocator = step.owner.allocator; |
| 36 | const cmake_header_path = "expected.h"; | 86 | const expected_fmt = "expected_{s}"; |
| 87 | |||
| 88 | for (step.dependencies.items) |config_header_step| { | ||
| 89 | const config_header = @fieldParentPtr(ConfigHeader, "step", config_header_step); | ||
| 37 | 90 | ||
| 38 | const config_header_step = step.dependencies.getLast(); | 91 | const zig_header_path = config_header.output_file.path orelse @panic("Could not locate header file"); |
| 39 | const config_header = @fieldParentPtr(ConfigHeader, "step", config_header_step); | ||
| 40 | 92 | ||
| 41 | const zig_header_path = config_header.output_file.path orelse @panic("Could not locate header file"); | 93 | const cwd = std.fs.cwd(); |
| 42 | 94 | ||
| 43 | const cwd = std.fs.cwd(); | 95 | const cmake_header_path = try std.fmt.allocPrint(allocator, expected_fmt, .{std.fs.path.basename(zig_header_path)}); |
| 96 | defer allocator.free(cmake_header_path); | ||
| 44 | 97 | ||
| 45 | const cmake_header = try cwd.readFileAlloc(allocator, cmake_header_path, config_header.max_bytes); | 98 | const cmake_header = try cwd.readFileAlloc(allocator, cmake_header_path, config_header.max_bytes); |
| 46 | defer allocator.free(cmake_header); | 99 | defer allocator.free(cmake_header); |
| 47 | 100 | ||
| 48 | const zig_header = try cwd.readFileAlloc(allocator, zig_header_path, config_header.max_bytes); | 101 | const zig_header = try cwd.readFileAlloc(allocator, zig_header_path, config_header.max_bytes); |
| 49 | defer allocator.free(zig_header); | 102 | defer allocator.free(zig_header); |
| 50 | 103 | ||
| 51 | const header_text_index = std.mem.indexOf(u8, zig_header, "\n") orelse @panic("Could not find comment in header filer"); | 104 | const header_text_index = std.mem.indexOf(u8, zig_header, "\n") orelse @panic("Could not find comment in header filer"); |
| 52 | 105 | ||
| 53 | if (!std.mem.eql(u8, zig_header[header_text_index + 1 ..], cmake_header)) { | 106 | if (!std.mem.eql(u8, zig_header[header_text_index + 1 ..], cmake_header)) { |
| 54 | @panic("processed cmakedefine header does not match expected output"); | 107 | @panic("processed cmakedefine header does not match expected output"); |
| 108 | } | ||
| 55 | } | 109 | } |
| 56 | } | 110 | } |
test/standalone/cmakedefine/config.h.cmake deleted-145| ... | @@ -1,145 +0,0 @@ | ||
| 1 | // cmakedefine | ||
| 2 | // undefined | ||
| 3 | #cmakedefine noval unreachable | ||
| 4 | |||
| 5 | // 1 | ||
| 6 | #cmakedefine trueval 1 | ||
| 7 | |||
| 8 | // undefined | ||
| 9 | #cmakedefine falseval unreachable | ||
| 10 | |||
| 11 | // undefined | ||
| 12 | #cmakedefine zeroval unreachable | ||
| 13 | |||
| 14 | // 1 | ||
| 15 | #cmakedefine oneval 1 | ||
| 16 | |||
| 17 | // 1 | ||
| 18 | #cmakedefine tenval 1 | ||
| 19 | |||
| 20 | // 1 | ||
| 21 | #cmakedefine stringval 1 | ||
| 22 | |||
| 23 | |||
| 24 | // cmakedefine01 | ||
| 25 | // 0 | ||
| 26 | #cmakedefine01 boolnoval | ||
| 27 | |||
| 28 | // 1 | ||
| 29 | #cmakedefine01 booltrueval | ||
| 30 | |||
| 31 | // 0 | ||
| 32 | #cmakedefine01 boolfalseval | ||
| 33 | |||
| 34 | // 0 | ||
| 35 | #cmakedefine01 boolzeroval | ||
| 36 | |||
| 37 | // 1 | ||
| 38 | #cmakedefine01 booloneval | ||
| 39 | |||
| 40 | // 1 | ||
| 41 | #cmakedefine01 booltenval | ||
| 42 | |||
| 43 | // 1 | ||
| 44 | #cmakedefine01 boolstringval | ||
| 45 | |||
| 46 | |||
| 47 | // @ substition | ||
| 48 | |||
| 49 | // no substition | ||
| 50 | // @noval@ | ||
| 51 | |||
| 52 | // no substition | ||
| 53 | // @noval@@noval@ | ||
| 54 | |||
| 55 | // no substition | ||
| 56 | // @noval@.@noval@ | ||
| 57 | |||
| 58 | // 1 | ||
| 59 | // @trueval@ | ||
| 60 | |||
| 61 | // 0 | ||
| 62 | // @falseval@ | ||
| 63 | |||
| 64 | // 10 | ||
| 65 | // @trueval@@falseval@ | ||
| 66 | |||
| 67 | // 0.1 | ||
| 68 | // @falseval@.@trueval@ | ||
| 69 | |||
| 70 | // 0 | ||
| 71 | // @zeroval@ | ||
| 72 | |||
| 73 | // 1 | ||
| 74 | // @oneval@ | ||
| 75 | |||
| 76 | // 10 | ||
| 77 | // @tenval@ | ||
| 78 | |||
| 79 | // 01 | ||
| 80 | // @zeroval@@oneval@ | ||
| 81 | |||
| 82 | // 0.10 | ||
| 83 | // @zeroval@.@tenval@ | ||
| 84 | |||
| 85 | // test | ||
| 86 | // @stringval@ | ||
| 87 | |||
| 88 | // testtest | ||
| 89 | // @stringval@@stringval@ | ||
| 90 | |||
| 91 | // test.test | ||
| 92 | // @stringval@.@stringval@ | ||
| 93 | |||
| 94 | // test10 | ||
| 95 | // @noval@@stringval@@trueval@@zeroval@ | ||
| 96 | |||
| 97 | // ${} substition | ||
| 98 | |||
| 99 | // no substition | ||
| 100 | // ${noval} | ||
| 101 | |||
| 102 | // no substition | ||
| 103 | // ${noval}${noval} | ||
| 104 | |||
| 105 | // no substition | ||
| 106 | // ${noval}.${noval} | ||
| 107 | |||
| 108 | // 1 | ||
| 109 | // ${trueval} | ||
| 110 | |||
| 111 | // 0 | ||
| 112 | // ${falseval} | ||
| 113 | |||
| 114 | // 10 | ||
| 115 | // ${trueval}${falseval} | ||
| 116 | |||
| 117 | // 0.1 | ||
| 118 | // ${falseval}.${trueval} | ||
| 119 | |||
| 120 | // 0 | ||
| 121 | // ${zeroval} | ||
| 122 | |||
| 123 | // 1 | ||
| 124 | // ${oneval} | ||
| 125 | |||
| 126 | // 10 | ||
| 127 | // ${tenval} | ||
| 128 | |||
| 129 | // 01 | ||
| 130 | // ${zeroval}${oneval} | ||
| 131 | |||
| 132 | // 0.10 | ||
| 133 | // ${zeroval}.${tenval} | ||
| 134 | |||
| 135 | // test | ||
| 136 | // ${stringval} | ||
| 137 | |||
| 138 | // testtest | ||
| 139 | // ${stringval}${stringval} | ||
| 140 | |||
| 141 | // test.test | ||
| 142 | // ${stringval}.${stringval} | ||
| 143 | |||
| 144 | // test10 | ||
| 145 | // ${noval}${stringval}${trueval}${zeroval} | ||
test/standalone/cmakedefine/config.h.in created+145| ... | @@ -0,0 +1,145 @@ | ||
| 1 | // cmakedefine | ||
| 2 | // undefined | ||
| 3 | #cmakedefine noval unreachable | ||
| 4 | |||
| 5 | // 1 | ||
| 6 | #cmakedefine trueval 1 | ||
| 7 | |||
| 8 | // undefined | ||
| 9 | #cmakedefine falseval unreachable | ||
| 10 | |||
| 11 | // undefined | ||
| 12 | #cmakedefine zeroval unreachable | ||
| 13 | |||
| 14 | // 1 | ||
| 15 | #cmakedefine oneval 1 | ||
| 16 | |||
| 17 | // 1 | ||
| 18 | #cmakedefine tenval 1 | ||
| 19 | |||
| 20 | // 1 | ||
| 21 | #cmakedefine stringval 1 | ||
| 22 | |||
| 23 | |||
| 24 | // cmakedefine01 | ||
| 25 | // 0 | ||
| 26 | #cmakedefine01 boolnoval | ||
| 27 | |||
| 28 | // 1 | ||
| 29 | #cmakedefine01 booltrueval | ||
| 30 | |||
| 31 | // 0 | ||
| 32 | #cmakedefine01 boolfalseval | ||
| 33 | |||
| 34 | // 0 | ||
| 35 | #cmakedefine01 boolzeroval | ||
| 36 | |||
| 37 | // 1 | ||
| 38 | #cmakedefine01 booloneval | ||
| 39 | |||
| 40 | // 1 | ||
| 41 | #cmakedefine01 booltenval | ||
| 42 | |||
| 43 | // 1 | ||
| 44 | #cmakedefine01 boolstringval | ||
| 45 | |||
| 46 | |||
| 47 | // @ substition | ||
| 48 | |||
| 49 | // no substition | ||
| 50 | // @noval@ | ||
| 51 | |||
| 52 | // no substition | ||
| 53 | // @noval@@noval@ | ||
| 54 | |||
| 55 | // no substition | ||
| 56 | // @noval@.@noval@ | ||
| 57 | |||
| 58 | // 1 | ||
| 59 | // @trueval@ | ||
| 60 | |||
| 61 | // 0 | ||
| 62 | // @falseval@ | ||
| 63 | |||
| 64 | // 10 | ||
| 65 | // @trueval@@falseval@ | ||
| 66 | |||
| 67 | // 0.1 | ||
| 68 | // @falseval@.@trueval@ | ||
| 69 | |||
| 70 | // 0 | ||
| 71 | // @zeroval@ | ||
| 72 | |||
| 73 | // 1 | ||
| 74 | // @oneval@ | ||
| 75 | |||
| 76 | // 10 | ||
| 77 | // @tenval@ | ||
| 78 | |||
| 79 | // 01 | ||
| 80 | // @zeroval@@oneval@ | ||
| 81 | |||
| 82 | // 0.10 | ||
| 83 | // @zeroval@.@tenval@ | ||
| 84 | |||
| 85 | // test | ||
| 86 | // @stringval@ | ||
| 87 | |||
| 88 | // testtest | ||
| 89 | // @stringval@@stringval@ | ||
| 90 | |||
| 91 | // test.test | ||
| 92 | // @stringval@.@stringval@ | ||
| 93 | |||
| 94 | // test10 | ||
| 95 | // @noval@@stringval@@trueval@@zeroval@ | ||
| 96 | |||
| 97 | // ${} substition | ||
| 98 | |||
| 99 | // no substition | ||
| 100 | // ${noval} | ||
| 101 | |||
| 102 | // no substition | ||
| 103 | // ${noval}${noval} | ||
| 104 | |||
| 105 | // no substition | ||
| 106 | // ${noval}.${noval} | ||
| 107 | |||
| 108 | // 1 | ||
| 109 | // ${trueval} | ||
| 110 | |||
| 111 | // 0 | ||
| 112 | // ${falseval} | ||
| 113 | |||
| 114 | // 10 | ||
| 115 | // ${trueval}${falseval} | ||
| 116 | |||
| 117 | // 0.1 | ||
| 118 | // ${falseval}.${trueval} | ||
| 119 | |||
| 120 | // 0 | ||
| 121 | // ${zeroval} | ||
| 122 | |||
| 123 | // 1 | ||
| 124 | // ${oneval} | ||
| 125 | |||
| 126 | // 10 | ||
| 127 | // ${tenval} | ||
| 128 | |||
| 129 | // 01 | ||
| 130 | // ${zeroval}${oneval} | ||
| 131 | |||
| 132 | // 0.10 | ||
| 133 | // ${zeroval}.${tenval} | ||
| 134 | |||
| 135 | // test | ||
| 136 | // ${stringval} | ||
| 137 | |||
| 138 | // testtest | ||
| 139 | // ${stringval}${stringval} | ||
| 140 | |||
| 141 | // test.test | ||
| 142 | // ${stringval}.${stringval} | ||
| 143 | |||
| 144 | // test10 | ||
| 145 | // ${noval}${stringval}${trueval}${zeroval} | ||
test/standalone/cmakedefine/expected.h deleted-145| ... | @@ -1,145 +0,0 @@ | ||
| 1 | // cmakedefine | ||
| 2 | // undefined | ||
| 3 | /* #undef noval */ | ||
| 4 | |||
| 5 | // 1 | ||
| 6 | #define trueval 1 | ||
| 7 | |||
| 8 | // undefined | ||
| 9 | /* #undef falseval */ | ||
| 10 | |||
| 11 | // undefined | ||
| 12 | /* #undef zeroval */ | ||
| 13 | |||
| 14 | // 1 | ||
| 15 | #define oneval 1 | ||
| 16 | |||
| 17 | // 1 | ||
| 18 | #define tenval 1 | ||
| 19 | |||
| 20 | // 1 | ||
| 21 | #define stringval 1 | ||
| 22 | |||
| 23 | |||
| 24 | // cmakedefine01 | ||
| 25 | // 0 | ||
| 26 | #define boolnoval 0 | ||
| 27 | |||
| 28 | // 1 | ||
| 29 | #define booltrueval 1 | ||
| 30 | |||
| 31 | // 0 | ||
| 32 | #define boolfalseval 0 | ||
| 33 | |||
| 34 | // 0 | ||
| 35 | #define boolzeroval 0 | ||
| 36 | |||
| 37 | // 1 | ||
| 38 | #define booloneval 1 | ||
| 39 | |||
| 40 | // 1 | ||
| 41 | #define booltenval 1 | ||
| 42 | |||
| 43 | // 1 | ||
| 44 | #define boolstringval 1 | ||
| 45 | |||
| 46 | |||
| 47 | // @ substition | ||
| 48 | |||
| 49 | // no substition | ||
| 50 | // | ||
| 51 | |||
| 52 | // no substition | ||
| 53 | // | ||
| 54 | |||
| 55 | // no substition | ||
| 56 | // . | ||
| 57 | |||
| 58 | // 1 | ||
| 59 | // 1 | ||
| 60 | |||
| 61 | // 0 | ||
| 62 | // 0 | ||
| 63 | |||
| 64 | // 10 | ||
| 65 | // 10 | ||
| 66 | |||
| 67 | // 0.1 | ||
| 68 | // 0.1 | ||
| 69 | |||
| 70 | // 0 | ||
| 71 | // 0 | ||
| 72 | |||
| 73 | // 1 | ||
| 74 | // 1 | ||
| 75 | |||
| 76 | // 10 | ||
| 77 | // 10 | ||
| 78 | |||
| 79 | // 01 | ||
| 80 | // 01 | ||
| 81 | |||
| 82 | // 0.10 | ||
| 83 | // 0.10 | ||
| 84 | |||
| 85 | // test | ||
| 86 | // test | ||
| 87 | |||
| 88 | // testtest | ||
| 89 | // testtest | ||
| 90 | |||
| 91 | // test.test | ||
| 92 | // test.test | ||
| 93 | |||
| 94 | // test10 | ||
| 95 | // test10 | ||
| 96 | |||
| 97 | // substition | ||
| 98 | |||
| 99 | // no substition | ||
| 100 | // | ||
| 101 | |||
| 102 | // no substition | ||
| 103 | // | ||
| 104 | |||
| 105 | // no substition | ||
| 106 | // . | ||
| 107 | |||
| 108 | // 1 | ||
| 109 | // 1 | ||
| 110 | |||
| 111 | // 0 | ||
| 112 | // 0 | ||
| 113 | |||
| 114 | // 10 | ||
| 115 | // 10 | ||
| 116 | |||
| 117 | // 0.1 | ||
| 118 | // 0.1 | ||
| 119 | |||
| 120 | // 0 | ||
| 121 | // 0 | ||
| 122 | |||
| 123 | // 1 | ||
| 124 | // 1 | ||
| 125 | |||
| 126 | // 10 | ||
| 127 | // 10 | ||
| 128 | |||
| 129 | // 01 | ||
| 130 | // 01 | ||
| 131 | |||
| 132 | // 0.10 | ||
| 133 | // 0.10 | ||
| 134 | |||
| 135 | // test | ||
| 136 | // test | ||
| 137 | |||
| 138 | // testtest | ||
| 139 | // testtest | ||
| 140 | |||
| 141 | // test.test | ||
| 142 | // test.test | ||
| 143 | |||
| 144 | // test10 | ||
| 145 | // test10 | ||
test/standalone/cmakedefine/expected_config.h created+145| ... | @@ -0,0 +1,145 @@ | ||
| 1 | // cmakedefine | ||
| 2 | // undefined | ||
| 3 | /* #undef noval */ | ||
| 4 | |||
| 5 | // 1 | ||
| 6 | #define trueval 1 | ||
| 7 | |||
| 8 | // undefined | ||
| 9 | /* #undef falseval */ | ||
| 10 | |||
| 11 | // undefined | ||
| 12 | /* #undef zeroval */ | ||
| 13 | |||
| 14 | // 1 | ||
| 15 | #define oneval 1 | ||
| 16 | |||
| 17 | // 1 | ||
| 18 | #define tenval 1 | ||
| 19 | |||
| 20 | // 1 | ||
| 21 | #define stringval 1 | ||
| 22 | |||
| 23 | |||
| 24 | // cmakedefine01 | ||
| 25 | // 0 | ||
| 26 | #define boolnoval 0 | ||
| 27 | |||
| 28 | // 1 | ||
| 29 | #define booltrueval 1 | ||
| 30 | |||
| 31 | // 0 | ||
| 32 | #define boolfalseval 0 | ||
| 33 | |||
| 34 | // 0 | ||
| 35 | #define boolzeroval 0 | ||
| 36 | |||
| 37 | // 1 | ||
| 38 | #define booloneval 1 | ||
| 39 | |||
| 40 | // 1 | ||
| 41 | #define booltenval 1 | ||
| 42 | |||
| 43 | // 1 | ||
| 44 | #define boolstringval 1 | ||
| 45 | |||
| 46 | |||
| 47 | // @ substition | ||
| 48 | |||
| 49 | // no substition | ||
| 50 | // | ||
| 51 | |||
| 52 | // no substition | ||
| 53 | // | ||
| 54 | |||
| 55 | // no substition | ||
| 56 | // . | ||
| 57 | |||
| 58 | // 1 | ||
| 59 | // 1 | ||
| 60 | |||
| 61 | // 0 | ||
| 62 | // 0 | ||
| 63 | |||
| 64 | // 10 | ||
| 65 | // 10 | ||
| 66 | |||
| 67 | // 0.1 | ||
| 68 | // 0.1 | ||
| 69 | |||
| 70 | // 0 | ||
| 71 | // 0 | ||
| 72 | |||
| 73 | // 1 | ||
| 74 | // 1 | ||
| 75 | |||
| 76 | // 10 | ||
| 77 | // 10 | ||
| 78 | |||
| 79 | // 01 | ||
| 80 | // 01 | ||
| 81 | |||
| 82 | // 0.10 | ||
| 83 | // 0.10 | ||
| 84 | |||
| 85 | // test | ||
| 86 | // test | ||
| 87 | |||
| 88 | // testtest | ||
| 89 | // testtest | ||
| 90 | |||
| 91 | // test.test | ||
| 92 | // test.test | ||
| 93 | |||
| 94 | // test10 | ||
| 95 | // test10 | ||
| 96 | |||
| 97 | // substition | ||
| 98 | |||
| 99 | // no substition | ||
| 100 | // | ||
| 101 | |||
| 102 | // no substition | ||
| 103 | // | ||
| 104 | |||
| 105 | // no substition | ||
| 106 | // . | ||
| 107 | |||
| 108 | // 1 | ||
| 109 | // 1 | ||
| 110 | |||
| 111 | // 0 | ||
| 112 | // 0 | ||
| 113 | |||
| 114 | // 10 | ||
| 115 | // 10 | ||
| 116 | |||
| 117 | // 0.1 | ||
| 118 | // 0.1 | ||
| 119 | |||
| 120 | // 0 | ||
| 121 | // 0 | ||
| 122 | |||
| 123 | // 1 | ||
| 124 | // 1 | ||
| 125 | |||
| 126 | // 10 | ||
| 127 | // 10 | ||
| 128 | |||
| 129 | // 01 | ||
| 130 | // 01 | ||
| 131 | |||
| 132 | // 0.10 | ||
| 133 | // 0.10 | ||
| 134 | |||
| 135 | // test | ||
| 136 | // test | ||
| 137 | |||
| 138 | // testtest | ||
| 139 | // testtest | ||
| 140 | |||
| 141 | // test.test | ||
| 142 | // test.test | ||
| 143 | |||
| 144 | // test10 | ||
| 145 | // test10 | ||
test/standalone/cmakedefine/expected_error.h created+5| ... | @@ -0,0 +1,5 @@ | ||
| 1 | // bad interleave | ||
| 2 | #define @STRV${AL_AT@TEXT} | ||
| 3 | |||
| 4 | // bad interleave | ||
| 5 | #define ${STRV@AL_AT}TEXT@ | ||
test/standalone/cmakedefine/expected_pwd.sh created+1| ... | @@ -0,0 +1 @@ | ||
| 1 | echo ${PWD} | ||
test/standalone/cmakedefine/expected_sigil.h created+5| ... | @@ -0,0 +1,5 @@ | ||
| 1 | #define VAR | ||
| 2 | #define AT @ | ||
| 3 | #define ATAT @@ | ||
| 4 | #define ATATAT @@@ | ||
| 5 | #define ATATATAT @@@@ | ||
test/standalone/cmakedefine/expected_stack.h created+7| ... | @@ -0,0 +1,7 @@ | ||
| 1 | #define NEST_UNDERSCORE_PROXY NEST_UNDERSCORE_PROXY | ||
| 2 | #define UNDERSCORE UNDERSCORE | ||
| 3 | |||
| 4 | #define NEST_UNDERSCORE_PROXY NEST_UNDERSCORE_PROXY | ||
| 5 | #define UNDERSCORE UNDERSCORE | ||
| 6 | |||
| 7 | #define (empty) | ||
test/standalone/cmakedefine/expected_wrapper.h created+30| ... | @@ -0,0 +1,30 @@ | ||
| 1 | // becomes TEXT | ||
| 2 | #define TEXT | ||
| 3 | #define TEXT | ||
| 4 | |||
| 5 | // becomes `at`TEXT`at` | ||
| 6 | #define @TEXT@ | ||
| 7 | #define @TEXT@ | ||
| 8 | |||
| 9 | // becomes TRAP | ||
| 10 | #define TRAP | ||
| 11 | |||
| 12 | // becomes `dollar sign`{STRING} | ||
| 13 | #define ${STRING} | ||
| 14 | #define ${STRING} | ||
| 15 | |||
| 16 | // becomes `dollar sign`{STRING} | ||
| 17 | #define ${STRING} | ||
| 18 | #define ${STRING} | ||
| 19 | |||
| 20 | // becomes `dollar sign`{TEXT} | ||
| 21 | #define ${TEXT} | ||
| 22 | #define ${TEXT} | ||
| 23 | |||
| 24 | // becomes `at`STRING`at` | ||
| 25 | #define @STRING@ | ||
| 26 | #define @STRING@ | ||
| 27 | |||
| 28 | // becomes `empty` | ||
| 29 | #define | ||
| 30 | #define | ||
test/standalone/cmakedefine/pwd.sh.in created+1| ... | @@ -0,0 +1 @@ | ||
| 1 | echo @DIR@ | ||
test/standalone/cmakedefine/sigil.h.in created+5| ... | @@ -0,0 +1,5 @@ | ||
| 1 | #define VAR ${} | ||
| 2 | #define AT @ | ||
| 3 | #define ATAT @@ | ||
| 4 | #define ATATAT @@@ | ||
| 5 | #define ATATATAT @@@@ | ||
test/standalone/cmakedefine/stack.h.in created+7| ... | @@ -0,0 +1,7 @@ | ||
| 1 | #define NEST_UNDERSCORE_PROXY ${NEST${UNDERSCORE}PROXY} | ||
| 2 | #define UNDERSCORE @NEST@UNDERSCORE@PROXY@ | ||
| 3 | |||
| 4 | #define NEST_UNDERSCORE_PROXY ${NEST${${NEST_UNDERSCORE${UNDERSCORE}PROXY}}PROXY} | ||
| 5 | #define UNDERSCORE @NEST@@NEST_UNDERSCORE@UNDERSCORE@PROXY@@PROXY@ | ||
| 6 | |||
| 7 | #define (empty) ${NEST${${AT}UNDERSCORE${AT}}PROXY} | ||
test/standalone/cmakedefine/wrapper.h.in created+30| ... | @@ -0,0 +1,30 @@ | ||
| 1 | // becomes TEXT | ||
| 2 | #define @STRING@ | ||
| 3 | #define ${STRING} | ||
| 4 | |||
| 5 | // becomes `at`TEXT`at` | ||
| 6 | #define @${STRING}@ | ||
| 7 | #define @@STRING@@ | ||
| 8 | |||
| 9 | // becomes TRAP | ||
| 10 | #define ${@STRING@} | ||
| 11 | |||
| 12 | // becomes `dollar sign`{STRING} | ||
| 13 | #define $@STRING_CURLY@ | ||
| 14 | #define $${STRING_CURLY} | ||
| 15 | |||
| 16 | // becomes `dollar sign`{STRING} | ||
| 17 | #define @STRING_VAR@ | ||
| 18 | #define ${STRING_VAR} | ||
| 19 | |||
| 20 | // becomes `dollar sign`{TEXT} | ||
| 21 | #define ${DOLLAR}{${STRING}} | ||
| 22 | #define @DOLLAR@{${STRING}} | ||
| 23 | |||
| 24 | // becomes `at`STRING`at` | ||
| 25 | #define ${STRING_AT} | ||
| 26 | #define @STRING_AT@ | ||
| 27 | |||
| 28 | // becomes `empty` | ||
| 29 | #define ${${STRING_VAR}} | ||
| 30 | #define ${@STRING_VAR@} | ||