|
| 1 | +PROJECT(MySql) |
| 2 | + |
| 3 | +# This reads user configuration, generated by configure.js. |
| 4 | +INCLUDE(win/configure.data) |
| 5 | + |
| 6 | +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in |
| 7 | + ${CMAKE_SOURCE_DIR}/include/mysql_version.h @ONLY) |
| 8 | + |
| 9 | +# Set standard options |
| 10 | +ADD_DEFINITIONS(-D WITH_MYISAM_STORAGE_ENGINE) |
| 11 | +ADD_DEFINITIONS(-D CMAKE_BUILD) |
| 12 | +ADD_DEFINITIONS(-D HAVE_YASSL) |
| 13 | + |
| 14 | +SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_myisam_plugin") |
| 15 | + |
| 16 | + |
| 17 | +IF(WITH_ARCHIVE_STORAGE_ENGINE) |
| 18 | + ADD_DEFINITIONS(-D HAVE_ARCHIVE_DB) |
| 19 | +ENDIF(WITH_ARCHIVE_STORAGE_ENGINE) |
| 20 | + |
| 21 | +IF (WITH_HEAP_STORAGE_ENGINE) |
| 22 | + ADD_DEFINITIONS(-D WITH_HEAP_STORAGE_ENGINE) |
| 23 | + SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_heap_plugin") |
| 24 | +ENDIF (WITH_HEAP_STORAGE_ENGINE) |
| 25 | + |
| 26 | +IF (WITH_MYISAMMRG_STORAGE_ENGINE) |
| 27 | + ADD_DEFINITIONS(-D WITH_MYISAMMRG_STORAGE_ENGINE) |
| 28 | + SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_myisammrg_plugin") |
| 29 | +ENDIF (WITH_MYISAMMRG_STORAGE_ENGINE) |
| 30 | + |
| 31 | +IF(WITH_INNOBASE_STORAGE_ENGINE) |
| 32 | + CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/innobase/ib_config.h.in |
| 33 | + ${CMAKE_SOURCE_DIR}/innobase/ib_config.h @ONLY) |
| 34 | + ADD_DEFINITIONS(-D HAVE_INNOBASE_DB) |
| 35 | + ADD_DEFINITIONS(-D WITH_INNOBASE_STORAGE_ENGINE) |
| 36 | + SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_innobase_plugin") |
| 37 | +ENDIF(WITH_INNOBASE_STORAGE_ENGINE) |
| 38 | + |
| 39 | +IF(WITH_FEDERATED_STORAGE_ENGINE) |
| 40 | + ADD_DEFINITIONS(-D HAVE_FEDERATED_DB) |
| 41 | + ADD_DEFINITIONS(-D WITH_FEDERATED_STORAGE_ENGINE) |
| 42 | + SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_federated_plugin") |
| 43 | +ENDIF(WITH_FEDERATED_STORAGE_ENGINE) |
| 44 | + |
| 45 | +IF(WITH_BERKELEY_STORAGE_ENGINE) |
| 46 | + ADD_DEFINITIONS(-D HAVE_BERKELEY_DB) |
| 47 | + ADD_DEFINITIONS(-D WITH_BERKELEY_STORAGE_ENGINE) |
| 48 | + SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_berkeley_plugin") |
| 49 | +ENDIF(WITH_BERKELEY_STORAGE_ENGINE) |
| 50 | + |
| 51 | +IF (WITH_BLACKHOLE_STORAGE_ENGINE) |
| 52 | + ADD_DEFINITIONS(-D HAVE_BLACKHOLE_DB) |
| 53 | +ENDIF (WITH_BLACKHOLE_STORAGE_ENGINE) |
| 54 | + |
| 55 | +SET(localstatedir "C:\\mysql\\data") |
| 56 | +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-huge.cnf.sh |
| 57 | + ${CMAKE_SOURCE_DIR}/support-files/my-huge.ini @ONLY) |
| 58 | +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-innodb-heavy-4G.cnf.sh |
| 59 | + ${CMAKE_SOURCE_DIR}/support-files/my-innodb-heavy-4G.ini @ONLY) |
| 60 | +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-large.cnf.sh |
| 61 | + ${CMAKE_SOURCE_DIR}/support-files/my-large.ini @ONLY) |
| 62 | +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-medium.cnf.sh |
| 63 | + ${CMAKE_SOURCE_DIR}/support-files/my-medium.ini @ONLY) |
| 64 | +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/support-files/my-small.cnf.sh |
| 65 | + ${CMAKE_SOURCE_DIR}/support-files/my-small.ini @ONLY) |
| 66 | + |
| 67 | +IF(__NT__) |
| 68 | + ADD_DEFINITIONS(-D __NT__) |
| 69 | +ENDIF(__NT__) |
| 70 | +IF(CYBOZU) |
| 71 | + ADD_DEFINITIONS(-D CYBOZU) |
| 72 | +ENDIF(CYBOZU) |
| 73 | + |
| 74 | +# in some places we use DBUG_OFF |
| 75 | +SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D DBUG_OFF") |
| 76 | +SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D DBUG_OFF") |
| 77 | + |
| 78 | +IF(CMAKE_GENERATOR MATCHES "Visual Studio 8") |
| 79 | + SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /wd4996") |
| 80 | + SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /wd4996") |
| 81 | + SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /wd4996") |
| 82 | + SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /wd4996") |
| 83 | +ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8") |
| 84 | + |
| 85 | +IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR |
| 86 | + CMAKE_GENERATOR MATCHES "Visual Studio 8") |
| 87 | + # replace /MDd with /MTd |
| 88 | + STRING(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG_INIT |
| 89 | + ${CMAKE_CXX_FLAGS_DEBUG_INIT}) |
| 90 | + STRING(REPLACE "/MDd" "/MTd" CMAKE_C_FLAGS_DEBUG_INIT |
| 91 | + ${CMAKE_C_FLAGS_DEBUG_INIT}) |
| 92 | + STRING(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELEASE |
| 93 | + ${CMAKE_C_FLAGS_RELEASE}) |
| 94 | + STRING(REPLACE "/MDd" "/MTd" CMAKE_C_FLAGS_DEBUG |
| 95 | + ${CMAKE_C_FLAGS_DEBUG}) |
| 96 | + STRING(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELEASE |
| 97 | + ${CMAKE_CXX_FLAGS_RELEASE}) |
| 98 | + STRING(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG |
| 99 | + ${CMAKE_CXX_FLAGS_DEBUG}) |
| 100 | + |
| 101 | + # remove support for Exception handling |
| 102 | + STRING(REPLACE "/GX" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) |
| 103 | + STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) |
| 104 | + STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS_INIT |
| 105 | + ${CMAKE_CXX_FLAGS_INIT}) |
| 106 | + STRING(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS_DEBUG_INIT |
| 107 | + ${CMAKE_CXX_FLAGS_DEBUG_INIT}) |
| 108 | +ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR |
| 109 | + CMAKE_GENERATOR MATCHES "Visual Studio 8") |
| 110 | + |
| 111 | +ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D _CRT_SECURE_NO_DEPRECATE") |
| 112 | + |
| 113 | +ADD_SUBDIRECTORY(vio) |
| 114 | +ADD_SUBDIRECTORY(dbug) |
| 115 | +ADD_SUBDIRECTORY(strings) |
| 116 | +ADD_SUBDIRECTORY(regex) |
| 117 | +ADD_SUBDIRECTORY(mysys) |
| 118 | +ADD_SUBDIRECTORY(extra/yassl) |
| 119 | +ADD_SUBDIRECTORY(extra/yassl/taocrypt) |
| 120 | +ADD_SUBDIRECTORY(extra) |
| 121 | +ADD_SUBDIRECTORY(zlib) |
| 122 | +ADD_SUBDIRECTORY(heap) |
| 123 | +ADD_SUBDIRECTORY(myisam) |
| 124 | +ADD_SUBDIRECTORY(myisammrg) |
| 125 | +ADD_SUBDIRECTORY(client) |
| 126 | +ADD_SUBDIRECTORY(bdb) |
| 127 | +ADD_SUBDIRECTORY(innobase) |
| 128 | +ADD_SUBDIRECTORY(sql) |
| 129 | +ADD_SUBDIRECTORY(sql/examples) |
| 130 | +ADD_SUBDIRECTORY(server-tools/instance-manager) |
| 131 | +ADD_SUBDIRECTORY(libmysql) |
| 132 | +ADD_SUBDIRECTORY(tests) |
0 commit comments