diff options
author | unknown <df@pippilotta.erinye.com> | 2007-08-04 11:08:11 +0200 |
---|---|---|
committer | unknown <df@pippilotta.erinye.com> | 2007-08-04 11:08:11 +0200 |
commit | 5809417e4045d6587812b02fd74de1f8823991e3 (patch) | |
tree | 57797b874ff7ad01010e719ccbb18202f1565292 /CMakeLists.txt | |
parent | 78a52138c7aaee9ec67c1041d9b7ecd2e45fc79a (diff) | |
parent | 06cb99ca5aab1a2b1aa65990ef0ddda6e34509ec (diff) | |
download | mariadb-git-5809417e4045d6587812b02fd74de1f8823991e3.tar.gz |
Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/r/show_check.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/show_check.test:
Auto merged
mysys/charset.c:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
Diffstat (limited to 'CMakeLists.txt')
-rwxr-xr-x[-rw-r--r--] | CMakeLists.txt | 98 |
1 files changed, 51 insertions, 47 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3dc62977846..76d1bdb5921 100644..100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,26 +18,37 @@ PROJECT(MySql) # This reads user configuration, generated by configure.js. INCLUDE(win/configure.data) -# By default, CMake will create Release, Debug, RelWithDebInfo and MinSizeRel -# configurations. The EMBEDDED_ONLY build parameter is necessary because CMake -# doesn't support custom build configurations for VS2005. Since the Debug -# configuration does not work properly with USE_TLS defined -# (see mysys/CMakeLists.txt) the easiest way to debug the Embedded Server is to -# use the RelWithDebInfo configuration without optimizations. -# -# Debug default CXX_FLAGS "/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1" -# RelWithDebInfo default CXX_FLAGS "/MD /Zi /O2 /Ob1 /D NDEBUG" -# -IF(NOT EMBEDDED_ONLY) - # Hardcode support for CSV storage engine - SET(WITH_CSV_STORAGE_ENGINE TRUE) -ELSE(NOT EMBEDDED_ONLY) +# Hardcode support for CSV storage engine +SET(WITH_CSV_STORAGE_ENGINE TRUE) + +# CMAKE will not allow custom VS7+ configurations. mysqld and libmysqld +# cannot be built at the same time as they require different configurations +IF(EMBEDDED_ONLY) + ADD_DEFINITIONS(-DEMBEDDED_LIBRARY) + # By default, CMake will create Release, Debug, RelWithDebInfo and MinSizeRel + # configurations. The EMBEDDED_ONLY build parameter is necessary because CMake + # doesn't support custom build configurations for VS2005. Since the Debug + # configuration does not work properly with USE_TLS defined + # (see mysys/CMakeLists.txt) the easiest way to debug the Embedded Server is to + # use the RelWithDebInfo configuration without optimizations. + # + # Debug default CXX_FLAGS "/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1" + # RelWithDebInfo default CXX_FLAGS "/MD /Zi /O2 /Ob1 /D NDEBUG" SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /Zi /Od /Ob0 /D NDEBUG" CACHE STRING "No Optimization" FORCE) -ENDIF(NOT EMBEDDED_ONLY) +ENDIF(EMBEDDED_ONLY) CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in ${CMAKE_SOURCE_DIR}/include/mysql_version.h @ONLY) +# Set standard options +ADD_DEFINITIONS(-DHAVE_YASSL) + +# Set debug options +SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFORCE_INIT_OF_VARS") + +# Note that some engines are always compiled in, MyISAM, MyISAMMRG and HEAP, +# these three plugin defintions are dummys for symmetry + SET(WITH_HEAP_STORAGE_ENGINE TRUE) ADD_DEFINITIONS(-DWITH_HEAP_STORAGE_ENGINE) SET (mysql_plugin_defs "${mysql_plugin_defs},builtin_heap_plugin") @@ -103,49 +114,43 @@ ENDIF(CYBOZU) # in some places we use DBUG_OFF SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DDBUG_OFF") +SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DDBUG_OFF") SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DDBUG_OFF") +SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -DDBUG_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_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /wd4996") SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /wd4996") SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /wd4996") + SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /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}) - STRING(REPLACE "/MD" "/MT" CMAKE_CXX_FLAGS_RELWITHDEBINFO - ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}) - STRING(REPLACE "/MD" "/MT" CMAKE_C_FLAGS_RELWITHDEBINFO - ${CMAKE_C_FLAGS_RELWITHDEBINFO}) + # 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(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MAP /MAPINFO:EXPORTS") + # 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") - # set stack size (see bug#20815) - 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}) - # 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") @@ -209,6 +214,8 @@ IF(EMBED_MANIFESTS) ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64") ENDIF(EMBED_MANIFESTS) +# FIXME "debug" only needed if build type is "Debug", but +# CMAKE_BUILD_TYPE is not set during configure time. ADD_SUBDIRECTORY(vio) ADD_SUBDIRECTORY(dbug) ADD_SUBDIRECTORY(strings) @@ -241,16 +248,13 @@ ENDIF(WITH_FEDERATED_STORAGE_ENGINE) IF(WITH_INNOBASE_STORAGE_ENGINE) ADD_SUBDIRECTORY(storage/innobase) ENDIF(WITH_INNOBASE_STORAGE_ENGINE) -# CMAKE will not allow custom VS7+ configurations. mysqld and libmysqld -# cannot be built at the same time as they require different configurations +ADD_SUBDIRECTORY(libmysql) IF(EMBEDDED_ONLY) - ADD_DEFINITIONS(-DEMBEDDED_LIBRARY) ADD_SUBDIRECTORY(libmysqld) ADD_SUBDIRECTORY(libmysqld/examples) ELSE(EMBEDDED_ONLY) ADD_SUBDIRECTORY(client) ADD_SUBDIRECTORY(sql) ADD_SUBDIRECTORY(server-tools/instance-manager) - ADD_SUBDIRECTORY(libmysql) ADD_SUBDIRECTORY(tests) ENDIF(EMBEDDED_ONLY) |