From 69da674b30d246f4df152501b9312518cd900372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Sat, 18 Oct 2014 14:17:52 +0200 Subject: [PATCH] Fix gcc visibility detection This resolves Bug 1832 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- ConfigureChecks.cmake | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 6a3c001da..1980d3ce0 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -12,7 +12,10 @@ # ################################################# +# required stuff tde_setup_architecture_flags( ) +find_package( TQt ) +find_package( TDE ) ##### check for libdl ########################### @@ -90,8 +93,21 @@ endif( ) if( WITH_GCC_VISIBILITY ) if( NOT UNIX ) - tde_message_fatal(FATAL_ERROR "\ngcc visibility support was requested, but your system is not *NIX" ) + tde_message_fatal( "gcc visibility support was requested, but your system is not *NIX" ) endif( NOT UNIX ) + tde_save_and_set( CMAKE_REQUIRED_INCLUDES "${TDE_INCLUDE_DIR}" ) + check_cxx_source_compiles( " + #include + #ifndef __KDE_HAVE_GCC_VISIBILITY + #error gcc visibility is not enabled in tdelibs + #endif + int main() { return 0; } " + HAVE_GCC_VISIBILITY + ) + tde_restore( CMAKE_REQUIRED_INCLUDES ) + if( NOT HAVE_GCC_VISIBILITY ) + tde_message_fatal( "gcc visibility support was requested, but not supported in tdelibs" ) + endif( NOT HAVE_GCC_VISIBILITY ) 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") @@ -334,8 +350,8 @@ else( ) set( WITHOUT_ARTS 1 ) endif( ) -# libart +# libart if( WITH_LIBART ) pkg_search_module( LIBART libart-2.0 ) if( NOT LIBART_FOUND ) @@ -345,12 +361,6 @@ if( WITH_LIBART ) endif( WITH_LIBART ) -# required stuff -find_package( TQt ) -find_package( TDE ) - - - # dbus (tdm, kdesktop, twin/compton-tde.c) if( BUILD_TDM OR BUILD_KDESKTOP OR (BUILD_TWIN AND WITH_XCOMPOSITE) )