diff options
author | Vladislav Vaintroub <wlad@montyprogram.com> | 2012-02-08 11:18:55 +0100 |
---|---|---|
committer | Vladislav Vaintroub <wlad@montyprogram.com> | 2012-02-08 11:18:55 +0100 |
commit | 8877fe7359b1eef81b62c6531674aaa5a5ce6051 (patch) | |
tree | 46cdfb0ce4c0fb1077b11d88eb02996104140a0c /cmake | |
parent | 4d1c7b794730b101619c5dac33af71e7abcd54d2 (diff) | |
parent | 9f9ecc0626b7ef0c54db0d43fd96e7193b907346 (diff) | |
download | mariadb-git-8877fe7359b1eef81b62c6531674aaa5a5ce6051.tar.gz |
merge
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/libutils.cmake | 25 | ||||
-rw-r--r-- | cmake/os/SunOS.cmake | 5 | ||||
-rw-r--r-- | cmake/plugin.cmake | 1 | ||||
-rw-r--r-- | cmake/readline.cmake | 10 |
4 files changed, 30 insertions, 11 deletions
diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake index bb90f7d2a6c..7c13df05ca4 100644 --- a/cmake/libutils.cmake +++ b/cmake/libutils.cmake @@ -305,16 +305,27 @@ FUNCTION(GET_DEPENDEND_OS_LIBS target result) ENDFUNCTION() MACRO(RESTRICT_SYMBOL_EXPORTS target) + SET(VISIBILITY_HIDDEN_FLAG) + IF(CMAKE_COMPILER_IS_GNUCXX AND UNIX) CHECK_C_COMPILER_FLAG("-fvisibility=hidden" HAVE_VISIBILITY_HIDDEN) IF(HAVE_VISIBILITY_HIDDEN) - GET_TARGET_PROPERTY(COMPILE_FLAGS ${target} COMPILE_FLAGS) - IF(NOT COMPILE_FLAGS) - # Avoid COMPILE_FLAGS-NOTFOUND - SET(COMPILE_FLAGS) - ENDIF() - SET_TARGET_PROPERTIES(${target} PROPERTIES - COMPILE_FLAGS "${COMPILE_FLAGS} -fvisibility=hidden") + SET(VISIBILITY_HIDDEN_FLAG "-fvisibility=hidden") + ENDIF() + ENDIF() + + IF(CMAKE_C_COMPILER_ID MATCHES "SunPro") + SET(VISIBILITY_HIDDEN_FLAG "-xldscope=hidden") + ENDIF() + + IF(VISIBILITY_HIDDEN_FLAG) + GET_TARGET_PROPERTY(COMPILE_FLAGS ${target} COMPILE_FLAGS) + IF(NOT COMPILE_FLAGS) + # Avoid COMPILE_FLAGS-NOTFOUND + SET(COMPILE_FLAGS) ENDIF() + SET_TARGET_PROPERTIES(${target} PROPERTIES + COMPILE_FLAGS "${COMPILE_FLAGS} ${VISIBILITY_HIDDEN_FLAG}") ENDIF() + ENDMACRO() diff --git a/cmake/os/SunOS.cmake b/cmake/os/SunOS.cmake index 3d2b4b8949a..d5a4b5c96b0 100644 --- a/cmake/os/SunOS.cmake +++ b/cmake/os/SunOS.cmake @@ -93,3 +93,8 @@ IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_SIZEOF_VOID_P EQUAL 4 ENDIF() ENDIF() ENDIF() + +IF(CMAKE_CXX_COMPILER_ID MATCHES "SunPro") + # Unnamed structs and unions + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -features=extensions") +ENDIF() diff --git a/cmake/plugin.cmake b/cmake/plugin.cmake index a74802c2314..ac6ce6bc237 100644 --- a/cmake/plugin.cmake +++ b/cmake/plugin.cmake @@ -136,6 +136,7 @@ MACRO(MYSQL_ADD_PLUGIN) SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITONS "MYSQL_SERVER") DTRACE_INSTRUMENT(${target}) ADD_DEPENDENCIES(${target} GenError ${ARG_DEPENDENCIES}) + RESTRICT_SYMBOL_EXPORTS(${target}) IF(WITH_EMBEDDED_SERVER) # Embedded library should contain PIC code and be linkable # to shared libraries (on systems that need PIC) diff --git a/cmake/readline.cmake b/cmake/readline.cmake index 24a411e3f1d..49ab92f8bdb 100644 --- a/cmake/readline.cmake +++ b/cmake/readline.cmake @@ -116,7 +116,6 @@ MACRO (MYSQL_USE_BUNDLED_READLINE) SET(HAVE_HIST_ENTRY) SET(READLINE_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/cmd-line-utils) SET(READLINE_LIBRARY readline) - FIND_CURSES() ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/cmd-line-utils/readline) ENDMACRO() @@ -126,10 +125,10 @@ MACRO (MYSQL_FIND_SYSTEM_READLINE) FIND_LIBRARY(READLINE_LIBRARY NAMES readline) MARK_AS_ADVANCED(READLINE_INCLUDE_DIR READLINE_LIBRARY) - SET(CMAKE_REQUIRES_LIBRARIES ${READLINE_LIBRARY}) + SET(CMAKE_REQUIRES_LIBRARIES ${READLINE_LIBRARY} ${CURSES_LIBRARY}) IF(READLINE_LIBRARY AND READLINE_INCLUDE_DIR) - SET(CMAKE_REQUIRED_LIBRARIES ${READLINE_LIBRARY}) + SET(CMAKE_REQUIRED_LIBRARIES ${READLINE_LIBRARY} ${CURSES_LIBRARY}) CHECK_CXX_SOURCE_COMPILES(" #include <stdio.h> #include <readline/readline.h> @@ -175,6 +174,7 @@ MACRO (MYSQL_FIND_SYSTEM_READLINE) ENDIF(READLINE_V5) ENDIF(NEW_READLINE_INTERFACE) ENDIF() + SET(CMAKE_REQUIRES_LIBRARIES ) ENDMACRO() MACRO (MYSQL_FIND_SYSTEM_LIBEDIT) @@ -197,6 +197,7 @@ MACRO (MYSQL_FIND_SYSTEM_LIBEDIT) LIBEDIT_INTERFACE) SET(USE_LIBEDIT_INTERFACE ${LIBEDIT_INTERFACE}) ENDIF() + SET(CMAKE_REQUIRES_LIBRARIES) ENDMACRO() @@ -204,6 +205,7 @@ MACRO (MYSQL_CHECK_READLINE) IF (NOT WIN32) MYSQL_CHECK_MULTIBYTE() SET(WITH_READLINE OFF CACHE BOOL "Use bundled readline") + FIND_CURSES() IF(WITH_READLINE) MYSQL_USE_BUNDLED_READLINE() @@ -217,7 +219,7 @@ MACRO (MYSQL_CHECK_READLINE) ENDIF() ENDIF() SET(MY_READLINE_INCLUDE_DIR ${READLINE_INCLUDE_DIR}) - SET(MY_READLINE_LIBRARY ${READLINE_LIBRARY}) + SET(MY_READLINE_LIBRARY ${READLINE_LIBRARY} ${CURSES_LIBRARY}) ENDIF(NOT WIN32) ENDMACRO() |