forked from qt-creator/qt-creator
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:
@@ -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)
|
||||
|
Reference in New Issue
Block a user