summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@montyprogram.com>2012-02-08 11:18:55 +0100
committerVladislav Vaintroub <wlad@montyprogram.com>2012-02-08 11:18:55 +0100
commit8877fe7359b1eef81b62c6531674aaa5a5ce6051 (patch)
tree46cdfb0ce4c0fb1077b11d88eb02996104140a0c /cmake
parent4d1c7b794730b101619c5dac33af71e7abcd54d2 (diff)
parent9f9ecc0626b7ef0c54db0d43fd96e7193b907346 (diff)
downloadmariadb-git-8877fe7359b1eef81b62c6531674aaa5a5ce6051.tar.gz
merge
Diffstat (limited to 'cmake')
-rw-r--r--cmake/libutils.cmake25
-rw-r--r--cmake/os/SunOS.cmake5
-rw-r--r--cmake/plugin.cmake1
-rw-r--r--cmake/readline.cmake10
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()