diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 154 |
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) |