29 lines
1.1 KiB
CMake
29 lines
1.1 KiB
CMake
# Check whether the user has Stimulus on its PATH
|
|
find_program(STIMULUS_COMMAND stimulus)
|
|
|
|
# Add a custom targer that checks functions.yaml and types.yaml
|
|
if(STIMULUS_COMMAND)
|
|
add_custom_command(
|
|
OUTPUT test_stimulus_specifications.cpp
|
|
COMMAND ${STIMULUS_COMMAND}
|
|
-l ci:validate
|
|
-f ${CMAKE_CURRENT_SOURCE_DIR}/functions.yaml
|
|
-t ${CMAKE_CURRENT_SOURCE_DIR}/types.yaml
|
|
-o test_stimulus_specifications.cpp
|
|
DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/functions.yaml
|
|
${CMAKE_CURRENT_SOURCE_DIR}/types.yaml
|
|
COMMENT "Generating C++ checker for Stimulus function and type specifications..."
|
|
USES_TERMINAL
|
|
)
|
|
add_executable(test_stimulus test_stimulus_specifications.cpp)
|
|
target_include_directories(test_stimulus PRIVATE ${CMAKE_SOURCE_DIR}/include ${CMAKE_BINARY_DIR}/include)
|
|
|
|
add_custom_target(
|
|
check_stimulus
|
|
COMMAND test_stimulus
|
|
DEPENDS test_stimulus
|
|
COMMENT "Running C++ checker for Stimulus function and type specifications..."
|
|
)
|
|
endif(STIMULUS_COMMAND)
|