I have managed to get CMake 3.11.0 to build by hacking the CLang-CXX file to
specify -std=c++1y instead of 1z. With 1z the __cplusplus define is set to a
2017 date such that the CMake code presumes the existence of std::size, which
isn’t actually defined in the headers I have (presumably because the system gcc
is 5.4.0, circa C++14).
Is there a proper way to specify the -std= to use when running the cmake
bootstrap or make?
> I am attempting to build the latest release of CMake on my ARM-based Ubuntu
> system. The bootstrap works fine, however the make fails with a bunch of
> error messages which all look like variations on this one:
> In file included from
> /home/andrew/cmake/cmake-3.11.0/Source/cmAlgorithms.h:407:7: error: no member
> named 'size' in
> namespace 'std'; did you mean 'std::seed_seq::size'?
> using std::size;
> Looking at the source the compiler is checking the __cplusplus macro to see
> if it is 2017-something, and it apparently passes this test when I make
> CMake. If I just write a trivial program that prints this define, it outputs
> 201500L. The compiler in use is the system gcc compiler, version 5.4.0.
> I’ve tried it with the CLang 7.0 compiler I just built and get the same
> Any suggestions?
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at:
Kitware offers various services to support the CMake community. For more
information on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at
Follow this link to subscribe/unsubscribe: