Build: Use precompiled headers

This commit is contained in:
Stenzek
2023-09-02 13:41:41 +10:00
parent 817129328b
commit cee4f93097
36 changed files with 198 additions and 46 deletions

View File

@ -68,6 +68,7 @@ add_library(util
window_info.h
)
target_precompile_headers(util PRIVATE "pch.h")
target_include_directories(util PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/..")
target_include_directories(util PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..")
target_link_libraries(util PUBLIC common simpleini imgui)
@ -116,6 +117,7 @@ if(ENABLE_OPENGL)
gl/context_wgl.cpp
gl/context_wgl.h
)
target_link_libraries(util PRIVATE "opengl32.lib")
endif()
if(LINUX OR FREEBSD OR ANDROID)
@ -222,6 +224,28 @@ endif()
if(WIN32)
target_sources(util PRIVATE
d3d_common.cpp
d3d_common.h
d3d11_device.cpp
d3d11_device.h
d3d11_pipeline.cpp
d3d11_pipeline.h
d3d11_stream_buffer.cpp
d3d11_stream_buffer.h
d3d11_texture.cpp
d3d11_texture.h
d3d12_builders.cpp
d3d12_builders.h
d3d12_descriptor_heap_manager.cpp
d3d12_descriptor_heap_manager.h
d3d12_device.cpp
d3d12_device.h
d3d12_pipeline.cpp
d3d12_pipeline.h
d3d12_stream_buffer.cpp
d3d12_stream_buffer.h
d3d12_texture.cpp
d3d12_texture.h
dinput_source.cpp
dinput_source.h
platform_misc_win32.cpp
@ -232,9 +256,14 @@ if(WIN32)
xinput_source.cpp
xinput_source.h
)
target_link_libraries(util PRIVATE d3d11.lib d3d12.lib d3dcompiler.lib dxgi.lib winmm.lib)
target_link_libraries(util PRIVATE d3d12ma)
target_link_libraries(util PRIVATE d3d11.lib d3d12.lib d3dcompiler.lib dxgi.lib winmm.lib Dwmapi.lib)
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
target_link_libraries(util PRIVATE WinPixEventRuntime::WinPixEventRuntime)
endif()
elseif(APPLE)
target_sources(util PRIVATE
set(MAC_SOURCES
cocoa_tools.h
metal_device.h
metal_device.mm
@ -242,10 +271,12 @@ elseif(APPLE)
metal_stream_buffer.mm
platform_misc_mac.mm
)
target_sources(util PRIVATE ${MAC_SOURCES})
find_library(IOK_LIBRARY IOKit REQUIRED)
find_library(METAL_LIBRARY Metal)
find_library(QUARTZCORE_LIBRARY QuartzCore)
target_link_libraries(util PRIVATE ${METAL_LIBRARY} ${QUARTZCORE_LIBRARY} ${IOK_LIBRARY})
set_source_files_properties(${MAC_SOURCES} PROPERTIES SKIP_PRECOMPILE_HEADERS TRUE)
elseif(NOT ANDROID)
target_sources(util PRIVATE
platform_misc_unix.cpp

4
src/util/pch.cpp Normal file
View File

@ -0,0 +1,4 @@
// SPDX-FileCopyrightText: 2019-2023 Connor McLaughlin <stenzek@gmail.com>
// SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0)
#include "pch.h"

25
src/util/pch.h Normal file
View File

@ -0,0 +1,25 @@
// SPDX-FileCopyrightText: 2019-2023 Connor McLaughlin <stenzek@gmail.com>
// SPDX-License-Identifier: (GPL-3.0 OR CC-BY-NC-ND-4.0)
#pragma once
#include "common/types.h"
#include "fmt/format.h"
#include "gsl/span"
#include <array>
#include <atomic>
#include <cstdio>
#include <cstring>
#include <ctime>
#include <functional>
#include <initializer_list>
#include <memory>
#include <mutex>
#include <optional>
#include <string>
#include <string_view>
#include <tuple>
#include <utility>
#include <vector>

View File

@ -61,6 +61,7 @@
<ClInclude Include="memory_arena.h" />
<ClInclude Include="page_fault_handler.h" />
<ClInclude Include="cd_subchannel_replacement.h" />
<ClInclude Include="pch.h" />
<ClInclude Include="platform_misc.h" />
<ClInclude Include="postprocessing.h" />
<ClInclude Include="postprocessing_shader.h" />
@ -162,6 +163,9 @@
<ClCompile Include="opengl_texture.cpp">
<ExcludedFromBuild Condition="'$(Platform)'=='ARM64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="pch.cpp">
<PrecompiledHeader>Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="platform_misc_win32.cpp" />
<ClCompile Include="postprocessing.cpp" />
<ClCompile Include="postprocessing_shader.cpp" />
@ -245,6 +249,9 @@
<ClCompile>
<AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(SolutionDir)dep\reshadefx\include</AdditionalIncludeDirectories>
<ObjectFileName>$(IntDir)/%(RelativeDir)/</ObjectFileName>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<ForcedIncludeFiles>pch.h</ForcedIncludeFiles>
</ClCompile>
</ItemDefinitionGroup>
<Import Project="..\..\dep\msvc\vsprops\Targets.props" />

View File

@ -70,6 +70,7 @@
<ClInclude Include="d3d11_texture.h" />
<ClInclude Include="host.h" />
<ClInclude Include="postprocessing_shader_fx.h" />
<ClInclude Include="pch.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="jit_code_buffer.cpp" />
@ -146,6 +147,7 @@
<ClCompile Include="d3d11_texture.cpp" />
<ClCompile Include="host.cpp" />
<ClCompile Include="postprocessing_shader_fx.cpp" />
<ClCompile Include="pch.cpp" />
</ItemGroup>
<ItemGroup>
<Filter Include="gl">