Skip to content

Commit 760abde

Browse files
move to shared library format with -DBUILD_SHARED_LIBS (minio#177)
1 parent 0936d96 commit 760abde

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ CMakeSettings.json
1616
.idea/
1717
vcpkg-master.zip
1818
vcpkg-master/
19+
include/config.h

CMakeLists.txt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,18 @@ set(MINIO_CPP_HEADERS
115115
include/miniocpp/utils.h
116116
)
117117

118-
add_library(miniocpp STATIC ${MINIO_CPP_SOURCES} ${MINIO_CPP_HEADERS})
118+
option(BUILD_SHARED_LIBS "Build using shared libraries" OFF)
119+
120+
IF (BUILD_SHARED_LIBS)
121+
IF (WIN32)
122+
message(FATAL_ERROR "Unable to build shared library on Windows yet, this library lacks decorator support.")
123+
ELSE ()
124+
add_library(miniocpp SHARED ${MINIO_CPP_SOURCES} ${MINIO_CPP_HEADERS})
125+
ENDIF ()
126+
ELSE ()
127+
add_library(miniocpp STATIC ${MINIO_CPP_SOURCES} ${MINIO_CPP_HEADERS})
128+
ENDIF ()
129+
119130
target_compile_options(miniocpp PRIVATE ${MINIO_CPP_CFLAGS})
120131
target_compile_features(miniocpp PUBLIC cxx_std_${MINIO_CPP_STD})
121132
target_include_directories(miniocpp PUBLIC

configure.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#!/bin/sh
22

3+
set -x
34
BUILD_OPTIONS="-DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
45

56
if [ -n "$VCPKG_ROOT" ]; then
6-
BUILD_OPTIONS="${BUILD_OPTIONS} -DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
7+
BUILD_OPTIONS="${BUILD_OPTIONS} -DCMAKE_TOOLCHAIN_FILE=${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
78
fi
89

910
echo "== [Configuring Build - Debug] =="

0 commit comments

Comments
 (0)