diff --git a/CMakeLists.txt b/CMakeLists.txt index 54ab9309..428e7a16 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -703,15 +703,19 @@ endif () if (MSVC) # default for all sources is to use precompiled headers foreach(source ${sources}) - set_source_files_properties(${source} - PROPERTIES - COMPILE_FLAGS "/Yuprecompiled.hpp" - ) + if (NOT ${source} STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/src/precompiled.cpp") + set_source_files_properties(${source} + PROPERTIES + COMPILE_FLAGS "/Yuprecompiled.hpp" + OBJECT_DEPENDS precompiled.hpp + ) + endif() endforeach() # create precompiled header set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/src/precompiled.cpp PROPERTIES COMPILE_FLAGS "/Ycprecompiled.hpp" + OBJECT_OUTPUTS precompiled.hpp ) # C and C++ can not use the same precompiled header set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/src/tweetnacl.c