CMake Build: Enable PCH build with the latest CMake version

The almost 3.16 CMake version has support for C and C++ PCHs.
The library that creates the shared PCHs needs to have also
a dummy C file.

Change-Id: Ifc9e2ae43522dd5fda5261e938901f6a8ad1898c
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Cristian Adam
2019-10-08 17:36:54 +02:00
parent fe85b9cd82
commit d769db2c78

View File

@@ -309,7 +309,8 @@ function(enable_pch target)
function(_add_pch_target pch_target pch_file pch_dependency)
if (EXISTS ${pch_file})
add_library(${pch_target} STATIC
${CMAKE_BINARY_DIR}/empty_pch.cpp)
${CMAKE_CURRENT_BINARY_DIR}/empty_pch.cpp
${CMAKE_CURRENT_BINARY_DIR}/empty_pch.c)
target_compile_definitions(${pch_target} PRIVATE ${DEFAULT_DEFINES})
set_target_properties(${pch_target} PROPERTIES
PRECOMPILE_HEADERS ${pch_file})
@@ -318,10 +319,13 @@ function(enable_pch target)
endfunction()
if (NOT TARGET QtCreatorPchGui AND NOT TARGET QtCreatorPchConsole)
file(WRITE ${CMAKE_BINARY_DIR}/empty_pch.cpp.in "/*empty file*/")
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/empty_pch.c_cpp.in "/*empty file*/")
configure_file(
${CMAKE_BINARY_DIR}/empty_pch.cpp.in
${CMAKE_BINARY_DIR}/empty_pch.cpp)
${CMAKE_CURRENT_BINARY_DIR}/empty_pch.c_cpp.in
${CMAKE_CURRENT_BINARY_DIR}/empty_pch.cpp)
configure_file(
${CMAKE_CURRENT_BINARY_DIR}/empty_pch.c_cpp.in
${CMAKE_CURRENT_BINARY_DIR}/empty_pch.c)
_add_pch_target(QtCreatorPchGui
"${PROJECT_SOURCE_DIR}/src/shared/qtcreator_gui_pch.h" Qt5::Widgets)