Commit 3dabe248 authored by Vladislav Vaintroub's avatar Vladislav Vaintroub

simplify some tests, silence warning in script install

parent 99f19c78
...@@ -13,7 +13,12 @@ ...@@ -13,7 +13,12 @@
# along with this program; if not, write to the Free Software # along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0 FATAL_ERROR) CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
# Avoid warnings in higher versions
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.6)
CMAKE_POLICY(VERSION 2.8)
endif()
# First, decide about build type (debug or release) # First, decide about build type (debug or release)
# If custom compiler flags are set or cmake is invoked with -DCMAKE_BUILD_TYPE, # If custom compiler flags are set or cmake is invoked with -DCMAKE_BUILD_TYPE,
...@@ -136,15 +141,15 @@ ENDIF() ...@@ -136,15 +141,15 @@ ENDIF()
# Set commonly used variables # Set commonly used variables
IF(WIN32) IF(WIN32)
SET(DEFAULT_MYSQL_HOME "C:/Program Files/MySQL/MySQL Server ${MYSQL_BASE_VERSION}/" ) SET(DEFAULT_MYSQL_HOME "C:/Program Files/MySQL/MySQL Server ${MYSQL_BASE_VERSION}" )
SET(SHAREDIR share) SET(SHAREDIR share)
ELSE() ELSE()
SET(DEFAULT_MYSQL_HOME ${CMAKE_INSTALL_PREFIX}) SET(DEFAULT_MYSQL_HOME ${CMAKE_INSTALL_PREFIX})
SET(SHAREDIR ${DEFAULT_MYSQL_HOME}share) SET(SHAREDIR ${DEFAULT_MYSQL_HOME}/share)
ENDIF() ENDIF()
SET(DEFAULT_BASEDIR "${DEFAULT_MYSQL_HOME}") SET(DEFAULT_BASEDIR "${DEFAULT_MYSQL_HOME}")
SET(MYSQL_DATADIR "${DEFAULT_MYSQL_HOME}data") SET(MYSQL_DATADIR "${DEFAULT_MYSQL_HOME}/data")
SET(DEFAULT_CHARSET_HOME "${DEFAULT_MYSQL_HOME}") SET(DEFAULT_CHARSET_HOME "${DEFAULT_MYSQL_HOME}")
......
...@@ -467,21 +467,8 @@ CHECK_INCLUDE_FILES_UNIX (sys/param.h HAVE_SYS_PARAM_H) ...@@ -467,21 +467,8 @@ CHECK_INCLUDE_FILES_UNIX (sys/param.h HAVE_SYS_PARAM_H)
CHECK_INCLUDE_FILES_UNIX (sys/vadvise.h HAVE_SYS_VADVISE_H) CHECK_INCLUDE_FILES_UNIX (sys/vadvise.h HAVE_SYS_VADVISE_H)
CHECK_INCLUDE_FILES_UNIX (fnmatch.h HAVE_FNMATCH_H) CHECK_INCLUDE_FILES_UNIX (fnmatch.h HAVE_FNMATCH_H)
CHECK_INCLUDE_FILES (stdarg.h HAVE_STDARG_H) CHECK_INCLUDE_FILES (stdarg.h HAVE_STDARG_H)
CHECK_INCLUDE_FILES_UNIX("stdlib.h;sys/un.h" HAVE_SYS_UN_H)
# sys/un.h is broken on Linux and Solaris
# It cannot be included alone ( it references types
# defined in stdlib.h, i.e size_t)
CHECK_C_SOURCE_COMPILES_UNIX("
#include <stdlib.h>
#include <sys/un.h>
int main()
{
return 0;
}
"
HAVE_SYS_UN_H)
#
# Figure out threading library # Figure out threading library
# #
FIND_PACKAGE (Threads) FIND_PACKAGE (Threads)
...@@ -676,7 +663,10 @@ IF(HAVE_FINITE_IN_MATH_H) ...@@ -676,7 +663,10 @@ IF(HAVE_FINITE_IN_MATH_H)
ELSE() ELSE()
CHECK_SYMBOL_EXISTS(finite "ieeefp.h" HAVE_FINITE) CHECK_SYMBOL_EXISTS(finite "ieeefp.h" HAVE_FINITE)
ENDIF() ENDIF()
CHECK_SYMBOL_EXISTS(log2 "math.h" HAVE_LOG2) CHECK_SYMBOL_EXISTS(log2 math.h HAVE_LOG2)
CHECK_SYMBOL_EXISTS(isnan math.h HAVE_ISNAN)
CHECK_SYMBOL_EXISTS(isinf math.h HAVE_ISINF)
CHECK_SYMBOL_EXISTS(rint math.h HAVE_RINT)
...@@ -685,7 +675,8 @@ CHECK_SYMBOL_EXISTS(log2 "math.h" HAVE_LOG2) ...@@ -685,7 +675,8 @@ CHECK_SYMBOL_EXISTS(log2 "math.h" HAVE_LOG2)
# #
INCLUDE(TestBigEndian) INCLUDE(TestBigEndian)
IF(APPLE) IF(APPLE)
# Care for universal binary format # Can'r run endian test on universal PPC/Intel binaries
# would return inconsistent result.
SET(WORDS_BIGENDIAN __BIG_ENDIAN CACHE INTERNAL "big endian test") SET(WORDS_BIGENDIAN __BIG_ENDIAN CACHE INTERNAL "big endian test")
ELSE() ELSE()
TEST_BIG_ENDIAN(WORDS_BIGENDIAN) TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
...@@ -725,8 +716,7 @@ CHECK_TYPE_SIZE(char SIZEOF_CHAR) ...@@ -725,8 +716,7 @@ CHECK_TYPE_SIZE(char SIZEOF_CHAR)
CHECK_TYPE_SIZE(short SIZEOF_SHORT) CHECK_TYPE_SIZE(short SIZEOF_SHORT)
CHECK_TYPE_SIZE(int SIZEOF_INT) CHECK_TYPE_SIZE(int SIZEOF_INT)
CHECK_TYPE_SIZE("long long" SIZEOF_LONG_LONG) CHECK_TYPE_SIZE("long long" SIZEOF_LONG_LONG)
SET(CMAKE_EXTRA_INCLUDE_FILES stdio.h) SET(CMAKE_EXTRA_INCLUDE_FILES stdio.h sys/types.h)
SET(CMAKE_EXTRA_INCLUDE_FILES sys/types.h)
CHECK_TYPE_SIZE(off_t SIZEOF_OFF_T) CHECK_TYPE_SIZE(off_t SIZEOF_OFF_T)
CHECK_TYPE_SIZE(uchar SIZEOF_UCHAR) CHECK_TYPE_SIZE(uchar SIZEOF_UCHAR)
CHECK_TYPE_SIZE(uint SIZEOF_UINT) CHECK_TYPE_SIZE(uint SIZEOF_UINT)
...@@ -897,7 +887,7 @@ IF(NOT STACK_DIRECTION) ...@@ -897,7 +887,7 @@ IF(NOT STACK_DIRECTION)
ELSE() ELSE()
SET(STACK_DIRECTION 1 CACHE INTERNAL "Stack grows direction") SET(STACK_DIRECTION 1 CACHE INTERNAL "Stack grows direction")
ENDIF() ENDIF()
MESSAGE(STATUS "Checking stack grows direction : ${STACK_DIRECTION}") MESSAGE(STATUS "Checking stack direction : ${STACK_DIRECTION}")
ENDIF() ENDIF()
ENDIF() ENDIF()
...@@ -922,60 +912,9 @@ ELSE(SIGNAL_RETURN_TYPE_IS_VOID) ...@@ -922,60 +912,9 @@ ELSE(SIGNAL_RETURN_TYPE_IS_VOID)
SET(RETSIGTYPE int) SET(RETSIGTYPE int)
ENDIF(SIGNAL_RETURN_TYPE_IS_VOID) ENDIF(SIGNAL_RETURN_TYPE_IS_VOID)
#
# isnan() is trickier than the usual function test -- it may be a macro
#
CHECK_CXX_SOURCE_COMPILES("#include <math.h>
int main(int ac, char **av)
{
isnan(0.0);
return 0;
}"
HAVE_ISNAN)
#
# isinf() is trickier than the usual function test -- it may be a macro
#
CHECK_CXX_SOURCE_COMPILES("#include <math.h>
int main(int ac, char **av)
{
isinf(0.0);
return 0;
}"
HAVE_ISINF)
#
# rint() is trickier than the usual function test -- it may be a macro
#
CHECK_CXX_SOURCE_COMPILES("#include <math.h>
int main(int ac, char **av)
{
rint(0.0);
return 0;
}"
HAVE_RINT)
CHECK_CXX_SOURCE_COMPILES("
#include <time.h>
#include <sys/time.h>
int main()
{
return 0;
}"
TIME_WITH_SYS_TIME)
IF(UNIX)
CHECK_C_SOURCE_COMPILES("
#include <unistd.h>
#include <fcntl.h>
int main()
{
fcntl(0, F_SETFL, O_NONBLOCK);
return 0;
}
"
HAVE_FCNTL_NONBLOCK)
ENDIF()
CHECK_INCLUDE_FILES_UNIX("time.h;sys/time.h" TIME_WITH_SYS_TIME)
CHECK_SYMBOL_EXISTS_UNIX(O_NONBLOCK "unistd.h;fcntl.h" HAVE_FCNTL_NONBLOCK)
IF(NOT HAVE_FCNTL_NONBLOCK) IF(NOT HAVE_FCNTL_NONBLOCK)
SET(NO_FCNTL_NONBLOCK 1) SET(NO_FCNTL_NONBLOCK 1)
ENDIF() ENDIF()
...@@ -1020,14 +959,10 @@ IF(NOT CMAKE_CROSSCOMPILING AND NOT MSVC) ...@@ -1020,14 +959,10 @@ IF(NOT CMAKE_CROSSCOMPILING AND NOT MSVC)
" HAVE_FAKE_PAUSE_INSTRUCTION) " HAVE_FAKE_PAUSE_INSTRUCTION)
ENDIF() ENDIF()
ENDIF() ENDIF()
CHECK_SYMBOL_EXISTS_UNIX(tcgetattr "termios.h" HAVE_TCGETATTR 1) CHECK_SYMBOL_EXISTS_UNIX(tcgetattr "termios.h" HAVE_TCGETATTR 1)
CHECK_INCLUDE_FILES_UNIX(sys/ioctl.h HAVE_SYS_IOCTL 1) CHECK_INCLUDE_FILES_UNIX(sys/ioctl.h HAVE_SYS_IOCTL 1)
# #
# Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7) # Check type of signal routines (posix, 4.2bsd, 4.1bsd or v7)
# #
...@@ -1130,8 +1065,8 @@ CHECK_CXX_SOURCE_COMPILES_UNIX(" ...@@ -1130,8 +1065,8 @@ CHECK_CXX_SOURCE_COMPILES_UNIX("
{ {
struct hostent *foo = struct hostent *foo =
gethostbyaddr_r((const char *) 0, gethostbyaddr_r((const char *) 0,
0, 0, (struct hostent *) 0, (char *) NULL, 0, (int *)0); 0, 0, (struct hostent *) 0, (char *) NULL, 0, (int *)0);
return 0; return 0;
} }
" "
...@@ -1200,8 +1135,8 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "AIX" OR CMAKE_SYSTEM_NAME STREQUAL "OS400") ...@@ -1200,8 +1135,8 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "AIX" OR CMAKE_SYSTEM_NAME STREQUAL "OS400")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -qstaticinline") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -qstaticinline")
ENDIF() ENDIF()
# The following is required to export all symbols (also with leading underscore # The following is required to export all symbols
# from libraries and mysqld # (also with leading underscore)
STRING(REPLACE "-bexpall" "-bexpfull" CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS STRING(REPLACE "-bexpall" "-bexpfull" CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS
${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS}) ${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS})
STRING(REPLACE "-bexpall" "-bexpfull" CMAKE_SHARED_LIBRARY_LINK_C_FLAGS STRING(REPLACE "-bexpall" "-bexpfull" CMAKE_SHARED_LIBRARY_LINK_C_FLAGS
...@@ -1358,5 +1293,3 @@ IF(WIN32) ...@@ -1358,5 +1293,3 @@ IF(WIN32)
ENDIF() ENDIF()
ENDIF(WIN32) ENDIF(WIN32)
...@@ -88,6 +88,15 @@ ENDIF() ...@@ -88,6 +88,15 @@ ENDIF()
# mysqlclient library (add -l stuff) # mysqlclient library (add -l stuff)
SET(CLIENT_LIBS "") SET(CLIENT_LIBS "")
SET(LIBS "") SET(LIBS "")
# Avoid compatibility warning about lists with empty elements
IF(POLICY CMP0011)
CMAKE_POLICY(SET CMP0011 NEW)
ENDIF()
IF(POLICY CMP0007)
CMAKE_POLICY(SET CMP0007 OLD)
ENDIF()
LIST(REMOVE_ITEM mysqlclient_LIB_DEPENDS "") LIST(REMOVE_ITEM mysqlclient_LIB_DEPENDS "")
LIST(REMOVE_DUPLICATES mysqlclient_LIB_DEPENDS) LIST(REMOVE_DUPLICATES mysqlclient_LIB_DEPENDS)
FOREACH(lib ${mysqlclient_LIB_DEPENDS}) FOREACH(lib ${mysqlclient_LIB_DEPENDS})
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment