Trying to cmake the project in a non-english environment leads to the following error:
CMake Error at storage/tokudb/PerconaFT/cmake_modules/TokuSetupCompiler.cmake:178 (message):
/usr/bin/c++ doesn't support -std=c++0x, you need one that does. Call Stack (most recent call first): storage/tokudb/PerconaFT/CMakeLists.txt:57 (include)
– Configuring incomplete, errors occurred!
The problem does not occur in an english environment (f.e LANG=C cmake).
Further investigation leads to a broken check in cmake/check_compiler_flag.cmake, which does a regex search for valid compiler flags. Since gcc in a f.e. german environment does not output "error", but "Fehler", the regex check does not work as expected. It issues warning to some flags set before the failing test, which then lead to the error seen above.
I prepared a patch that uses the cmake-builtin check_c_compiler_flag/check_cxx_compiler_flag in that file. One additional fix had to be done in order to get rid of MY_CHECK_C_COMPILER_FLAG defined in the same file (only one check directly used that function).
Since I could not find the feature documented for cmake<3.0.2 (the first cmake-3 doc on the cmake-webpage), I had to change the minimum cmake version to 3.0.2, too. Possibly one could push the version further to a more recent version of cmake; my local cmake-3.13.2 works just fine.
Best regards Jan