blob: 752c3c3b6f35ef0a1c7c04c0987603b4daac7a94 (
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
|
# Common code used across the different tests
if(NOT DEFINED CBINDGEN_PATH)
message(FATAL_ERROR "Path to cbindgen not specified")
endif()
# Promote to cache
set(CBINDGEN_PATH "${CBINDGEN_PATH}" CACHE INTERNAL "")
function(add_cbindgen_command custom_target_name header_destination)
# Place the depfile always at the same location, so the outer test framework can locate the file easily
set(depfile_destination "${CMAKE_BINARY_DIR}/depfile.d")
add_custom_command(
OUTPUT
"${header_destination}" "${depfile_destination}"
COMMAND
"${CBINDGEN_PATH}"
--output "${header_destination}"
--depfile "${depfile_destination}"
${ARGN}
DEPFILE "${depfile_destination}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMENT "Running cbindgen"
COMMAND_EXPAND_LISTS
)
add_custom_target("${custom_target_name}" ALL DEPENDS "${header_destination}")
endfunction()
|