12/13/2023 0 Comments Cmake set std version![]() ![]() We try to ensure that older branches will build The other way around is maintained though. So newer servers will not build with older compilers. 8.0 is C++11 which requires at least Visual Studio 2015, gcc 4.8 not really C++ at all (any use of std:: is forbidden) We have in different branches, and vice versa: Incompatibilities with Sun Studio and/or Visual Studio, and break theĬompiler versions are also affected by the language standards I'm afraid that if we enable C++03 in 5.6 for gcc/clang, we risk introducing We build 5.6 on Solaris with /opt/studio12u2/bin/CC and libstlport. The oldest gcc version for MySQL 5.6 is gcc 4.4 for RedHat Linux. We have to use native compilers on all unix platforms. ![]() Thank youfor your contribution, but we are unfortunately not able to take it. While this variable is only supported in CMake 3.1+, I think it is unlikely that somebody would use an older cmake with gcc 6 or newer.Ĭompile mysql with a new gcc/clang version SET(CMAKE_CXX98_EXTENSION_COMPILE_OPTION -std=gnu++03) If MySQL really needs the gnu03 variant for some reason, it could be specified for linux builds: Instead of enforcing the standard only on linux using a manually specified flag, the standard CMake variable, CMAKE_CXX_STANDARD could be used for any compilers: Especially since even the reldebinfo build is built with a different standard than the release build, which means that basically any debugging happens compiled with a different standard. I think using different C++ standards for debug and release builds is problematic, as it could result in semantic differences. clang), it's built in the compiler's default mode (C++14 by default for newer compilers) When using release builds, or when using different compilers (e.g. This basically means, that when using new gcc versions for debug and relwithdebinfo builds, MySQL is built in C++03 mode with gcc extensions. SET(COMMON_CXX_FLAGS "$ -std=gnu++03")įor 5.5 and 5.7, I can't find anything similar. IF(GXX_VERSION VERSION_EQUAL 6.0 OR GXX_VERSION VERSION_GREATER 6.0) ![]() 5.7 contains the following in cmake/build_configurations/compiler_options.cmake: ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |