2006-12-31 02:29:11 +01:00
|
|
|
# Copyright (C) 2006 MySQL AB
|
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation; version 2 of the License.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this program; if not, write to the Free Software
|
|
|
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
|
2007-11-02 20:16:45 +01:00
|
|
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7 FATAL_ERROR)
|
|
|
|
|
2006-01-31 14:52:16 +01:00
|
|
|
PROJECT(MySql)
|
|
|
|
|
2006-03-28 13:49:29 +02:00
|
|
|
# This reads user configuration, generated by configure.js.
|
2006-03-27 23:19:56 +02:00
|
|
|
INCLUDE(win/configure.data)
|
2006-01-31 14:52:16 +01:00
|
|
|
|
2007-08-04 08:51:58 +02:00
|
|
|
# Hardcode support for CSV storage engine
|
|
|
|
SET(WITH_CSV_STORAGE_ENGINE TRUE)
|
|
|
|
|
2006-03-29 15:39:53 +02:00
|
|
|
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in
|
2006-03-28 18:05:25 +02:00
|
|
|
${CMAKE_SOURCE_DIR}/include/mysql_version.h @ONLY)
|
2006-04-03 10:25:36 +02:00
|
|
|
|
2006-08-31 19:52:42 +02:00
|
|
|
# Set standard options
|
2007-08-04 00:26:46 +02:00
|
|
|
ADD_DEFINITIONS(-DHAVE_YASSL)
|
2006-08-31 19:52:42 +02:00
|
|
|
|
2007-04-23 16:15:51 +02:00
|
|
|
# Set debug options
|
|
|
|
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFORCE_INIT_OF_VARS")
|
2006-08-31 19:52:42 +02:00
|
|
|
|
2007-08-03 22:57:21 +02:00
|
|
|
# Note that some engines are always compiled in, MyISAM, MyISAMMRG and HEAP,
|
|
|
|
# these three plugin defintions are dummys for symmetry
|
2006-08-31 19:52:42 +02:00
|
|
|
|
2006-04-20 19:37:37 +02:00
|
|
|
SET(WITH_HEAP_STORAGE_ENGINE TRUE)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_DEFINITIONS(-DWITH_HEAP_STORAGE_ENGINE)
|
2006-04-20 19:37:37 +02:00
|
|
|
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_heap_plugin")
|
|
|
|
|
|
|
|
SET(WITH_MYISAM_STORAGE_ENGINE TRUE)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_DEFINITIONS(-DWITH_MYISAM_STORAGE_ENGINE)
|
2006-04-20 19:37:37 +02:00
|
|
|
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_myisam_plugin")
|
|
|
|
|
|
|
|
SET(WITH_MYISAMMRG_STORAGE_ENGINE TRUE)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_DEFINITIONS(-DWITH_MYISAMMRG_STORAGE_ENGINE)
|
2006-04-20 19:37:37 +02:00
|
|
|
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_myisammrg_plugin")
|
|
|
|
|
2006-04-03 10:25:36 +02:00
|
|
|
IF(WITH_ARCHIVE_STORAGE_ENGINE)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_DEFINITIONS(-DWITH_ARCHIVE_STORAGE_ENGINE)
|
2006-04-20 19:37:37 +02:00
|
|
|
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_archive_plugin")
|
2006-04-03 10:25:36 +02:00
|
|
|
ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
|
|
|
|
IF(WITH_BLACKHOLE_STORAGE_ENGINE)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_DEFINITIONS(-DWITH_BLACKHOLE_STORAGE_ENGINE)
|
2006-04-20 19:37:37 +02:00
|
|
|
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_blackhole_plugin")
|
2006-04-03 10:25:36 +02:00
|
|
|
ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
|
2006-04-10 18:18:29 +02:00
|
|
|
IF(WITH_CSV_STORAGE_ENGINE)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_DEFINITIONS(-DWITH_CSV_STORAGE_ENGINE)
|
2006-04-20 19:37:37 +02:00
|
|
|
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_csv_plugin")
|
2006-04-10 18:18:29 +02:00
|
|
|
ENDIF(WITH_CSV_STORAGE_ENGINE)
|
2006-04-03 10:25:36 +02:00
|
|
|
IF(WITH_EXAMPLE_STORAGE_ENGINE)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_DEFINITIONS(-DWITH_EXAMPLE_STORAGE_ENGINE)
|
2006-04-20 19:37:37 +02:00
|
|
|
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_example_plugin")
|
2006-04-03 10:25:36 +02:00
|
|
|
ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
|
|
|
|
IF(WITH_INNOBASE_STORAGE_ENGINE)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_DEFINITIONS(-DWITH_INNOBASE_STORAGE_ENGINE)
|
2006-04-20 19:37:37 +02:00
|
|
|
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_innobase_plugin")
|
2006-04-03 10:25:36 +02:00
|
|
|
ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
|
|
|
|
IF(WITH_PARTITION_STORAGE_ENGINE)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_DEFINITIONS(-DWITH_PARTITION_STORAGE_ENGINE)
|
2006-04-20 19:37:37 +02:00
|
|
|
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_partition_plugin")
|
2006-04-03 10:25:36 +02:00
|
|
|
ENDIF(WITH_PARTITION_STORAGE_ENGINE)
|
|
|
|
IF(WITH_FEDERATED_STORAGE_ENGINE)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_DEFINITIONS(-DWITH_FEDERATED_STORAGE_ENGINE)
|
2006-04-20 19:37:37 +02:00
|
|
|
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_federated_plugin")
|
2006-04-03 10:25:36 +02:00
|
|
|
ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
|
2008-01-10 13:21:53 +01:00
|
|
|
IF(WITH_MARIA_STORAGE_ENGINE)
|
|
|
|
ADD_DEFINITIONS(-DWITH_MARIA_STORAGE_ENGINE)
|
2008-01-11 15:45:18 +01:00
|
|
|
IF(WITH_MARIA_TMP_TABLES)
|
|
|
|
ADD_DEFINITIONS(-DUSE_MARIA_FOR_TMP_TABLES)
|
|
|
|
ENDIF(WITH_MARIA_TMP_TABLES)
|
2008-01-10 13:21:53 +01:00
|
|
|
SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_maria_plugin")
|
|
|
|
ENDIF(WITH_MARIA_STORAGE_ENGINE)
|
2006-04-03 10:25:36 +02:00
|
|
|
|
2006-04-20 19:44:21 +02:00
|
|
|
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc.in
|
|
|
|
${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc @ONLY)
|
2006-04-03 10:25:36 +02:00
|
|
|
|
2006-03-29 15:39:53 +02:00
|
|
|
SET(localstatedir "C:\\mysql\\data")
|
|
|
|
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-huge.cnf.sh
|
|
|
|
${CMAKE_SOURCE_DIR}/support-files/my-huge.ini @ONLY)
|
|
|
|
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-innodb-heavy-4G.cnf.sh
|
|
|
|
${CMAKE_SOURCE_DIR}/support-files/my-innodb-heavy-4G.ini @ONLY)
|
|
|
|
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-large.cnf.sh
|
|
|
|
${CMAKE_SOURCE_DIR}/support-files/my-large.ini @ONLY)
|
|
|
|
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-medium.cnf.sh
|
|
|
|
${CMAKE_SOURCE_DIR}/support-files/my-medium.ini @ONLY)
|
|
|
|
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-small.cnf.sh
|
|
|
|
${CMAKE_SOURCE_DIR}/support-files/my-small.ini @ONLY)
|
2006-03-28 13:49:29 +02:00
|
|
|
|
2006-04-03 10:25:36 +02:00
|
|
|
IF(__NT__)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_DEFINITIONS(-D__NT__)
|
2006-04-03 10:25:36 +02:00
|
|
|
ENDIF(__NT__)
|
|
|
|
IF(CYBOZU)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_DEFINITIONS(-DCYBOZU)
|
2006-04-03 10:25:36 +02:00
|
|
|
ENDIF(CYBOZU)
|
|
|
|
|
2008-11-12 13:36:53 +01:00
|
|
|
IF(EXTRA_DEBUG)
|
|
|
|
ADD_DEFINITIONS(-D EXTRA_DEBUG)
|
|
|
|
ENDIF(EXTRA_DEBUG)
|
|
|
|
|
2006-02-07 16:43:42 +01:00
|
|
|
# in some places we use DBUG_OFF
|
2007-06-15 20:32:16 +02:00
|
|
|
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DDBUG_OFF")
|
2007-08-04 00:26:46 +02:00
|
|
|
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DDBUG_OFF")
|
2007-06-15 20:32:16 +02:00
|
|
|
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DDBUG_OFF")
|
2007-08-04 00:26:46 +02:00
|
|
|
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -DDBUG_OFF")
|
2006-02-07 16:43:42 +01:00
|
|
|
|
2008-03-21 16:23:17 +01:00
|
|
|
#TODO: update the code and remove the disabled warnings
|
|
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4800 /wd4805")
|
|
|
|
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4800 /wd4805")
|
|
|
|
|
2008-04-07 07:32:59 +02:00
|
|
|
# Disable warnings in Visual Studio 8 and above
|
2008-04-08 00:40:37 +02:00
|
|
|
IF(MSVC AND NOT CMAKE_GENERATOR MATCHES "Visual Studio 7")
|
2006-03-28 18:05:25 +02:00
|
|
|
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /wd4996")
|
|
|
|
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /wd4996")
|
2007-03-22 16:53:37 +01:00
|
|
|
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /wd4996")
|
2006-03-28 18:05:25 +02:00
|
|
|
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /wd4996")
|
|
|
|
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /wd4996")
|
2007-03-22 16:53:37 +01:00
|
|
|
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /wd4996")
|
2008-04-08 00:40:37 +02:00
|
|
|
ENDIF(MSVC AND NOT CMAKE_GENERATOR MATCHES "Visual Studio 7")
|
2007-08-03 21:51:37 +02:00
|
|
|
|
2008-04-07 07:32:59 +02:00
|
|
|
# Settings for Visual Studio 7 and above.
|
2008-04-08 00:40:37 +02:00
|
|
|
IF(MSVC)
|
2007-08-03 21:51:37 +02:00
|
|
|
# replace /MDd with /MTd
|
|
|
|
STRING(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
|
|
|
|
STRING(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO})
|
|
|
|
STRING(REPLACE "/MDd" "/MTd" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
|
|
|
|
STRING(REPLACE "/MDd" "/MTd" CMAKE_C_FLAGS_DEBUG_INIT ${CMAKE_C_FLAGS_DEBUG_INIT})
|
|
|
|
|
|
|
|
STRING(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
|
|
|
|
STRING(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
|
|
|
|
STRING(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
|
|
|
|
STRING(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG_INIT ${CMAKE_CXX_FLAGS_DEBUG_INIT})
|
|
|
|
|
|
|
|
# generate map files, set stack size (see bug#20815)
|
|
|
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MAP /MAPINFO:EXPORTS")
|
|
|
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:1048576")
|
|
|
|
|
|
|
|
# remove support for Exception handling
|
|
|
|
STRING(REPLACE "/GX" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
|
|
|
|
STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
|
|
|
|
STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS_INIT ${CMAKE_CXX_FLAGS_INIT})
|
|
|
|
STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS_DEBUG_INIT ${CMAKE_CXX_FLAGS_DEBUG_INIT})
|
2009-02-25 16:57:49 +01:00
|
|
|
|
|
|
|
# Mark 32 bit executables large address aware so they can
|
|
|
|
# use > 2GB address space
|
|
|
|
IF(CMAKE_SIZEOF_VOID_P MATCHES 4)
|
|
|
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")
|
|
|
|
ENDIF(CMAKE_SIZEOF_VOID_P MATCHES 4)
|
|
|
|
|
2007-10-08 19:00:01 +02:00
|
|
|
# Disable automatic manifest generation.
|
|
|
|
STRING(REPLACE "/MANIFEST" "/MANIFEST:NO" CMAKE_EXE_LINKER_FLAGS
|
|
|
|
${CMAKE_EXE_LINKER_FLAGS})
|
|
|
|
# Explicitly disable it since it is the default for newer versions of VS
|
|
|
|
STRING(REGEX MATCH "MANIFEST:NO" tmp_manifest ${CMAKE_EXE_LINKER_FLAGS})
|
|
|
|
IF(NOT tmp_manifest)
|
|
|
|
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")
|
|
|
|
ENDIF(NOT tmp_manifest)
|
2008-04-08 00:40:37 +02:00
|
|
|
ENDIF(MSVC)
|
2006-01-31 14:52:16 +01:00
|
|
|
|
CMakeLists.txt (many), win/README, mysql_manifest.cmake, configure.js:
Additional changes for bug#29903
- Changed to do embedded build part as normal build, when
WITH_EMBEDDED_SERVER is set.
- Allow both normal and debug build with embedded.
- Build static embedded library by pointing out all source and compile
it all, i.e. not building libraries from libraries, not portable.
- Let embedded use generated files from the "sql" directory, added
dependencies to make sure built before embedded.
- Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
linked in when debug target is used.
- Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
others can't depend on it, not defined at configure time. Instead
set the output file name.
- Created work around for bug in CMake 2.4.6 and output names, to
set the "mysqld<suffix>.pdb" name to the same base name.
- Set the correct manifest "name" (patch by iggy)
CMakeLists.txt:
Changes for embedded and Windows
libmysql/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/examples/CMakeLists.txt:
Changes for embedded and Windows
mysys/CMakeLists.txt:
Changes for embedded and Windows
regex/CMakeLists.txt:
Changes for embedded and Windows
server-tools/instance-manager/CMakeLists.txt:
Changes for embedded and Windows
sql/CMakeLists.txt:
Changes for embedded and Windows
storage/archive/CMakeLists.txt:
Changes for embedded and Windows
storage/blackhole/CMakeLists.txt:
Changes for embedded and Windows
storage/csv/CMakeLists.txt:
Changes for embedded and Windows
storage/example/CMakeLists.txt:
Changes for embedded and Windows
storage/federated/CMakeLists.txt:
Changes for embedded and Windows
storage/heap/CMakeLists.txt:
Changes for embedded and Windows
storage/innobase/CMakeLists.txt:
Changes for embedded and Windows
storage/myisam/CMakeLists.txt:
Changes for embedded and Windows
storage/myisammrg/CMakeLists.txt:
Changes for embedded and Windows
strings/CMakeLists.txt:
Changes for embedded and Windows
vio/CMakeLists.txt:
Changes for embedded and Windows
win/README:
Changes for embedded and Windows
win/configure.js:
Changes for embedded and Windows
win/mysql_manifest.cmake:
Changes for embedded and Windows
2007-08-06 23:16:01 +02:00
|
|
|
IF(WIN32)
|
|
|
|
ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE")
|
|
|
|
ENDIF(WIN32)
|
2006-01-31 14:52:16 +01:00
|
|
|
|
2008-02-27 22:17:05 +01:00
|
|
|
# This definition is necessary to work around a bug with Intellisense described
|
|
|
|
# here: http://tinyurl.com/2cb428. Syntax highlighting is important for proper
|
|
|
|
# debugger functionality.
|
|
|
|
IF(CMAKE_SIZEOF_VOID_P MATCHES 8)
|
|
|
|
MESSAGE(STATUS "Detected 64-bit platform.")
|
|
|
|
ADD_DEFINITIONS("-D_WIN64")
|
|
|
|
ENDIF(CMAKE_SIZEOF_VOID_P MATCHES 8)
|
|
|
|
|
2007-04-23 22:23:32 +02:00
|
|
|
IF(EMBED_MANIFESTS)
|
2007-07-25 19:33:39 +02:00
|
|
|
# Search for the tools (mt, makecat, signtool) necessary for embedding
|
|
|
|
# manifests and signing executables with the MySQL AB authenticode cert.
|
|
|
|
#
|
|
|
|
# CMake will first search it's defaults (CMAKE_FRAMEWORK_PATH,
|
|
|
|
# CMAKE_APPBUNDLE_PATH, CMAKE_PROGRAM_PATH and the system PATH) followed
|
|
|
|
# by the listed paths which are the current possible defaults and should be
|
|
|
|
# updated when necessary.
|
|
|
|
#
|
|
|
|
# The custom manifests are designed to be compatible with all mt versions.
|
|
|
|
# The MySQL AB Authenticode certificate is available only internally.
|
|
|
|
# Others should store a single signing certificate in a local cryptographic
|
|
|
|
# service provider and alter the signtool command as necessary.
|
2007-04-23 22:23:32 +02:00
|
|
|
FIND_PROGRAM(HAVE_MANIFEST_TOOL NAMES mt
|
|
|
|
PATHS
|
|
|
|
"$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/VC/bin"
|
|
|
|
"$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin"
|
|
|
|
"$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin")
|
2007-07-25 19:33:39 +02:00
|
|
|
FIND_PROGRAM(HAVE_CATALOG_TOOL NAMES makecat
|
|
|
|
PATHS
|
|
|
|
"$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin")
|
|
|
|
FIND_PROGRAM(HAVE_SIGN_TOOL NAMES signtool
|
|
|
|
PATHS
|
|
|
|
"$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/Common7/Tools/Bin"
|
|
|
|
"$ENV{PROGRAMFILES}/Microsoft Visual Studio 8/SDK/v2.0/Bin")
|
|
|
|
|
2007-04-23 22:23:32 +02:00
|
|
|
IF(HAVE_MANIFEST_TOOL)
|
2007-07-25 19:33:39 +02:00
|
|
|
MESSAGE(STATUS "Found Mainfest Tool.")
|
2007-04-23 22:23:32 +02:00
|
|
|
ELSE(HAVE_MANIFEST_TOOL)
|
|
|
|
MESSAGE(FATAL_ERROR "Manifest tool, mt.exe, can't be found.")
|
|
|
|
ENDIF(HAVE_MANIFEST_TOOL)
|
2007-07-25 19:33:39 +02:00
|
|
|
IF(HAVE_CATALOG_TOOL)
|
|
|
|
MESSAGE(STATUS "Found Catalog Tool.")
|
|
|
|
ELSE(HAVE_CATALOG_TOOL)
|
|
|
|
MESSAGE(FATAL_ERROR "Catalog tool, makecat.exe, can't be found.")
|
|
|
|
ENDIF(HAVE_CATALOG_TOOL)
|
|
|
|
IF(HAVE_SIGN_TOOL)
|
|
|
|
MESSAGE(STATUS "Found Sign Tool. Embedding custom manifests and signing executables.")
|
|
|
|
ELSE(HAVE_SIGN_TOOL)
|
|
|
|
MESSAGE(FATAL_ERROR "Sign tool, signtool.exe, can't be found.")
|
|
|
|
ENDIF(HAVE_SIGN_TOOL)
|
|
|
|
|
2007-04-23 22:23:32 +02:00
|
|
|
# Set the processor architecture.
|
|
|
|
IF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
|
2007-06-26 20:24:01 +02:00
|
|
|
SET(PROCESSOR_ARCH "amd64")
|
2007-04-23 22:23:32 +02:00
|
|
|
ELSE(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
|
|
|
|
SET(PROCESSOR_ARCH "X86")
|
|
|
|
ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
|
|
|
|
ENDIF(EMBED_MANIFESTS)
|
|
|
|
|
2007-08-03 21:51:37 +02:00
|
|
|
# FIXME "debug" only needed if build type is "Debug", but
|
|
|
|
# CMAKE_BUILD_TYPE is not set during configure time.
|
2006-03-28 13:49:29 +02:00
|
|
|
ADD_SUBDIRECTORY(vio)
|
|
|
|
ADD_SUBDIRECTORY(dbug)
|
|
|
|
ADD_SUBDIRECTORY(strings)
|
|
|
|
ADD_SUBDIRECTORY(regex)
|
|
|
|
ADD_SUBDIRECTORY(mysys)
|
2007-04-18 18:35:13 +02:00
|
|
|
ADD_SUBDIRECTORY(scripts)
|
2007-03-22 08:43:14 +01:00
|
|
|
ADD_SUBDIRECTORY(zlib)
|
2006-03-28 13:49:29 +02:00
|
|
|
ADD_SUBDIRECTORY(extra/yassl)
|
|
|
|
ADD_SUBDIRECTORY(extra/yassl/taocrypt)
|
2009-03-12 23:27:35 +01:00
|
|
|
ADD_SUBDIRECTORY(extra/libevent)
|
2006-03-28 13:49:29 +02:00
|
|
|
ADD_SUBDIRECTORY(extra)
|
|
|
|
ADD_SUBDIRECTORY(storage/heap)
|
|
|
|
ADD_SUBDIRECTORY(storage/myisam)
|
|
|
|
ADD_SUBDIRECTORY(storage/myisammrg)
|
CMakeLists.txt (many), win/README, mysql_manifest.cmake, configure.js:
Additional changes for bug#29903
- Changed to do embedded build part as normal build, when
WITH_EMBEDDED_SERVER is set.
- Allow both normal and debug build with embedded.
- Build static embedded library by pointing out all source and compile
it all, i.e. not building libraries from libraries, not portable.
- Let embedded use generated files from the "sql" directory, added
dependencies to make sure built before embedded.
- Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
linked in when debug target is used.
- Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
others can't depend on it, not defined at configure time. Instead
set the output file name.
- Created work around for bug in CMake 2.4.6 and output names, to
set the "mysqld<suffix>.pdb" name to the same base name.
- Set the correct manifest "name" (patch by iggy)
CMakeLists.txt:
Changes for embedded and Windows
libmysql/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/examples/CMakeLists.txt:
Changes for embedded and Windows
mysys/CMakeLists.txt:
Changes for embedded and Windows
regex/CMakeLists.txt:
Changes for embedded and Windows
server-tools/instance-manager/CMakeLists.txt:
Changes for embedded and Windows
sql/CMakeLists.txt:
Changes for embedded and Windows
storage/archive/CMakeLists.txt:
Changes for embedded and Windows
storage/blackhole/CMakeLists.txt:
Changes for embedded and Windows
storage/csv/CMakeLists.txt:
Changes for embedded and Windows
storage/example/CMakeLists.txt:
Changes for embedded and Windows
storage/federated/CMakeLists.txt:
Changes for embedded and Windows
storage/heap/CMakeLists.txt:
Changes for embedded and Windows
storage/innobase/CMakeLists.txt:
Changes for embedded and Windows
storage/myisam/CMakeLists.txt:
Changes for embedded and Windows
storage/myisammrg/CMakeLists.txt:
Changes for embedded and Windows
strings/CMakeLists.txt:
Changes for embedded and Windows
vio/CMakeLists.txt:
Changes for embedded and Windows
win/README:
Changes for embedded and Windows
win/configure.js:
Changes for embedded and Windows
win/mysql_manifest.cmake:
Changes for embedded and Windows
2007-08-06 23:16:01 +02:00
|
|
|
ADD_SUBDIRECTORY(client)
|
2006-03-28 13:49:29 +02:00
|
|
|
IF(WITH_ARCHIVE_STORAGE_ENGINE)
|
|
|
|
ADD_SUBDIRECTORY(storage/archive)
|
|
|
|
ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
|
2006-04-20 19:37:37 +02:00
|
|
|
IF(WITH_BLACKHOLE_STORAGE_ENGINE)
|
|
|
|
ADD_SUBDIRECTORY(storage/blackhole)
|
|
|
|
ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
|
|
|
|
IF(WITH_CSV_STORAGE_ENGINE)
|
|
|
|
ADD_SUBDIRECTORY(storage/csv)
|
|
|
|
ENDIF(WITH_CSV_STORAGE_ENGINE)
|
2006-03-28 13:49:29 +02:00
|
|
|
IF(WITH_EXAMPLE_STORAGE_ENGINE)
|
|
|
|
ADD_SUBDIRECTORY(storage/example)
|
|
|
|
ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
|
2006-08-25 07:10:55 +02:00
|
|
|
IF(WITH_FEDERATED_STORAGE_ENGINE)
|
|
|
|
ADD_SUBDIRECTORY(storage/federated)
|
|
|
|
ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
|
2006-03-28 13:49:29 +02:00
|
|
|
IF(WITH_INNOBASE_STORAGE_ENGINE)
|
2009-06-09 14:21:26 +02:00
|
|
|
ADD_SUBDIRECTORY(storage/xtradb)
|
2006-03-28 13:49:29 +02:00
|
|
|
ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
|
2008-01-10 13:21:53 +01:00
|
|
|
IF(WITH_MARIA_STORAGE_ENGINE)
|
|
|
|
ADD_SUBDIRECTORY(storage/maria)
|
|
|
|
ADD_SUBDIRECTORY(storage/maria/unittest)
|
|
|
|
ENDIF(WITH_MARIA_STORAGE_ENGINE)
|
CMakeLists.txt (many), win/README, mysql_manifest.cmake, configure.js:
Additional changes for bug#29903
- Changed to do embedded build part as normal build, when
WITH_EMBEDDED_SERVER is set.
- Allow both normal and debug build with embedded.
- Build static embedded library by pointing out all source and compile
it all, i.e. not building libraries from libraries, not portable.
- Let embedded use generated files from the "sql" directory, added
dependencies to make sure built before embedded.
- Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
linked in when debug target is used.
- Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
others can't depend on it, not defined at configure time. Instead
set the output file name.
- Created work around for bug in CMake 2.4.6 and output names, to
set the "mysqld<suffix>.pdb" name to the same base name.
- Set the correct manifest "name" (patch by iggy)
CMakeLists.txt:
Changes for embedded and Windows
libmysql/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/examples/CMakeLists.txt:
Changes for embedded and Windows
mysys/CMakeLists.txt:
Changes for embedded and Windows
regex/CMakeLists.txt:
Changes for embedded and Windows
server-tools/instance-manager/CMakeLists.txt:
Changes for embedded and Windows
sql/CMakeLists.txt:
Changes for embedded and Windows
storage/archive/CMakeLists.txt:
Changes for embedded and Windows
storage/blackhole/CMakeLists.txt:
Changes for embedded and Windows
storage/csv/CMakeLists.txt:
Changes for embedded and Windows
storage/example/CMakeLists.txt:
Changes for embedded and Windows
storage/federated/CMakeLists.txt:
Changes for embedded and Windows
storage/heap/CMakeLists.txt:
Changes for embedded and Windows
storage/innobase/CMakeLists.txt:
Changes for embedded and Windows
storage/myisam/CMakeLists.txt:
Changes for embedded and Windows
storage/myisammrg/CMakeLists.txt:
Changes for embedded and Windows
strings/CMakeLists.txt:
Changes for embedded and Windows
vio/CMakeLists.txt:
Changes for embedded and Windows
win/README:
Changes for embedded and Windows
win/configure.js:
Changes for embedded and Windows
win/mysql_manifest.cmake:
Changes for embedded and Windows
2007-08-06 23:16:01 +02:00
|
|
|
ADD_SUBDIRECTORY(sql)
|
|
|
|
ADD_SUBDIRECTORY(server-tools/instance-manager)
|
2007-08-04 08:51:58 +02:00
|
|
|
ADD_SUBDIRECTORY(libmysql)
|
CMakeLists.txt (many), win/README, mysql_manifest.cmake, configure.js:
Additional changes for bug#29903
- Changed to do embedded build part as normal build, when
WITH_EMBEDDED_SERVER is set.
- Allow both normal and debug build with embedded.
- Build static embedded library by pointing out all source and compile
it all, i.e. not building libraries from libraries, not portable.
- Let embedded use generated files from the "sql" directory, added
dependencies to make sure built before embedded.
- Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
linked in when debug target is used.
- Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
others can't depend on it, not defined at configure time. Instead
set the output file name.
- Created work around for bug in CMake 2.4.6 and output names, to
set the "mysqld<suffix>.pdb" name to the same base name.
- Set the correct manifest "name" (patch by iggy)
CMakeLists.txt:
Changes for embedded and Windows
libmysql/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/examples/CMakeLists.txt:
Changes for embedded and Windows
mysys/CMakeLists.txt:
Changes for embedded and Windows
regex/CMakeLists.txt:
Changes for embedded and Windows
server-tools/instance-manager/CMakeLists.txt:
Changes for embedded and Windows
sql/CMakeLists.txt:
Changes for embedded and Windows
storage/archive/CMakeLists.txt:
Changes for embedded and Windows
storage/blackhole/CMakeLists.txt:
Changes for embedded and Windows
storage/csv/CMakeLists.txt:
Changes for embedded and Windows
storage/example/CMakeLists.txt:
Changes for embedded and Windows
storage/federated/CMakeLists.txt:
Changes for embedded and Windows
storage/heap/CMakeLists.txt:
Changes for embedded and Windows
storage/innobase/CMakeLists.txt:
Changes for embedded and Windows
storage/myisam/CMakeLists.txt:
Changes for embedded and Windows
storage/myisammrg/CMakeLists.txt:
Changes for embedded and Windows
strings/CMakeLists.txt:
Changes for embedded and Windows
vio/CMakeLists.txt:
Changes for embedded and Windows
win/README:
Changes for embedded and Windows
win/configure.js:
Changes for embedded and Windows
win/mysql_manifest.cmake:
Changes for embedded and Windows
2007-08-06 23:16:01 +02:00
|
|
|
ADD_SUBDIRECTORY(tests)
|
2008-01-10 13:21:53 +01:00
|
|
|
ADD_SUBDIRECTORY(unittest/mytap)
|
|
|
|
ADD_SUBDIRECTORY(unittest/examples)
|
|
|
|
ADD_SUBDIRECTORY(unittest/mysys)
|
CMakeLists.txt (many), win/README, mysql_manifest.cmake, configure.js:
Additional changes for bug#29903
- Changed to do embedded build part as normal build, when
WITH_EMBEDDED_SERVER is set.
- Allow both normal and debug build with embedded.
- Build static embedded library by pointing out all source and compile
it all, i.e. not building libraries from libraries, not portable.
- Let embedded use generated files from the "sql" directory, added
dependencies to make sure built before embedded.
- Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
linked in when debug target is used.
- Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
others can't depend on it, not defined at configure time. Instead
set the output file name.
- Created work around for bug in CMake 2.4.6 and output names, to
set the "mysqld<suffix>.pdb" name to the same base name.
- Set the correct manifest "name" (patch by iggy)
CMakeLists.txt:
Changes for embedded and Windows
libmysql/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/examples/CMakeLists.txt:
Changes for embedded and Windows
mysys/CMakeLists.txt:
Changes for embedded and Windows
regex/CMakeLists.txt:
Changes for embedded and Windows
server-tools/instance-manager/CMakeLists.txt:
Changes for embedded and Windows
sql/CMakeLists.txt:
Changes for embedded and Windows
storage/archive/CMakeLists.txt:
Changes for embedded and Windows
storage/blackhole/CMakeLists.txt:
Changes for embedded and Windows
storage/csv/CMakeLists.txt:
Changes for embedded and Windows
storage/example/CMakeLists.txt:
Changes for embedded and Windows
storage/federated/CMakeLists.txt:
Changes for embedded and Windows
storage/heap/CMakeLists.txt:
Changes for embedded and Windows
storage/innobase/CMakeLists.txt:
Changes for embedded and Windows
storage/myisam/CMakeLists.txt:
Changes for embedded and Windows
storage/myisammrg/CMakeLists.txt:
Changes for embedded and Windows
strings/CMakeLists.txt:
Changes for embedded and Windows
vio/CMakeLists.txt:
Changes for embedded and Windows
win/README:
Changes for embedded and Windows
win/configure.js:
Changes for embedded and Windows
win/mysql_manifest.cmake:
Changes for embedded and Windows
2007-08-06 23:16:01 +02:00
|
|
|
IF(WITH_EMBEDDED_SERVER)
|
2007-06-15 20:32:16 +02:00
|
|
|
ADD_SUBDIRECTORY(libmysqld)
|
|
|
|
ADD_SUBDIRECTORY(libmysqld/examples)
|
CMakeLists.txt (many), win/README, mysql_manifest.cmake, configure.js:
Additional changes for bug#29903
- Changed to do embedded build part as normal build, when
WITH_EMBEDDED_SERVER is set.
- Allow both normal and debug build with embedded.
- Build static embedded library by pointing out all source and compile
it all, i.e. not building libraries from libraries, not portable.
- Let embedded use generated files from the "sql" directory, added
dependencies to make sure built before embedded.
- Mark library "dbug" in TARGET_LINK_LIBRARIES() with "debug", so only
linked in when debug target is used.
- Removed change of target name with "mysqld${MYSQLD_EXE_SUFFIX}", as
others can't depend on it, not defined at configure time. Instead
set the output file name.
- Created work around for bug in CMake 2.4.6 and output names, to
set the "mysqld<suffix>.pdb" name to the same base name.
- Set the correct manifest "name" (patch by iggy)
CMakeLists.txt:
Changes for embedded and Windows
libmysql/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/CMakeLists.txt:
Changes for embedded and Windows
libmysqld/examples/CMakeLists.txt:
Changes for embedded and Windows
mysys/CMakeLists.txt:
Changes for embedded and Windows
regex/CMakeLists.txt:
Changes for embedded and Windows
server-tools/instance-manager/CMakeLists.txt:
Changes for embedded and Windows
sql/CMakeLists.txt:
Changes for embedded and Windows
storage/archive/CMakeLists.txt:
Changes for embedded and Windows
storage/blackhole/CMakeLists.txt:
Changes for embedded and Windows
storage/csv/CMakeLists.txt:
Changes for embedded and Windows
storage/example/CMakeLists.txt:
Changes for embedded and Windows
storage/federated/CMakeLists.txt:
Changes for embedded and Windows
storage/heap/CMakeLists.txt:
Changes for embedded and Windows
storage/innobase/CMakeLists.txt:
Changes for embedded and Windows
storage/myisam/CMakeLists.txt:
Changes for embedded and Windows
storage/myisammrg/CMakeLists.txt:
Changes for embedded and Windows
strings/CMakeLists.txt:
Changes for embedded and Windows
vio/CMakeLists.txt:
Changes for embedded and Windows
win/README:
Changes for embedded and Windows
win/configure.js:
Changes for embedded and Windows
win/mysql_manifest.cmake:
Changes for embedded and Windows
2007-08-06 23:16:01 +02:00
|
|
|
ENDIF(WITH_EMBEDDED_SERVER)
|
2007-12-19 12:58:06 +01:00
|
|
|
ADD_SUBDIRECTORY(mysql-test/lib/My/SafeProcess)
|