Skip to content

Commit 4476765

Browse files
refactor: make use system cJSON library possible
* When USE_SYSTEM_DEPS is set, follow it. * When USE_SYSTEM_DEPS is unset, try use system cJSON first, and fallback to vendor one if not found. Signed-off-by: Coelacanthus <[email protected]>
1 parent 52b8afb commit 4476765

File tree

5 files changed

+16
-5
lines changed

5 files changed

+16
-5
lines changed

CMakeLists.txt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,18 @@ if(CPACK_GENERATOR)
6565
include(CPack)
6666
endif()
6767

68-
add_subdirectory(cjson)
68+
if (NOT DEFINED USE_SYSTEM_DEPS)
69+
find_package(cJSON)
70+
if (NOT CJSON_FOUND)
71+
add_subdirectory(cjson)
72+
endif()
73+
else()
74+
if (USE_SYSTEM_DEPS)
75+
find_package(cJSON REQUIRED)
76+
else()
77+
add_subdirectory(cjson)
78+
endif()
79+
endif()
6980
add_subdirectory(cjson-ext)
7081
add_subdirectory(euicc)
7182
add_subdirectory(utils)

cjson-ext/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
add_library(cjson-ext OBJECT cjson-ext/cJSON_ex.c)
22
target_include_directories(cjson-ext PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
3-
target_link_libraries(cjson-ext PRIVATE cjson-static)
3+
target_link_libraries(cjson-ext PRIVATE ${CJSON_LIBRARY})
44
target_compile_options(cjson-ext PRIVATE -Wall -Wextra)

driver/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ if(LPAC_DYNAMIC_DRIVERS)
1818
else()
1919
add_library(euicc-drivers STATIC ${DIR_INTERFACE_SRCS})
2020
endif()
21-
target_link_libraries(euicc-drivers euicc cjson-static lpac-utils)
21+
target_link_libraries(euicc-drivers euicc ${CJSON_LIBRARY} lpac-utils)
2222
target_include_directories(euicc-drivers PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
2323

2424
target_sources(euicc-drivers PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/apdu/stdio.c)

euicc/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ if(LPAC_DYNAMIC_LIBEUICC)
55
else()
66
add_library(euicc STATIC ${LIB_EUICC_SRCS})
77
endif()
8-
target_link_libraries(euicc cjson-static cjson-ext)
8+
target_link_libraries(euicc ${CJSON_LIBRARY} cjson-ext)
99
target_include_directories(euicc PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>)
1010
target_compile_options(euicc PRIVATE -Wall -Wextra)
1111
if(LPAC_DYNAMIC_LIBEUICC)

utils/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
add_library(lpac-utils OBJECT lpac/utils.c)
22
target_include_directories(lpac-utils PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
3-
target_link_libraries(lpac-utils PRIVATE cjson-static euicc)
3+
target_link_libraries(lpac-utils PRIVATE ${CJSON_LIBRARY} euicc)
44
target_compile_options(lpac-utils PRIVATE -Wall -Wextra)

0 commit comments

Comments
 (0)