diff --git a/components/jsmn/CMakeLists.txt b/components/jsmn/CMakeLists.txt index 0c7a0ab99..d05badb21 100644 --- a/components/jsmn/CMakeLists.txt +++ b/components/jsmn/CMakeLists.txt @@ -1,2 +1,10 @@ idf_component_register(SRCS "src/jsmn.c" INCLUDE_DIRS "include") + +if(CONFIG_JSMN_PARENT_LINKS) + target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DJSMN_PARENT_LINKS") +endif() + +if(CONFIG_JSMN_STRICT) + target_compile_definitions(${COMPONENT_LIB} PUBLIC "-DJSMN_STRICT") +endif() diff --git a/components/jsmn/Kconfig b/components/jsmn/Kconfig new file mode 100644 index 000000000..114fbe42b --- /dev/null +++ b/components/jsmn/Kconfig @@ -0,0 +1,16 @@ +menu "jsmn" + + + config JSMN_PARENT_LINKS + bool "Enable parent links" + default n + help + You can access to parent node of parsed json + + config JSMN_STRICT + bool "Enable strict mode" + default n + help + In strict mode primitives are: numbers and booleans + +endmenu diff --git a/components/jsmn/component.mk b/components/jsmn/component.mk index 96190be50..88f1a9564 100644 --- a/components/jsmn/component.mk +++ b/components/jsmn/component.mk @@ -4,3 +4,11 @@ COMPONENT_ADD_INCLUDEDIRS := include/ COMPONENT_SRCDIRS := src/ + +ifdef CONFIG_JSMN_PARENT_LINKS +src/jsmn.o: CPPFLAGS += -DJSMN_PARENT_LINKS +endif + +ifdef CONFIG_JSMN_STRICT +src/jsmn.o: CPPFLAGS += -DJSMN_STRICT +endif