diff --git a/CMakeLists.txt b/CMakeLists.txt index a09f04014..b832a923e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -75,6 +75,7 @@ option( WITH_XINERAMA "Enable xinerama extension support" OFF ) option( WITH_ARTS "Enable aRts support" OFF ) option( WITH_I8K "Enable Dell laptop support (ksysguard)" OFF ) option( WITH_HAL "Enable HAL support" OFF ) +option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" OFF ) ##### user requested modules #################### diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 259da26e1..7b7a1b449 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -44,6 +44,20 @@ if( WITH_HAL ) endif( ) +##### check for gcc visibility support ######### +# FIXME +# This should check for [T]Qt3 visibility support + +if( WITH_GCC_VISIBILITY ) + if( NOT UNIX ) + tde_message_fatal(FATAL_ERROR "\ngcc visibility support was requested, but your system is not *NIX" ) + endif( NOT UNIX ) + set( __KDE_HAVE_GCC_VISIBILITY 1 ) + set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden") + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden") +endif( ) + + # xrender (kdesktop, konsole, kcontrol, kicker, twin) if( WITH_XRENDER OR BUILD_KDESKTOP OR BUILD_KONSOLE OR BUILD_KCONTROL OR BUILD_KICKER ) pkg_search_module( XRENDER xrender ) diff --git a/config.h.cmake b/config.h.cmake index cdf1db888..d72a96c33 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -1,5 +1,8 @@ #define VERSION "@VERSION@" +// Defined if you have fvisibility and fvisibility-inlines-hidden support. +#cmakedefine __KDE_HAVE_GCC_VISIBILITY 1 + // konsole #cmakedefine HAVE_PROC_CWD 1