diff options
author | Andreas Schneider <asn@cynapses.org> | 2010-09-05 12:55:02 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cynapses.org> | 2010-09-05 13:00:51 +0200 |
commit | 6db13f776f4a1fd2c9542986abe426c9570f1634 (patch) | |
tree | 3bfbdf3435e5f68fe93be5f56f8e1df4b28600d1 | |
parent | 0980117c52fd9e419d10c7193fd65e5ebe85ec4d (diff) | |
download | libssh-6db13f776f4a1fd2c9542986abe426c9570f1634.tar.gz libssh-6db13f776f4a1fd2c9542986abe426c9570f1634.tar.xz libssh-6db13f776f4a1fd2c9542986abe426c9570f1634.zip |
build: Fixed build with gcc 3.4.
The -fvisibility=hidden flag is broken in gcc 3.4. This fixes the build
on CentOS, bug #74.
-rw-r--r-- | ConfigureChecks.cmake | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 498e3d99..a2b579a5 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -17,8 +17,24 @@ set(SYSCONFDIR ${SYSCONF_INSTALL_DIR}) set(BINARYDIR ${CMAKE_BINARY_DIR}) set(SOURCEDIR ${CMAKE_SOURCE_DIR}) +function(COMPILER_DUMPVERSION _OUTPUT_VERSION) + execute_process( + COMMAND + ${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1} -dumpversion + OUTPUT_VARIABLE _COMPILER_VERSION + ) + + string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2" + _COMPILER_VERSION ${_COMPILER_VERSION}) + + set(${_OUTPUT_VERSION} ${_COMPILER_VERSION} PARENT_SCOPE) +endfunction() + if(CMAKE_COMPILER_IS_GNUCC AND NOT MINGW) -check_c_compiler_flag("-fvisibility=hidden" WITH_VISIBILITY_HIDDEN) + compiler_dumpversion(GNUCC_VERSION) + if (GNUCC_VERSION EQUAL 34) + check_c_compiler_flag("-fvisibility=hidden" WITH_VISIBILITY_HIDDEN) + endif (GNUCC_VERSION EQUAL 34) endif(CMAKE_COMPILER_IS_GNUCC AND NOT MINGW) # HEADER FILES |