File tree 5 files changed +1393
-2
lines changed
5 files changed +1393
-2
lines changed Original file line number Diff line number Diff line change @@ -100,6 +100,7 @@ if(MSVC)
100
100
src/duckdb/extension/jemalloc/jemalloc/src/util.c
101
101
src/duckdb/extension/jemalloc/jemalloc/src/witness.c
102
102
src/duckdb/extension/jemalloc/jemalloc/src/zone.c )
103
+ list (APPEND DUCKDB_SRC_FILES duckdb_java.def)
103
104
add_definitions (/bigobj /D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR)
104
105
else ()
105
106
set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG " )
@@ -152,9 +153,23 @@ add_library(duckdb_java SHARED
152
153
src/jni/refs.cpp
153
154
src/jni/util.cpp
154
155
${DUCKDB_SRC_FILES} )
155
- target_compile_options (duckdb_java PRIVATE -fexceptions )
156
+ target_compile_definitions (duckdb_java PRIVATE -DDUCKDB_STATIC_BUILD )
156
157
target_link_libraries (duckdb_java duckdb-native )
157
158
target_link_libraries (duckdb_java ${DUCKDB_SYSTEM_LIBS} )
159
+ if (NOT WIN32 )
160
+ target_compile_options (duckdb_java PRIVATE -fexceptions)
161
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" )
162
+ target_link_options (duckdb_java PRIVATE
163
+ -Bsymbolic
164
+ -Bsymbolic-functions
165
+ -fvisibility=hidden
166
+ -Wl,--version -script=${CMAKE_CURRENT_LIST_DIR} /duckdb_java.map)
167
+ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
168
+ target_link_options (duckdb_java PRIVATE
169
+ -fvisibility=hidden
170
+ -Wl,-exported_symbols_list,${CMAKE_CURRENT_LIST_DIR} /duckdb_java.exp)
171
+ endif ()
172
+ endif ()
158
173
159
174
string (JOIN "_" LIB_SUFFIX ".so" ${OS_NAME} ${OS_ARCH} )
160
175
set_target_properties (duckdb_java PROPERTIES SUFFIX ${LIB_SUFFIX} )
Original file line number Diff line number Diff line change @@ -100,6 +100,7 @@ if(MSVC)
100
100
src/duckdb/extension/jemalloc/jemalloc/src/util.c
101
101
src/duckdb/extension/jemalloc/jemalloc/src/witness.c
102
102
src/duckdb/extension/jemalloc/jemalloc/src/zone.c )
103
+ list(APPEND DUCKDB_SRC_FILES duckdb_java.def)
103
104
add_definitions(/bigobj /D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR)
104
105
else()
105
106
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG ")
@@ -152,9 +153,23 @@ add_library(duckdb_java SHARED
152
153
src/jni/refs.cpp
153
154
src/jni/util.cpp
154
155
${DUCKDB_SRC_FILES})
155
- target_compile_options (duckdb_java PRIVATE -fexceptions )
156
+ target_compile_definitions (duckdb_java PRIVATE -DDUCKDB_STATIC_BUILD )
156
157
target_link_libraries(duckdb_java duckdb-native ${LIBRARY_FILES})
157
158
target_link_libraries(duckdb_java ${DUCKDB_SYSTEM_LIBS})
159
+ if(NOT WIN32)
160
+ target_compile_options(duckdb_java PRIVATE -fexceptions)
161
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
162
+ target_link_options(duckdb_java PRIVATE
163
+ -Bsymbolic
164
+ -Bsymbolic-functions
165
+ -fvisibility=hidden
166
+ -Wl,--version-script=${CMAKE_CURRENT_LIST_DIR}/duckdb_java.map)
167
+ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
168
+ target_link_options(duckdb_java PRIVATE
169
+ -fvisibility=hidden
170
+ -Wl,-exported_symbols_list,${CMAKE_CURRENT_LIST_DIR}/duckdb_java.exp)
171
+ endif()
172
+ endif()
158
173
159
174
string(JOIN "_" LIB_SUFFIX ".so" ${OS_NAME} ${OS_ARCH})
160
175
set_target_properties(duckdb_java PROPERTIES SUFFIX ${LIB_SUFFIX})
You can’t perform that action at this time.
0 commit comments