Cmake: Difference between revisions

From miki
Jump to navigation Jump to search
No edit summary
 
Line 16: Line 16:
cmake_print_variables(PROJECT_SOURCE_DIR ANOTHER_VARIABLE
cmake_print_variables(PROJECT_SOURCE_DIR ANOTHER_VARIABLE
</source>
</source>

=== Verbose build ===
* Add <code>CMAKE_VERBOSE_MAKEFILE</code> to {{file|CMakeLists.txt}} (note: it only applies to current file):
<source lang="cmake">
set(CMAKE_VERBOSE_MAKEFILE ON)
</source>

* Add <code>-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON</code> to cmake command to enable it for all files:
<source lang="bash">
cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ..
</source>

* Add <code>VERBOSE=1</code> to make command:
<source lang="bash">
cmake ..; make VERBOSE=1
</source>

See [https://bytefreaks.net/programming-2/make-building-with-cmake-verbose here] for more.

Latest revision as of 09:51, 13 June 2023

Select toolchain

On Windows

On Windows, cmake default to the latest Visual Studio version installed on the system. To select MinGW toolchain [1]:

cmake -G "MinGW Makefiles" .

Tips

Print variables

# Using message
message(PROJECT_SOURCE_DIR="${PROJECT_SOURCE_DIR}")

# Using helper:
include(CMakePrintHelpers)
cmake_print_variables(PROJECT_SOURCE_DIR ANOTHER_VARIABLE

Verbose build

  • Add CMAKE_VERBOSE_MAKEFILE to CMakeLists.txt (note: it only applies to current file):
set(CMAKE_VERBOSE_MAKEFILE ON)
  • Add -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON to cmake command to enable it for all files:
cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ..
  • Add VERBOSE=1 to make command:
cmake ..; make VERBOSE=1

See here for more.