summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt154
1 files changed, 154 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 00000000000..5edc33b9f5a
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,154 @@
+PROJECT(MySql)
+
+# This reads user configuration, generated by configure.js.
+INCLUDE(win/configure.data)
+
+# Hardcode support for CSV storage engine
+SET(WITH_CSV_STORAGE_ENGINE TRUE)
+
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in
+ ${CMAKE_SOURCE_DIR}/include/mysql_version.h @ONLY)
+
+SET(WITH_HEAP_STORAGE_ENGINE TRUE)
+ADD_DEFINITIONS(-D WITH_HEAP_STORAGE_ENGINE)
+SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_heap_plugin")
+
+SET(WITH_MYISAM_STORAGE_ENGINE TRUE)
+ADD_DEFINITIONS(-D WITH_MYISAM_STORAGE_ENGINE)
+SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_myisam_plugin")
+
+SET(WITH_MYISAMMRG_STORAGE_ENGINE TRUE)
+ADD_DEFINITIONS(-D WITH_MYISAMMRG_STORAGE_ENGINE)
+SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_myisammrg_plugin")
+
+IF(WITH_ARCHIVE_STORAGE_ENGINE)
+ ADD_DEFINITIONS(-D WITH_ARCHIVE_STORAGE_ENGINE)
+ SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_archive_plugin")
+ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
+IF(WITH_BLACKHOLE_STORAGE_ENGINE)
+ ADD_DEFINITIONS(-D WITH_BLACKHOLE_STORAGE_ENGINE)
+ SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_blackhole_plugin")
+ENDIF(WITH_BLACKHOLE_STORAGE_ENGINE)
+IF(WITH_CSV_STORAGE_ENGINE)
+ ADD_DEFINITIONS(-D WITH_CSV_STORAGE_ENGINE)
+ SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_csv_plugin")
+ENDIF(WITH_CSV_STORAGE_ENGINE)
+IF(WITH_EXAMPLE_STORAGE_ENGINE)
+ ADD_DEFINITIONS(-D WITH_EXAMPLE_STORAGE_ENGINE)
+ SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_example_plugin")
+ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
+IF(WITH_INNOBASE_STORAGE_ENGINE)
+ ADD_DEFINITIONS(-D WITH_INNOBASE_STORAGE_ENGINE)
+ SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_innobase_plugin")
+ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
+IF(WITH_PARTITION_STORAGE_ENGINE)
+ ADD_DEFINITIONS(-D WITH_PARTITION_STORAGE_ENGINE)
+ SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_partition_plugin")
+ENDIF(WITH_PARTITION_STORAGE_ENGINE)
+IF(WITH_FEDERATED_STORAGE_ENGINE)
+ ADD_DEFINITIONS(-D WITH_FEDERATED_STORAGE_ENGINE)
+ SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_federated_plugin")
+ENDIF(WITH_FEDERATED_STORAGE_ENGINE)
+IF(WITH_BERKELEY_STORAGE_ENGINE)
+ ADD_DEFINITIONS(-D WITH_BERKELEY_STORAGE_ENGINE)
+ SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_berkeley_plugin")
+ENDIF(WITH_BERKELEY_STORAGE_ENGINE)
+
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc.in
+ ${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc @ONLY)
+
+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)
+
+IF(__NT__)
+ ADD_DEFINITIONS(-D __NT__)
+ENDIF(__NT__)
+IF(CYBOZU)
+ ADD_DEFINITIONS(-D CYBOZU)
+ENDIF(CYBOZU)
+
+# in some places we use DBUG_OFF
+SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D DBUG_OFF")
+SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D DBUG_OFF")
+
+IF(CMAKE_GENERATOR MATCHES "Visual Studio 8")
+ SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /wd4996")
+ SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /wd4996")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /wd4996")
+ SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /wd4996")
+ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8")
+
+IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR
+ CMAKE_GENERATOR MATCHES "Visual Studio 8")
+ # replace /MDd with /MTd
+ STRING(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG_INIT
+ ${CMAKE_CXX_FLAGS_DEBUG_INIT})
+ STRING(REPLACE "/MDd" "/MTd" CMAKE_C_FLAGS_DEBUG_INIT
+ ${CMAKE_C_FLAGS_DEBUG_INIT})
+ STRING(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELEASE
+ ${CMAKE_C_FLAGS_RELEASE})
+ STRING(REPLACE "/MDd" "/MTd" CMAKE_C_FLAGS_DEBUG
+ ${CMAKE_C_FLAGS_DEBUG})
+ STRING(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE
+ ${CMAKE_CXX_FLAGS_RELEASE})
+ STRING(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG
+ ${CMAKE_CXX_FLAGS_DEBUG})
+
+ # 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})
+ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR
+ CMAKE_GENERATOR MATCHES "Visual Studio 8")
+
+ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D _CRT_SECURE_NO_DEPRECATE")
+
+ADD_SUBDIRECTORY(vio)
+ADD_SUBDIRECTORY(dbug)
+ADD_SUBDIRECTORY(strings)
+ADD_SUBDIRECTORY(regex)
+ADD_SUBDIRECTORY(mysys)
+ADD_SUBDIRECTORY(extra/yassl)
+ADD_SUBDIRECTORY(extra/yassl/taocrypt)
+ADD_SUBDIRECTORY(extra)
+ADD_SUBDIRECTORY(zlib)
+ADD_SUBDIRECTORY(storage/heap)
+ADD_SUBDIRECTORY(storage/myisam)
+ADD_SUBDIRECTORY(storage/myisammrg)
+ADD_SUBDIRECTORY(client)
+IF(WITH_ARCHIVE_STORAGE_ENGINE)
+ ADD_SUBDIRECTORY(storage/archive)
+ENDIF(WITH_ARCHIVE_STORAGE_ENGINE)
+IF(WITH_BERKELEY_STORAGE_ENGINE)
+ ADD_SUBDIRECTORY(storage/bdb)
+ENDIF(WITH_BERKELEY_STORAGE_ENGINE)
+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)
+IF(WITH_EXAMPLE_STORAGE_ENGINE)
+ ADD_SUBDIRECTORY(storage/example)
+ENDIF(WITH_EXAMPLE_STORAGE_ENGINE)
+IF(WITH_INNOBASE_STORAGE_ENGINE)
+ ADD_SUBDIRECTORY(storage/innobase)
+ENDIF(WITH_INNOBASE_STORAGE_ENGINE)
+ADD_SUBDIRECTORY(sql)
+ADD_SUBDIRECTORY(server-tools/instance-manager)
+ADD_SUBDIRECTORY(libmysql)
+ADD_SUBDIRECTORY(tests)
+ADD_SUBDIRECTORY(libmysqld)
+ADD_SUBDIRECTORY(libmysqld/examples)