diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake index f8bc709637b..d99b2145c25 100644 --- a/cmake/QtBuild.cmake +++ b/cmake/QtBuild.cmake @@ -2087,6 +2087,8 @@ function(qt_set_symbol_visibility_preset target value) set_target_properties("${target}" PROPERTIES C_VISIBILITY_PRESET "${value}") set_target_properties("${target}" PROPERTIES CXX_VISIBILITY_PRESET "${value}") + set_target_properties("${target}" PROPERTIES OBJC_VISIBILITY_PRESET "${value}") + set_target_properties("${target}" PROPERTIES OBJCXX_VISIBILITY_PRESET "${value}") endfunction() function(qt_set_symbol_visibility_hidden target) @@ -4150,6 +4152,8 @@ function(qt_add_cmake_library target) add_library("${target}" MODULE) set_property(TARGET ${name} PROPERTY C_VISIBILITY_PRESET default) set_property(TARGET ${name} PROPERTY CXX_VISIBILITY_PRESET default) + set_property(TARGET ${name} PROPERTY OBJC_VISIBILITY_PRESET default) + set_property(TARGET ${name} PROPERTY OBJCXX_VISIBILITY_PRESET default) if(APPLE) # CMake defaults to using .so extensions for loadable modules, aka plugins, @@ -4233,6 +4237,8 @@ function(qt_add_3rdparty_library target) add_library("${target}" MODULE) set_property(TARGET ${name} PROPERTY C_VISIBILITY_PRESET default) set_property(TARGET ${name} PROPERTY CXX_VISIBILITY_PRESET default) + set_property(TARGET ${name} PROPERTY OBJC_VISIBILITY_PRESET default) + set_property(TARGET ${name} PROPERTY OBJCXX_VISIBILITY_PRESET default) if(APPLE) # CMake defaults to using .so extensions for loadable modules, aka plugins, diff --git a/cmake/QtSetup.cmake b/cmake/QtSetup.cmake index 607b3afebd8..4bed2894539 100644 --- a/cmake/QtSetup.cmake +++ b/cmake/QtSetup.cmake @@ -57,6 +57,8 @@ set(CMAKE_LINK_DEPENDS_NO_SHARED ON) # Default to hidden visibility for symbols: set(CMAKE_C_VISIBILITY_PRESET hidden) set(CMAKE_CXX_VISIBILITY_PRESET hidden) +set(CMAKE_OBJC_VISIBILITY_PRESET hidden) +set(CMAKE_OBJCXX_VISIBILITY_PRESET hidden) set(CMAKE_VISIBILITY_INLINES_HIDDEN 1) # Detect non-prefix builds: either when the qtbase install prefix is set to the binary dir diff --git a/src/corelib/Qt6CoreMacros.cmake b/src/corelib/Qt6CoreMacros.cmake index 856740af3fc..536928ae60d 100644 --- a/src/corelib/Qt6CoreMacros.cmake +++ b/src/corelib/Qt6CoreMacros.cmake @@ -433,6 +433,8 @@ function(add_qt_gui_executable target) # through dlopen() set_property(TARGET "${target}" PROPERTY C_VISIBILITY_PRESET default) set_property(TARGET "${target}" PROPERTY CXX_VISIBILITY_PRESET default) + set_property(TARGET "${target}" PROPERTY OBJC_VISIBILITY_PRESET default) + set_property(TARGET "${target}" PROPERTY OBJCXX_VISIBILITY_PRESET default) qt_android_apply_arch_suffix("${target}") else() add_executable("${target}" WIN32 MACOSX_BUNDLE ${ARGN})