Precompiled header setup for CMake. Supported CMake generators:
- Visual Studio
- NMake Makefiles
- Unix Makefiles (GCC)
- MinGW Makefiles
- MSYS Makefiles
- Ninja
Create a pchheader.{c,cpp}
and pchheader.h
and add then to the CMake target:
add_library(target ... pchheader.cpp pchheeader.h)
pchheader.h
can include all the huge header files that are used everywhere in your project:
#include <string>
#include <iostream>
#include <list>
#include <map>
pchheader.{c,cpp}
should just include the header file:
#include "pchheader.h"
In your main CMakeLists.txt
, include the macro file:
include(PrecompiledHeader.cmake)
Then add this line, to set up precompiled headers:
add_precompiled_header(target pchheader.h FORCEINCLUDE)
Additional documentation is in PrecompiledHeader.cmake.