forked from bblanchon/ArduinoJson
Added CMake "install" target (closes #1209)
This commit is contained in:
@ -7,6 +7,7 @@ HEAD
|
|||||||
* Fixed "maybe-uninitialized" warning (issue #1217)
|
* Fixed "maybe-uninitialized" warning (issue #1217)
|
||||||
* Fixed "statement is unreachable" warning on IAR (issue #1233)
|
* Fixed "statement is unreachable" warning on IAR (issue #1233)
|
||||||
* Fixed "pointless integer comparison" warning on IAR (issue #1233)
|
* Fixed "pointless integer comparison" warning on IAR (issue #1233)
|
||||||
|
* Added CMake "install" target (issue #1209)
|
||||||
|
|
||||||
v6.15.0 (2020-03-22)
|
v6.15.0 (2020-03-22)
|
||||||
-------
|
-------
|
||||||
|
@ -5,6 +5,8 @@
|
|||||||
cmake_minimum_required(VERSION 3.0)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
project(ArduinoJson)
|
project(ArduinoJson)
|
||||||
|
|
||||||
|
set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY true)
|
||||||
|
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
||||||
add_definitions(-DARDUINOJSON_DEBUG=1)
|
add_definitions(-DARDUINOJSON_DEBUG=1)
|
||||||
@ -37,6 +39,6 @@ if(${COVERAGE})
|
|||||||
set(CMAKE_CXX_FLAGS "-fprofile-arcs -ftest-coverage")
|
set(CMAKE_CXX_FLAGS "-fprofile-arcs -ftest-coverage")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories(${CMAKE_CURRENT_LIST_DIR}/src)
|
add_subdirectory(src)
|
||||||
add_subdirectory(extras/tests)
|
add_subdirectory(extras/tests)
|
||||||
add_subdirectory(extras/fuzzing)
|
add_subdirectory(extras/fuzzing)
|
||||||
|
4
extras/ArduinoJsonConfig.cmake.in
Normal file
4
extras/ArduinoJsonConfig.cmake.in
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
@PACKAGE_INIT@
|
||||||
|
|
||||||
|
include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
|
||||||
|
check_required_components("@PROJECT_NAME@")
|
@ -10,8 +10,14 @@ add_executable(msgpack_fuzzer
|
|||||||
msgpack_fuzzer.cpp
|
msgpack_fuzzer.cpp
|
||||||
fuzzer_main.cpp
|
fuzzer_main.cpp
|
||||||
)
|
)
|
||||||
|
target_link_libraries(msgpack_fuzzer
|
||||||
|
ArduinoJson
|
||||||
|
)
|
||||||
|
|
||||||
add_executable(json_fuzzer
|
add_executable(json_fuzzer
|
||||||
json_fuzzer.cpp
|
json_fuzzer.cpp
|
||||||
fuzzer_main.cpp
|
fuzzer_main.cpp
|
||||||
)
|
)
|
||||||
|
target_link_libraries(json_fuzzer
|
||||||
|
ArduinoJson
|
||||||
|
)
|
||||||
|
@ -11,5 +11,9 @@ add_executable(ElementProxyTests
|
|||||||
size.cpp
|
size.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(ElementProxyTests catch)
|
target_link_libraries(ElementProxyTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
add_test(ElementProxy ElementProxyTests)
|
add_test(ElementProxy ElementProxyTests)
|
||||||
|
@ -16,5 +16,9 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(IntegrationTests catch)
|
target_link_libraries(IntegrationTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
add_test(IntegrationTests IntegrationTests)
|
add_test(IntegrationTests IntegrationTests)
|
||||||
|
@ -19,5 +19,9 @@ add_executable(JsonArrayTests
|
|||||||
undefined.cpp
|
undefined.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(JsonArrayTests catch)
|
target_link_libraries(JsonArrayTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
add_test(JsonArray JsonArrayTests)
|
add_test(JsonArray JsonArrayTests)
|
||||||
|
@ -18,7 +18,11 @@ add_executable(JsonDeserializerTests
|
|||||||
string.cpp
|
string.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(JsonDeserializerTests catch)
|
target_link_libraries(JsonDeserializerTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
set_target_properties(JsonDeserializerTests PROPERTIES UNITY_BUILD OFF)
|
set_target_properties(JsonDeserializerTests PROPERTIES UNITY_BUILD OFF)
|
||||||
|
|
||||||
add_test(JsonDeserializer JsonDeserializerTests)
|
add_test(JsonDeserializer JsonDeserializerTests)
|
||||||
|
@ -18,5 +18,9 @@ add_executable(JsonDocumentTests
|
|||||||
subscript.cpp
|
subscript.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(JsonDocumentTests catch)
|
target_link_libraries(JsonDocumentTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
add_test(JsonDocument JsonDocumentTests)
|
add_test(JsonDocument JsonDocumentTests)
|
||||||
|
@ -19,5 +19,9 @@ add_executable(JsonObjectTests
|
|||||||
subscript.cpp
|
subscript.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(JsonObjectTests catch)
|
target_link_libraries(JsonObjectTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
add_test(JsonObject JsonObjectTests)
|
add_test(JsonObject JsonObjectTests)
|
||||||
|
@ -14,5 +14,9 @@ add_executable(JsonSerializerTests
|
|||||||
std_string.cpp
|
std_string.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(JsonSerializerTests catch)
|
target_link_libraries(JsonSerializerTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
add_test(JsonSerializer JsonSerializerTests)
|
add_test(JsonSerializer JsonSerializerTests)
|
||||||
|
@ -24,5 +24,9 @@ add_executable(JsonVariantTests
|
|||||||
undefined.cpp
|
undefined.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(JsonVariantTests catch)
|
target_link_libraries(JsonVariantTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
add_test(JsonVariant JsonVariantTests)
|
add_test(JsonVariant JsonVariantTests)
|
||||||
|
@ -13,5 +13,9 @@ add_executable(MemberProxyTests
|
|||||||
subscript.cpp
|
subscript.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(MemberProxyTests catch)
|
target_link_libraries(MemberProxyTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
add_test(MemberProxy MemberProxyTests)
|
add_test(MemberProxy MemberProxyTests)
|
||||||
|
@ -10,5 +10,9 @@ add_executable(MemoryPoolTests
|
|||||||
StringBuilder.cpp
|
StringBuilder.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(MemoryPoolTests catch)
|
target_link_libraries(MemoryPoolTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
add_test(MemoryPool MemoryPoolTests)
|
add_test(MemoryPool MemoryPoolTests)
|
||||||
|
@ -15,7 +15,11 @@ add_executable(MiscTests
|
|||||||
version.cpp
|
version.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(MiscTests catch)
|
target_link_libraries(MiscTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
set_target_properties(MiscTests PROPERTIES UNITY_BUILD OFF)
|
set_target_properties(MiscTests PROPERTIES UNITY_BUILD OFF)
|
||||||
|
|
||||||
add_test(Misc MiscTests)
|
add_test(Misc MiscTests)
|
||||||
|
@ -22,7 +22,11 @@ add_executable(MixedConfigurationTests
|
|||||||
enable_comments_0.cpp
|
enable_comments_0.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(MixedConfigurationTests catch)
|
target_link_libraries(MixedConfigurationTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
set_target_properties(MixedConfigurationTests PROPERTIES UNITY_BUILD OFF)
|
set_target_properties(MixedConfigurationTests PROPERTIES UNITY_BUILD OFF)
|
||||||
|
|
||||||
add_test(MixedConfiguration MixedConfigurationTests)
|
add_test(MixedConfiguration MixedConfigurationTests)
|
||||||
|
@ -14,5 +14,9 @@ add_executable(MsgPackDeserializerTests
|
|||||||
notSupported.cpp
|
notSupported.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(MsgPackDeserializerTests catch)
|
target_link_libraries(MsgPackDeserializerTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
add_test(MsgPackDeserializer MsgPackDeserializerTests)
|
add_test(MsgPackDeserializer MsgPackDeserializerTests)
|
||||||
|
@ -11,5 +11,9 @@ add_executable(MsgPackSerializerTests
|
|||||||
serializeVariant.cpp
|
serializeVariant.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(MsgPackSerializerTests catch)
|
target_link_libraries(MsgPackSerializerTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
add_test(MsgPackSerializer MsgPackSerializerTests)
|
add_test(MsgPackSerializer MsgPackSerializerTests)
|
||||||
|
@ -8,6 +8,10 @@ add_executable(NumbersTests
|
|||||||
parseNumber.cpp
|
parseNumber.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(NumbersTests catch)
|
target_link_libraries(NumbersTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
add_test(Numbers NumbersTests)
|
add_test(Numbers NumbersTests)
|
||||||
|
@ -7,7 +7,11 @@ add_executable(TextFormatterTests
|
|||||||
writeString.cpp
|
writeString.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(TextFormatterTests catch)
|
target_link_libraries(TextFormatterTests
|
||||||
|
ArduinoJson
|
||||||
|
catch
|
||||||
|
)
|
||||||
|
|
||||||
set_target_properties(TextFormatterTests PROPERTIES UNITY_BUILD OFF)
|
set_target_properties(TextFormatterTests PROPERTIES UNITY_BUILD OFF)
|
||||||
|
|
||||||
add_test(TextFormatter TextFormatterTests)
|
add_test(TextFormatter TextFormatterTests)
|
||||||
|
79
src/CMakeLists.txt
Normal file
79
src/CMakeLists.txt
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
# ArduinoJson - arduinojson.org
|
||||||
|
# Copyright Benoit Blanchon 2014-2020
|
||||||
|
# MIT License
|
||||||
|
|
||||||
|
# I have no idea what this is about, I simply followed the instructions from:
|
||||||
|
# https://dominikberner.ch/cmake-interface-lib/
|
||||||
|
|
||||||
|
add_library(ArduinoJson INTERFACE)
|
||||||
|
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
|
# Adding the install interface generator expression makes sure that the include
|
||||||
|
# files are installed to the proper location (provided by GNUInstallDirs)
|
||||||
|
target_include_directories(ArduinoJson
|
||||||
|
INTERFACE
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
|
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||||
|
)
|
||||||
|
|
||||||
|
# locations are provided by GNUInstallDirs
|
||||||
|
install(
|
||||||
|
TARGETS
|
||||||
|
ArduinoJson
|
||||||
|
EXPORT
|
||||||
|
ArduinoJson_Targets
|
||||||
|
ARCHIVE DESTINATION
|
||||||
|
${CMAKE_INSTALL_LIBDIR}
|
||||||
|
LIBRARY DESTINATION
|
||||||
|
${CMAKE_INSTALL_LIBDIR}
|
||||||
|
RUNTIME DESTINATION
|
||||||
|
${CMAKE_INSTALL_BINDIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
include(CMakePackageConfigHelpers)
|
||||||
|
write_basic_package_version_file(
|
||||||
|
"${PROJECT_BINARY_DIR}/ArduinoJsonConfigVersion.cmake"
|
||||||
|
VERSION
|
||||||
|
6.15.0
|
||||||
|
COMPATIBILITY
|
||||||
|
SameMajorVersion
|
||||||
|
)
|
||||||
|
|
||||||
|
configure_package_config_file(
|
||||||
|
"${PROJECT_SOURCE_DIR}/extras/ArduinoJsonConfig.cmake.in"
|
||||||
|
"${PROJECT_BINARY_DIR}/ArduinoJsonConfig.cmake"
|
||||||
|
INSTALL_DESTINATION
|
||||||
|
${CMAKE_INSTALL_DATAROOTDIR}/ArduinoJson/cmake)
|
||||||
|
|
||||||
|
install(
|
||||||
|
EXPORT
|
||||||
|
ArduinoJson_Targets
|
||||||
|
FILE
|
||||||
|
ArduinoJsonTargets.cmake
|
||||||
|
DESTINATION
|
||||||
|
${CMAKE_INSTALL_DATAROOTDIR}/ArduinoJson/cmake
|
||||||
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
"${PROJECT_BINARY_DIR}/ArduinoJsonConfig.cmake"
|
||||||
|
"${PROJECT_BINARY_DIR}/ArduinoJsonConfigVersion.cmake"
|
||||||
|
DESTINATION
|
||||||
|
"${CMAKE_INSTALL_DATAROOTDIR}/ArduinoJson/cmake"
|
||||||
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES
|
||||||
|
ArduinoJson.h
|
||||||
|
ArduinoJson.hpp
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
||||||
|
|
||||||
|
install(
|
||||||
|
DIRECTORY
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/ArduinoJson"
|
||||||
|
DESTINATION
|
||||||
|
include
|
||||||
|
)
|
Reference in New Issue
Block a user