I was following the tutorial and in the first step
Exercise 1 - Building a Basic Project
the instructions ask to run in the console cmake ../Step1
And as the output I got
CMake Error at CMakeLists.txt:5 (project):
Running
'nmake' '-?'
failed with:
no such file or directory
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
And this is what I have in the CMakeList.txt:
# TODO 1: Set the minimum required version of CMake to be 3.10
cmake_minimum_required(VERSION 3.10)
# TODO 2: Create a project named Tutorial
project(Tutorial)
# TODO 7: Set the project version number as 1.0 in the above project command
# TODO 6: Set the variable CMAKE_CXX_STANDARD to 11
# and the variable CMAKE_CXX_STANDARD_REQUIRED to True
# TODO 8: Use configure_file to configure and copy TutorialConfig.h.in to
# TutorialConfig.h
# TODO 3: Add an executable called Tutorial to the project
# Hint: Be sure to specify the source file as tutorial.cxx
add_executable(Tutorial tutorial.cxx)
# TODO 9: Use target_include_directories to include ${PROJECT_BINARY_DIR}
CMake requires the environment to be correctly set up for development when it is run. That is, when you run cmake ../Step1, the environment of your command-line must have all the necessary build tools in PATH etc. Is that the case?
Using the Visual Studio generator is an exception to this rule (CMake can locate VS itself), but as the error you’re getting references nmake, you’re probably not generating for VS and so the exception doesn’t apply.
You may also use setup-cpp to install a toolchain on your OS (Windows too).
bash-5.2$ cmake -S Step2 -B build
-- The C compiler identification is Clang 19.1.7
-- The CXX compiler identification is Clang 19.1.7
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/opt/llvm/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/local/opt/llvm/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (11.1s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/clausklein/cmake/tutorial/build
bash-5.2$ cmake --build build
[2/2] Linking CXX executable Tutorial
bash-5.2$
``