function(add_precompiled_header outvar headerpath)
get_filename_component(header"${headerpath}" NAME)
set(pchpath ${CMAKE_CURRENT_BINARY_DIR}/${header}.dir/${CMAKE_CFG_INTDIR}/${header}.pch)
set(flags ${CMAKE_CXX_FLAGS})
separate_arguments(flags)
set(flags ${flags}
$<$
$<$
$<$
$<$
)
if(MSVC)
add_custom_target(${outvar}
COMMAND ${CMAKE_COMMAND} -E make_directory"${CMAKE_CURRENT_BINARY_DIR}/${header}.dir/${CMAKE_CFG_INTDIR}"
COMMAND ${CMAKE_CXX_COMPILER} /c ${flags} /Fp"${pchpath}" /Yc"${header}" /Tp"${CMAKE_CURRENT_SOURCE_DIR}/${headerpath}"
COMMENT"Precompiling header ${headerpath} ..."
SOURCES"${headerpath}"
)
endif()
endfunction()