From f29d88d3bd4d0551f2fc11d4bd91225d7f070bb1 Mon Sep 17 00:00:00 2001 From: Mayank Date: Fri, 12 Jan 2018 10:32:31 -0500 Subject: [PATCH 1/3] Added the option to disable dynamic library and build static instead It's useful for some platform (e.g. iOS) to build the validator as a static lib instead of dynamic. --- CMakeLists.txt | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4159112..eb25b95 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,10 +26,17 @@ if(NOT TARGET json-hpp) endif() # and one for the validator -add_library(json-schema-validator SHARED - src/json-schema-draft4.json.cpp - src/json-uri.cpp - src/json-validator.cpp) +if (JSON_SCHEMA_VALIDATOR_DISABLE_SHARED) + add_library(json-schema-validator STATIC + src/json-schema-draft4.json.cpp + src/json-uri.cpp + src/json-validator.cpp) +else() + add_library(json-schema-validator SHARED + src/json-schema-draft4.json.cpp + src/json-uri.cpp + src/json-validator.cpp) +endif() target_include_directories(json-schema-validator PUBLIC From 5bb8cab1b2e99bb539c3498afb8268d15be0745e Mon Sep 17 00:00:00 2001 From: Mayank Date: Fri, 12 Jan 2018 12:53:48 -0500 Subject: [PATCH 2/3] - Fixed the windows build for a static lib --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index eb25b95..c0fbad9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,9 @@ else() src/json-schema-draft4.json.cpp src/json-uri.cpp src/json-validator.cpp) + target_compile_definitions(json-schema-validator + PRIVATE + -DJSON_SCHEMA_VALIDATOR_SHARED_LIB) endif() target_include_directories(json-schema-validator From 066136874219a120ad2920855c60de6beda88d9b Mon Sep 17 00:00:00 2001 From: Mayank Date: Fri, 12 Jan 2018 12:54:24 -0500 Subject: [PATCH 3/3] - Fixed the windows build for a static lib --- src/json-schema.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/json-schema.hpp b/src/json-schema.hpp index 51f521b..a310ca2 100644 --- a/src/json-schema.hpp +++ b/src/json-schema.hpp @@ -26,7 +26,7 @@ #ifndef NLOHMANN_JSON_SCHEMA_HPP__ #define NLOHMANN_JSON_SCHEMA_HPP__ -#ifdef _WIN32 +#if defined(_WIN32) && defined(JSON_SCHEMA_VALIDATOR_SHARED_LIB) # ifdef JSON_SCHEMA_VALIDATOR_EXPORTS # define JSON_SCHEMA_VALIDATOR_API __declspec(dllexport) # else