Skip to content

Commit

Permalink
cts: Fix messages check.
Browse files Browse the repository at this point in the history
Signed-off-by: Christian Costa <[email protected]>
  • Loading branch information
titan73 committed Dec 21, 2024
1 parent 3e6132d commit f047e93
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 1 deletion.
62 changes: 62 additions & 0 deletions src/cmake/messages.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -95,3 +95,65 @@ function(messages)
WORKING_DIRECTORY ${SOURCE_DIR}
)
endfunction()

function(messages_multi)

# Parse args
set(options LOCAL)
set(oneValueArgs TARGET OUTPUT_DIR SOURCE_DIR)
set(multiValueArgs DEPENDS)

cmake_parse_arguments(
ARG # prefix on the parsed args
"${options}"
"${oneValueArgs}"
"${multiValueArgs}"
${ARGN}
)

# Validate args
if (DEFINED ARG_UNPARSED_ARGUMENTS)
message(FATAL_ERROR "Unknown argument(s) to swig_lib: ${ARG_UNPARSED_ARGUMENTS}")
endif()

if (DEFINED ARG_KEYWORDS_MISSING_VALUES)
message(FATAL_ERROR "Missing value for argument(s) to swig_lib: ${ARG_KEYWORDS_MISSING_VALUES}")
endif()

if (NOT DEFINED ARG_TARGET)
message(FATAL_ERROR "TARGET argument must be provided to messages")
endif()

if (DEFINED ARG_OUTPUT_DIR)
set(OUTPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${ARG_OUTPUT_DIR})
set(OUTPUT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/${ARG_OUTPUT_DIR})
else()
set(OUTPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(OUTPUT_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
endif()

if (DEFINED ARG_SOURCE_DIR)
set(SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/${ARG_SOURCE_DIR})
else()
set(SOURCE_DIR ${OUTPUT_DIR})
endif()

if (${ARG_LOCAL})
set(local '--local')
endif()

add_custom_command(
OUTPUT messages_checked
COMMAND ${CMAKE_SOURCE_DIR}/etc/find_messages.py
${local}
> ${OUTPUT_DIR}/messages.txt
&& touch ${OUTPUT_BUILD_DIR}/messages_checked
WORKING_DIRECTORY ${SOURCE_DIR}
DEPENDS ${ARG_DEPS}
)

add_custom_target(${ARG_TARGET}_messages DEPENDS messages_checked)

add_dependencies(${ARG_TARGET} ${ARG_TARGET}_messages)

endfunction()
3 changes: 2 additions & 1 deletion src/cts/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,9 @@ target_link_libraries(cts
gui
)

messages(
messages_multi(
TARGET cts
DEPENDS cts_lib
OUTPUT_DIR ..
)

Expand Down

0 comments on commit f047e93

Please sign in to comment.