Skip to content

Commit a4c596e

Browse files
authored
Merge pull request #585 from elbeno/more-gen-str-args
✨ Plumb extra arguments to `gen_str_catalog`
2 parents a7a8034 + 239930b commit a4c596e

File tree

2 files changed

+33
-4
lines changed

2 files changed

+33
-4
lines changed

cmake/string_catalog.cmake

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
function(gen_str_catalog)
22
set(options FORGET_OLD_IDS)
3-
set(oneValueArgs OUTPUT_CPP OUTPUT_XML OUTPUT_JSON GEN_STR_CATALOG
4-
OUTPUT_LIB)
3+
set(oneValueArgs
4+
OUTPUT_CPP
5+
OUTPUT_XML
6+
OUTPUT_JSON
7+
GEN_STR_CATALOG
8+
OUTPUT_LIB
9+
CLIENT_NAME
10+
VERSION
11+
GUID_ID
12+
GUID_MASK)
513
set(multiValueArgs INPUT_JSON INPUT_LIBS INPUT_HEADERS STABLE_JSON)
614
cmake_parse_arguments(SC "${options}" "${oneValueArgs}" "${multiValueArgs}"
715
${ARGN})
@@ -34,6 +42,18 @@ function(gen_str_catalog)
3442
if(SC_FORGET_OLD_IDS)
3543
set(FORGET_ARG "--forget_old_ids")
3644
endif()
45+
if(SC_CLIENT_NAME)
46+
set(CLIENT_NAME_ARG --client_name ${SC_CLIENT_NAME})
47+
endif()
48+
if(SC_VERSION)
49+
set(VERSION_ARG --version ${SC_VERSION})
50+
endif()
51+
if(SC_GUID_ID)
52+
set(GUID_ID_ARG --guid_id ${SC_GUID_ID})
53+
endif()
54+
if(SC_GUID_MASK)
55+
set(GUID_MASK_ARG --guid_mask ${SC_GUID_MASK})
56+
endif()
3757

3858
add_custom_command(
3959
OUTPUT ${SC_OUTPUT_CPP} ${SC_OUTPUT_JSON} ${SC_OUTPUT_XML}
@@ -42,7 +62,8 @@ function(gen_str_catalog)
4262
--json_input ${SC_INPUT_JSON} --cpp_headers ${SC_INPUT_HEADERS}
4363
--cpp_output ${SC_OUTPUT_CPP} --json_output ${SC_OUTPUT_JSON}
4464
--xml_output ${SC_OUTPUT_XML} --stable_json ${SC_STABLE_JSON}
45-
${FORGET_ARG}
65+
${FORGET_ARG} ${CLIENT_NAME_ARG} ${VERSION_ARG} ${GUID_ID_ARG}
66+
${GUID_MASK_ARG}
4667
DEPENDS ${UNDEFS} ${INPUT_JSON} ${SC_GEN_STR_CATALOG} ${SC_STABLE_JSON}
4768
COMMAND_EXPAND_LISTS)
4869
if(SC_OUTPUT_LIB)

test/CMakeLists.txt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,15 @@ gen_str_catalog(
9494
STABLE_JSON
9595
log/stable_strings.json
9696
INPUT_HEADERS
97-
log/catalog_enums.hpp)
97+
log/catalog_enums.hpp
98+
CLIENT_NAME
99+
"test"
100+
VERSION
101+
"test version"
102+
GUID_ID
103+
"01234567-89ab-cdef-0123-456789abcdef"
104+
GUID_MASK
105+
"ffffffff-ffff-ffff-ffff-ffffffffffff")
98106

99107
add_library(catalog_strings STATIC ${CMAKE_CURRENT_BINARY_DIR}/strings.cpp)
100108
target_link_libraries(catalog_strings PUBLIC cib)

0 commit comments

Comments
 (0)