I'm trying to follow these instructions to compile-install BASIS (CMake Build system And Software Implementation Standard) on MSYS2 using MinGW-w64 compilers. However, the ccmake ..
step fails:
-bash: ccmake: command not found
I tried searching the MSYS2 packages by pacman -Ss ccmake
with no results. So I thought I have to use commandline cmake
instead:
cmake -DCMAKE_INSTALL_PREFIX:PATH=~/local -DBUILD_APPLICATIONS:BOOL=ON -DBUILD_EXAMPLE:BOOL=ON ..
which failed by:
CMake Error at src/cmake/modules/ProjectTools.cmake:876 (message):
CMAKE_INSTALL_PREFIX must be an absolute path!
Call Stack (most recent call first):
src/cmake/modules/ProjectTools.cmake:2525 (basis_installtree_asserts)
src/cmake/modules/ProjectTools.cmake:2751 (basis_project_begin)
CMakeLists.txt:69 (basis_project_impl)
as a workaround I changed the ~/local
to /home/<userName>/local
which seem to be working. However, I don't know where the MakeFile(s) are, cause when running the make .
I get the error:
mingw32-make: *** No targets specified and no makefile found. Stop.
given that I have alias make='mingw32-make
in the ~/.bashrc
file. I would appreciate if you could help me know what is the problem and how I can solve it. I have the MSYS2-MinGW-w64 package mingw64/mingw-w64-x86_64-cmake
installed. My Windows is version 1909,
and MSYS_NT-10.0-18363 is my environment.
P.S.1. Looking at the CMake's output I now see that there is actually a warning:
CMake Warning (dev) in CMakeLists.txt:
No project() command is present. The top-level CMakeLists.txt file must
contain a literal, direct call to the project() command. Add a line of
code such as
project(ProjectName)
near the top of the file, but after cmake_minimum_required().
CMake is pretending there is a "project(Project)" command on the first
line.
This warning is for project developers. Use -Wno-dev to suppress it.
which is a bit ironic for this project, but I am not sure if this is the reason why the compiling fails.
P.S.2. I had the mingw64/mingw-w64-x86_64-cmake
package installed, which doesn't have the ccmake
tool. But the msys/cmake
does. So:
pacman -R mingw-w64-x86_64-cmake
pacman -S msys/cmake
now ccmake
is available.