Browse Source

Cmake scripts for MSVC precompiled headers

Adam Johnson 13 years ago
parent
commit
b8ffef0c25
  1. 1
      CMakeLists.txt
  2. 23
      cmake/PrecompiledHeader.cmake

1
CMakeLists.txt

@ -34,6 +34,7 @@ endif(WIN32)
find_package(MaxSDK) #TODO: Only find this if we are building PlasmaMax
find_package(Bink) #TODO: Find Bink, but don't require it if plPipeline isn't built...
# Or better yet, just eliminate bink altogether
include(PrecompiledHeader) #Precompiled Header helper macros
# libCurl isn't smart enough to detect this for us, so we have to configure it ourselves
option(CURL_IS_STATIC "Using the static version of libcurl?" ON)

23
cmake/PrecompiledHeader.cmake

@ -0,0 +1,23 @@
if(MSVC)
set(PCH_SUPPORTED TRUE)
else()
set(PCH_SUPPORTED FALSE)
endif()
if(PCH_SUPPORTED)
option(PLASMA_USE_PCH "Enable precompiled headers?" ON)
endif(PCH_SUPPORTED)
macro(use_precompiled_header PrecompiledHeader PrecompiledSource)
if(PLASMA_USE_PCH)
if(MSVC)
get_filename_component(PrecompiledBasename ${PrecompiledHeader} NAME_WE)
set(PrecompiledBinary ${PrecompiledBasename}.pch)
add_definitions(/Fp"${PrecompiledBinary}")
add_definitions(/Yu"${PrecompiledHeader}")
add_definitions(/FI"${PrecompiledHeader}")
set_source_files_properties(${PrecompiledSource} PROPERTIES COMPILE_FLAGS "/Yc\"${PrecompiledHeader}\"")
endif(MSVC)
endif(PLASMA_USE_PCH)
endmacro(use_precompiled_header)
Loading…
Cancel
Save