Skip to content

Commit

Permalink
Be smarter about Pch.[h|cpp] files
Browse files Browse the repository at this point in the history
As pointed out in H-uru#225, Pch.cpp looks suspiciously like a garbage file
when precompiled headers are disabled in cmake. To solve that, I have
changed the precompiled header function to add the Pch source files only
when pch is enabled. This should prevent future accidents.
  • Loading branch information
Hoikas committed Dec 22, 2012
1 parent bb4d36e commit 3ea82ca
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
4 changes: 1 addition & 3 deletions Sources/Plasma/FeatureLib/pfPython/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ set(pfPython_SOURCES
cyParticleSys.cpp
cyPhysics.cpp
cyPythonInterface.cpp
Pch.cpp
plPythonFileMod.cpp
plPythonPack.cpp
plPythonSDLModifier.cpp
Expand Down Expand Up @@ -105,7 +104,6 @@ set(pfPython_HEADERS
cyParticleSys.h
cyPhysics.h
cyPythonInterface.h
Pch.h
pfPythonCreatable.h
plPythonFileMod.h
plPythonHelpers.h
Expand Down Expand Up @@ -340,7 +338,7 @@ set(pfPython_GAMES
${pfPython_VSYNC}
)

use_precompiled_header(Pch.h Pch.cpp)
use_precompiled_header(Pch.h Pch.cpp pfPython_HEADERS pfPython_SOURCES)
add_library(pfPython STATIC ${pfPython_SOURCES} ${pfPython_HEADERS} ${pfPython_GLUE} ${pfPython_GAME_GLUE} ${pfPython_GAMES})

source_group("Source Files" FILES ${pfPython_SOURCES})
Expand Down
9 changes: 7 additions & 2 deletions cmake/PrecompiledHeader.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ if(PCH_SUPPORTED)
option(PLASMA_USE_PCH "Enable precompiled headers?" ON)
endif(PCH_SUPPORTED)

macro(use_precompiled_header PrecompiledHeader PrecompiledSource)
function(use_precompiled_header PrecompiledHeader PrecompiledSource Headers Sources)
if(PLASMA_USE_PCH)
if(MSVC)
get_filename_component(PrecompiledBasename ${PrecompiledHeader} NAME_WE)
Expand All @@ -19,5 +19,10 @@ macro(use_precompiled_header PrecompiledHeader PrecompiledSource)
add_definitions(/FI"${PrecompiledHeader}")
set_source_files_properties(${PrecompiledSource} PROPERTIES COMPILE_FLAGS "/Yc\"${PrecompiledHeader}\"")
endif(MSVC)

# Add the Pch.[h|cpp] to the appropriate sets
# OT: This has to be the oddest thing I've ever written =/
set(${Headers} ${${Headers}} ${PrecompiledHeader} PARENT_SCOPE)
set(${Sources} ${${Sources}} ${PrecompiledSource} PARENT_SCOPE)
endif(PLASMA_USE_PCH)
endmacro(use_precompiled_header)
endfunction(use_precompiled_header)

0 comments on commit 3ea82ca

Please sign in to comment.