diff --git a/CMakeLists.txt b/CMakeLists.txt index f744b95..61eacb1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,7 +11,7 @@ set(META_APP_CATEGORIES "Utility;") set(META_GUI_OPTIONAL false) set(META_VERSION_MAJOR 0) set(META_VERSION_MINOR 0) -set(META_VERSION_PATCH 12) +set(META_VERSION_PATCH 13) set(META_APP_VERSION ${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH}) set(META_CXX_STANDARD 17) set(META_ADD_DEFAULT_CPP_UNIT_TEST_APPLICATION ON) diff --git a/lib/cmake/modules/ReflectionGenerator.cmake b/lib/cmake/modules/ReflectionGenerator.cmake index 237f148..cb07cc3 100644 --- a/lib/cmake/modules/ReflectionGenerator.cmake +++ b/lib/cmake/modules/ReflectionGenerator.cmake @@ -67,6 +67,10 @@ set(REFLECTION_GENERATOR_TRIPLE "" CACHE STRING "platform triple for code generator") +function (_reflective_rapidjson_set_prop TARGET_NAME PROPERTY_NAME) + set(PROP "$,EXCLUDE,^$>" PARENT_SCOPE) +endfunction () + # define helper function to add a reflection generator invocation for a specified list of source files include(CMakeParseArguments) function (add_reflection_generator_invocation) @@ -120,13 +124,13 @@ function (add_reflection_generator_invocation) # set c++ standard list(APPEND ARGS_CLANG_OPTIONS "-std=c++$") # add compile flags - set(PROP "$") + _reflective_rapidjson_set_prop("${TARGET_NAME}" COMPILE_FLAGS) list(APPEND ARGS_CLANG_OPTIONS "$<$:$>>") # add compile definitions - set(PROP "$") + _reflective_rapidjson_set_prop("${TARGET_NAME}" COMPILE_DEFINITIONS) list(APPEND ARGS_CLANG_OPTIONS "$<$:-D$-D>>") # add include directories - set(PROP "$") + _reflective_rapidjson_set_prop("${TARGET_NAME}" INCLUDE_DIRECTORIES) list(APPEND ARGS_CLANG_OPTIONS "$<$:-I$-I>>") endforeach () endif () @@ -136,13 +140,13 @@ function (add_reflection_generator_invocation) continue() endif () # add interface compile options - set(PROP "$") + _reflective_rapidjson_set_prop("${TARGET_NAME}" INTERFACE_COMPILE_OPTIONS) list(APPEND ARGS_CLANG_OPTIONS "$<$:$>>") # add interface compile definitions - set(PROP "$") + _reflective_rapidjson_set_prop("${TARGET_NAME}" INTERFACE_COMPILE_DEFINITIONS) list(APPEND ARGS_CLANG_OPTIONS "$<$:-D$-D>>") # add interface include directories - set(PROP "$") + _reflective_rapidjson_set_prop("${TARGET_NAME}" INTERFACE_INCLUDE_DIRECTORIES) list(APPEND ARGS_CLANG_OPTIONS "$<$:-I$-I>>") endforeach () endif ()