rust-lang / cmake-rs

Rust build dependency for running cmake
https://docs.rs/cmake
Apache License 2.0
301 stars 121 forks source link

Make sure that cmake generate build files in current dir #194

Open meowtec opened 9 months ago

meowtec commented 9 months ago

This should fix the Error: could not load cache BUG.

If there are already generated build files in the project directory, then if you execute the command cmake path/project in $OUT_DIR/build, cmake will not generate new build files in the $OUT_DIR/build directory.

So -B . is needed. https://cmake.org/cmake/help/latest/manual/cmake.1.html#cmdoption-cmake-B

Example:

cd /path/to/project
cmake .         
# output `Build files have been written to: /path/to/project`
cd /path/to/build && cmake /path/to/project
# we expect the build files will be generated at current dir (/path/to/build)
# but unfortunately get `Build files have been written to: /path/to/project`
cd /path/to/build && cmake /path/to/project -B .  
# output `Build files have been written to: /path/to/build`, that is right!

Infomation:

cmake --version
cmake version 3.27.7

CMake suite maintained and supported by Kitware (kitware.com/cmake).