Skip to content

Commit 0e143b5

Browse files
committed
Split benchmark resource copy into separate target
Performing copy once before other targets may avoid intermittent build failures
1 parent 8232ec6 commit 0e143b5

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

bench/CMakeLists.txt

+7-5
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@ set(BENCH_SOURCES
1212
src/template.cpp
1313
)
1414

15+
add_custom_target(benchmark_resources
16+
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/scenes ${CMAKE_BINARY_DIR}/res
17+
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/bench/test_tile_10_301_384.mvt ${CMAKE_BINARY_DIR}/res/tile.mvt
18+
COMMENT "Copying benchmark resources into build directory."
19+
)
20+
1521
# create an executable per bench
1622
foreach(_src_file_path ${BENCH_SOURCES})
1723
string(REPLACE ".cpp" "" bench ${_src_file_path})
@@ -48,11 +54,7 @@ foreach(_src_file_path ${BENCH_SOURCES})
4854
target_compile_definitions(${EXECUTABLE_NAME} PRIVATE TANGRAM_USE_JSCORE=1)
4955
endif()
5056

51-
add_custom_command(TARGET ${EXECUTABLE_NAME}
52-
POST_BUILD
53-
COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/scenes ${CMAKE_BINARY_DIR}/res
54-
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/bench/test_tile_10_301_384.mvt ${CMAKE_BINARY_DIR}/res/tile.mvt
55-
)
57+
add_dependencies(${EXECUTABLE_NAME} benchmark_resources)
5658

5759
endforeach()
5860

0 commit comments

Comments
 (0)