Skip to content

Commit bdffb35

Browse files
committed
SR-4572 Remove jinja2 dependency from benchmark test harness generation
1 parent 6150894 commit bdffb35

File tree

7 files changed

+227
-316
lines changed

7 files changed

+227
-316
lines changed

benchmark/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
# -*- mode: cmake -*-
22
################################################################################
33
# WARNING: This file is automatically generated from templates and should not
4-
# be directly modified. Instead, make changes to
5-
# scripts/generate_harness/CMakeLists.txt_template and run
4+
# be directly modified. Instead, make changes to CMakeLists.text.gyb and run
65
# scripts/generate_harness/generate_harness.py to regenerate this file.
76
################################################################################
87

benchmark/scripts/generate_harness/CMakeLists.txt_template renamed to benchmark/CMakeLists.txt.gyb

Lines changed: 55 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,45 @@
11
# -*- mode: cmake -*-
2+
% # Ignore the following warning. This _is_ the correct file to edit.
23
################################################################################
34
# WARNING: This file is automatically generated from templates and should not
4-
# be directly modified. Instead, make changes to
5-
# scripts/generate_harness/CMakeLists.txt_template and run
5+
# be directly modified. Instead, make changes to CMakeLists.text.gyb and run
66
# scripts/generate_harness/generate_harness.py to regenerate this file.
77
################################################################################
8+
%{
9+
from gyb_benchmark_support import (
10+
tests,
11+
multisource_benches
12+
)
13+
}%
814

915
cmake_minimum_required(VERSION 2.8.12)
1016

1117
# Add path for custom CMake modules.
1218
list(APPEND CMAKE_MODULE_PATH
13-
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
19+
"$${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
1420

1521
include(AddSwiftBenchmarkSuite)
1622

1723
set(SWIFT_BENCH_MODULES
18-
{% for test in tests %}
19-
single-source/{{ test }}
20-
{% endfor %}
24+
% for test in tests:
25+
single-source/${test}
26+
% end
2127
)
2228

2329
set(SWIFT_MULTISOURCE_BENCHES
24-
{% for multisource_bench in multisource_benches %}
25-
multi-source/{{ multisource_bench.name }}
26-
{% endfor %}
30+
% for multisource_bench in multisource_benches:
31+
multi-source/${multisource_bench.name}
32+
% end
2733
)
2834

29-
{% for multisource_bench in multisource_benches %}
30-
set({{ multisource_bench.name }}_sources
31-
{% for file in multisource_bench.files %}
32-
multi-source/{{ multisource_bench.name }}/{{ file }}
33-
{% endfor %}
35+
% for multisource_bench in multisource_benches:
36+
set(${multisource_bench.name}_sources
37+
% for file in multisource_bench.files:
38+
multi-source/${multisource_bench.name}/${file}
39+
% end
3440
)
3541

36-
{% endfor %}
42+
% end
3743

3844
set(BENCH_DRIVER_LIBRARY_MODULES
3945
utils/DriverUtils
@@ -62,19 +68,19 @@ if(NOT SWIFT_EXEC)
6268
endif()
6369

6470
if(NOT SWIFT_LIBRARY_PATH)
65-
get_filename_component(tmp_dir "${SWIFT_EXEC}" DIRECTORY)
66-
get_filename_component(tmp_dir "${tmp_dir}" DIRECTORY)
67-
set(SWIFT_LIBRARY_PATH "${tmp_dir}/lib/swift")
71+
get_filename_component(tmp_dir "$${SWIFT_EXEC}" DIRECTORY)
72+
get_filename_component(tmp_dir "$${tmp_dir}" DIRECTORY)
73+
set(SWIFT_LIBRARY_PATH "$${tmp_dir}/lib/swift")
6874
endif()
6975

7076
# If the CMAKE_C_COMPILER is already clang, don't find it again,
7177
# thus allowing the --host-cc build-script argument to work here.
72-
get_filename_component(c_compiler ${CMAKE_C_COMPILER} NAME)
78+
get_filename_component(c_compiler $${CMAKE_C_COMPILER} NAME)
7379

74-
if(${c_compiler} STREQUAL "clang")
75-
set(CLANG_EXEC ${CMAKE_C_COMPILER})
80+
if($${c_compiler} STREQUAL "clang")
81+
set(CLANG_EXEC $${CMAKE_C_COMPILER})
7682
else()
77-
runcmd(COMMAND "xcrun" "-toolchain" "${SWIFT_DARWIN_XCRUN_TOOLCHAIN}" "-f" "clang"
83+
runcmd(COMMAND "xcrun" "-toolchain" "$${SWIFT_DARWIN_XCRUN_TOOLCHAIN}" "-f" "clang"
7884
VARIABLE CLANG_EXEC
7985
ERROR "Unable to find Clang driver")
8086
endif()
@@ -90,7 +96,7 @@ Available configurations: <Optlevel>_SINGLEFILE, <Optlevel>_MULTITHREADED")
9096
# where "_<configuration>" is optional.
9197
if(NOT SWIFT_OPTIMIZATION_LEVELS)
9298
set(SWIFT_OPTIMIZATION_LEVELS "Onone" "O" "Ounchecked"
93-
${SWIFT_EXTRA_BENCH_CONFIGS})
99+
$${SWIFT_EXTRA_BENCH_CONFIGS})
94100
endif()
95101

96102
set(SWIFT_BENCHMARK_NUM_O_ITERATIONS "" CACHE STRING
@@ -123,30 +129,30 @@ set(watchos_triple_platform "watchos")
123129

124130
set(sdks)
125131
set(platforms)
126-
foreach(platform ${ONLY_PLATFORMS})
132+
foreach(platform $${ONLY_PLATFORMS})
127133
execute_process(
128-
COMMAND "xcrun" "--sdk" "${platform}" "--show-sdk-path"
129-
OUTPUT_VARIABLE ${platform}_sdk
134+
COMMAND "xcrun" "--sdk" "$${platform}" "--show-sdk-path"
135+
OUTPUT_VARIABLE $${platform}_sdk
130136
RESULT_VARIABLE result
131137
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
132-
if("${result}" MATCHES "0")
133-
list(APPEND sdks "${${platform}_sdk}")
134-
list(APPEND platforms ${platform})
138+
if("$${result}" MATCHES "0")
139+
list(APPEND sdks "$${$${platform}_sdk}")
140+
list(APPEND platforms $${platform})
135141
endif()
136142
endforeach()
137143

138144
message("--")
139145
message("-- Swift Benchmark Suite:")
140-
message("-- SWIFT_EXEC = ${SWIFT_EXEC}")
141-
message("-- SWIFT_LIBRARY_PATH = ${SWIFT_LIBRARY_PATH}")
142-
message("-- CLANG_EXEC = ${CLANG_EXEC}")
143-
message("-- SWIFT_OPTIMIZATION_LEVELS = ${SWIFT_OPTIMIZATION_LEVELS}")
144-
message("-- ONLY_PLATFORMS = ${ONLY_PLATFORMS}")
146+
message("-- SWIFT_EXEC = $${SWIFT_EXEC}")
147+
message("-- SWIFT_LIBRARY_PATH = $${SWIFT_LIBRARY_PATH}")
148+
message("-- CLANG_EXEC = $${CLANG_EXEC}")
149+
message("-- SWIFT_OPTIMIZATION_LEVELS = $${SWIFT_OPTIMIZATION_LEVELS}")
150+
message("-- ONLY_PLATFORMS = $${ONLY_PLATFORMS}")
145151

146-
message("-- found platforms: ${platforms}")
152+
message("-- found platforms: $${platforms}")
147153
message("-- found sdks:")
148-
foreach(sdk ${sdks})
149-
message("-- ${sdk}")
154+
foreach(sdk $${sdks})
155+
message("-- $${sdk}")
150156
endforeach()
151157

152158
set(executable_targets)
@@ -155,27 +161,26 @@ if(SWIFT_SDKS)
155161
set(IS_SWIFT_BUILD true)
156162
endif()
157163

158-
set(srcdir "${CMAKE_CURRENT_SOURCE_DIR}")
164+
set(srcdir "$${CMAKE_CURRENT_SOURCE_DIR}")
159165

160166
if(IS_SWIFT_BUILD)
161-
get_filename_component(swift-bin-dir "${SWIFT_EXEC}" DIRECTORY)
167+
get_filename_component(swift-bin-dir "$${SWIFT_EXEC}" DIRECTORY)
162168
else()
163-
set(swift-bin-dir "${CMAKE_BINARY_DIR}/bin")
169+
set(swift-bin-dir "$${CMAKE_BINARY_DIR}/bin")
164170
endif()
165171

166-
set(benchmark-bin-dir "${CMAKE_CURRENT_BINARY_DIR}/bin")
167-
set(benchmark-lib-dir "${CMAKE_CURRENT_BINARY_DIR}/lib")
168-
set(benchmark-lib-swift-dir "${CMAKE_CURRENT_BINARY_DIR}/lib/swift")
172+
set(benchmark-bin-dir "$${CMAKE_CURRENT_BINARY_DIR}/bin")
173+
set(benchmark-lib-dir "$${CMAKE_CURRENT_BINARY_DIR}/lib")
174+
set(benchmark-lib-swift-dir "$${CMAKE_CURRENT_BINARY_DIR}/lib/swift")
169175

170-
file(MAKE_DIRECTORY "${swift-bin-dir}")
171-
file(MAKE_DIRECTORY "${benchmark-bin-dir}")
172-
file(MAKE_DIRECTORY "${benchmark-lib-dir}")
173-
file(MAKE_DIRECTORY "${benchmark-lib-swift-dir}")
176+
file(MAKE_DIRECTORY "$${swift-bin-dir}")
177+
file(MAKE_DIRECTORY "$${benchmark-bin-dir}")
178+
file(MAKE_DIRECTORY "$${benchmark-lib-dir}")
179+
file(MAKE_DIRECTORY "$${benchmark-lib-swift-dir}")
174180

175181
# Compile the perf test suite for each platform
176-
foreach(platform ${platforms})
177-
swift_benchmark_compile(PLATFORM ${platform})
182+
foreach(platform $${platforms})
183+
swift_benchmark_compile(PLATFORM $${platform})
178184
endforeach()
179185

180186
add_subdirectory(scripts)
181-

0 commit comments

Comments
 (0)