77 lines
2.7 KiB
Diff
Executable file
77 lines
2.7 KiB
Diff
Executable file
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index c34ee8d71..84e4a9247 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -43,7 +43,7 @@ SET(SIDX_VERSION_MINOR "9")
|
|
SET(SIDX_VERSION_PATCH "3")
|
|
SET(SIDX_LIB_VERSION "6.1.1")
|
|
SET(SIDX_LIB_SOVERSION "6")
|
|
-SET(BUILD_SHARED_LIBS ON)
|
|
+option(BUILD_SHARED_LIBS "Build shared libs" ON)
|
|
|
|
|
|
set(SIDX_VERSION_STRING "${SIDX_VERSION_MAJOR}.${SIDX_VERSION_MINOR}.${SIDX_VERSION_PATCH}")
|
|
|
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
|
index 90f4501bc..aad327181 100644
|
|
--- a/src/CMakeLists.txt
|
|
+++ b/src/CMakeLists.txt
|
|
@@ -188,9 +188,13 @@ set(SIDX_SOURCES
|
|
#endif()
|
|
|
|
|
|
-add_library(${SIDX_LIB_NAME} ${SIDX_SOURCES})
|
|
-
|
|
-add_library(${SIDX_C_LIB_NAME} ${SIDX_CAPI_CPP})
|
|
+if(BUILD_SHARED_LIBS)
|
|
+ add_library(${SIDX_LIB_NAME} SHARED ${SIDX_SOURCES})
|
|
+ add_library(${SIDX_C_LIB_NAME} SHARED ${SIDX_CAPI_CPP})
|
|
+else(BUILD_SHARED_LIBS)
|
|
+ add_library(${SIDX_LIB_NAME} STATIC ${SIDX_SOURCES})
|
|
+ add_library(${SIDX_C_LIB_NAME} STATIC ${SIDX_CAPI_CPP})
|
|
+endif(BUILD_SHARED_LIBS)
|
|
|
|
target_link_libraries(${SIDX_C_LIB_NAME}
|
|
${SIDX_LIB_NAME}
|
|
@@ -208,9 +212,10 @@ if(WIN32)
|
|
target_compile_options(${SIDX_LIB_NAME} PRIVATE "/wd4068")
|
|
target_compile_options(${SIDX_C_LIB_NAME} PRIVATE "/wd4068")
|
|
|
|
- target_compile_definitions(${SIDX_C_LIB_NAME} PRIVATE "-DSIDX_DLL_EXPORT=1")
|
|
- target_compile_definitions(${SIDX_LIB_NAME} PRIVATE "-DSIDX_DLL_EXPORT=1")
|
|
- if (NOT WITH_STATIC_SIDX)
|
|
+ if (BUILD_SHARED_LIBS)
|
|
+ target_compile_definitions(${SIDX_C_LIB_NAME} PRIVATE "-DSIDX_DLL_EXPORT=1")
|
|
+ target_compile_definitions(${SIDX_LIB_NAME} PRIVATE "-DSIDX_DLL_EXPORT=1")
|
|
+ else()
|
|
target_compile_definitions(${SIDX_LIB_NAME} PRIVATE "-DSIDX_DLL_IMPORT=1")
|
|
target_compile_definitions(${SIDX_C_LIB_NAME} PRIVATE "-DSIDX_DLL_IMPORT=1")
|
|
endif()
|
|
|
|
diff --git a/include/spatialindex/capi/sidx_export.h b/include/spatialindex/capi/sidx_export.h
|
|
index b6c84f1ef..7b0a39364 100644
|
|
--- a/include/spatialindex/capi/sidx_export.h
|
|
+++ b/include/spatialindex/capi/sidx_export.h
|
|
@@ -29,7 +29,7 @@
|
|
#pragma once
|
|
|
|
#ifndef SIDX_C_DLL
|
|
-#if defined(_MSC_VER)
|
|
+#if defined(_MSC_VER) && defined(SIDX_DLL_EXPORT)
|
|
# define SIDX_C_DLL __declspec(dllexport)
|
|
# define SIDX_DLL __declspec(dllexport)
|
|
#else
|
|
|
|
diff --git a/include/spatialindex/tools/Tools.h b/include/spatialindex/tools/Tools.h
|
|
index 322bc819e..46b62fa00 100644
|
|
--- a/include/spatialindex/tools/Tools.h
|
|
+++ b/include/spatialindex/tools/Tools.h
|
|
@@ -46,7 +46,7 @@
|
|
#ifdef SIDX_DLL_EXPORT
|
|
#define SIDX_DLL __declspec(dllexport)
|
|
#else
|
|
- #define SIDX_DLL __declspec(dllimport)
|
|
+ #define SIDX_DLL
|
|
#endif
|
|
|
|
// Nuke this annoying warning. See http://www.unknownroad.com/rtfm/VisualStudio/warningC4251.html
|