Skip to content

Commit 9d99618

Browse files
committed
fix: shared library uses hidden visibility by default
1 parent 8727016 commit 9d99618

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

cmake_modules/IcebergBuildUtils.cmake

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,10 @@ function(add_iceberg_lib LIB_NAME)
152152

153153
string(TOUPPER ${LIB_NAME} VISIBILITY_NAME)
154154
target_compile_definitions(${LIB_NAME}_shared PRIVATE ${VISIBILITY_NAME}_EXPORTING)
155+
set_target_properties(${LIB_NAME}_shared
156+
PROPERTIES C_VISIBILITY_PRESET hidden CXX_VISIBILITY_PRESET
157+
hidden
158+
VISIBILITY_INLINES_HIDDEN 1)
155159

156160
install(TARGETS ${LIB_NAME}_shared
157161
EXPORT iceberg_targets
@@ -211,8 +215,10 @@ function(add_iceberg_lib LIB_NAME)
211215
target_link_libraries(${LIB_NAME}_static
212216
PUBLIC "$<BUILD_INTERFACE:iceberg_sanitizer_flags>")
213217

214-
string(TOUPPER ${LIB_NAME} VISIBILITY_NAME)
215-
target_compile_definitions(${LIB_NAME}_static PUBLIC ${VISIBILITY_NAME}_STATIC)
218+
if(WIN32)
219+
string(TOUPPER ${LIB_NAME} VISIBILITY_NAME)
220+
target_compile_definitions(${LIB_NAME}_static PUBLIC ${VISIBILITY_NAME}_STATIC)
221+
endif()
216222

217223
install(TARGETS ${LIB_NAME}_static
218224
EXPORT iceberg_targets

0 commit comments

Comments
 (0)