json-c/ba181548bca566d320899f7b78e5b753c0dba611.patch
2021-07-09 00:22:02 +02:00

81 lines
2.2 KiB
Diff

From ba181548bca566d320899f7b78e5b753c0dba611 Mon Sep 17 00:00:00 2001
From: ssrlive <30760636+ssrlive@users.noreply.github.com>
Date: Tue, 2 Mar 2021 14:27:40 +0800
Subject: [PATCH] To avoid target exe file export JSON functions.
---
CMakeLists.txt | 4 ++++
debug.h | 2 +-
json_c_version.h | 2 +-
json_types.h | 2 +-
printbuf.h | 2 +-
5 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 79038aa390..60fa7e10d8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -79,6 +79,10 @@ include(CMakePackageConfigHelpers)
option(BUILD_SHARED_LIBS "Default to building shared libraries" ON)
option(BUILD_STATIC_LIBS "Default to building static libraries" ON)
+if (BUILD_SHARED_LIBS)
+ add_definitions(-D JSON_C_DLL)
+endif()
+
# Generate a release merge and test it to verify the correctness of republishing the package.
ADD_CUSTOM_TARGET(distcheck
COMMAND make package_source
diff --git a/debug.h b/debug.h
index a24136b818..7463f863e3 100644
--- a/debug.h
+++ b/debug.h
@@ -24,7 +24,7 @@ extern "C" {
#endif
#ifndef JSON_EXPORT
-#if defined(_MSC_VER)
+#if defined(_MSC_VER) && defined(JSON_C_DLL)
#define JSON_EXPORT __declspec(dllexport)
#else
#define JSON_EXPORT extern
diff --git a/json_c_version.h b/json_c_version.h
index 00de4b3ff1..d15ad64cb5 100644
--- a/json_c_version.h
+++ b/json_c_version.h
@@ -24,7 +24,7 @@ extern "C" {
#define JSON_C_VERSION "0.15"
#ifndef JSON_EXPORT
-#if defined(_MSC_VER)
+#if defined(_MSC_VER) && defined(JSON_C_DLL)
#define JSON_EXPORT __declspec(dllexport)
#else
#define JSON_EXPORT extern
diff --git a/json_types.h b/json_types.h
index 67f4497f60..b7e55ada89 100644
--- a/json_types.h
+++ b/json_types.h
@@ -18,7 +18,7 @@ extern "C" {
#endif
#ifndef JSON_EXPORT
-#if defined(_MSC_VER)
+#if defined(_MSC_VER) && defined(JSON_C_DLL)
#define JSON_EXPORT __declspec(dllexport)
#else
#define JSON_EXPORT extern
diff --git a/printbuf.h b/printbuf.h
index bfcbd2b266..a0da668e6e 100644
--- a/printbuf.h
+++ b/printbuf.h
@@ -24,7 +24,7 @@
#define _printbuf_h_
#ifndef JSON_EXPORT
-#if defined(_MSC_VER)
+#if defined(_MSC_VER) && defined(JSON_C_DLL)
#define JSON_EXPORT __declspec(dllexport)
#else
#define JSON_EXPORT extern