I'm trying to generate precompiled headers to my project using target_precompiled_headers(). I have read this answer explaining the function, but I fail to make it work. The header isn't added to .cpp files and it generates four .hxx files.
My code:
- #CMakeLists.txt
# Collect files
set(ENGINE_WINDOW
# window
"src/window/window.h"
"src/window/window.cpp"
)
# Set filters
source_group("window" FILES ${ENGINE_WINDOW})
# Build static library
add_library(engine STATIC
${ENGINE_WINDOW}
)
# Precompile headers
target_precompile_headers(engine PRIVATE
<iostream>
)
# Specify include directories
target_include_directories(engine
PUBLIC ${PROJECT_SOURCE_DIR}/vendor/glad/include
)
# Find OpenGL
find_package(OpenGL)
# Link libraries to engine
target_link_libraries(engine
${OPENGL_gl_LIBRARY}
glad
glfw
)
- Generated cmake_pch.hxx (x4)
/* generated by CMake */
#pragma system_header
#ifdef __cplusplus
#include <iostream>
#endif // __cplusplus
- Generate cmake_pch.cpp (which is empty)
/* generated by CMake */