target_precompile_headers(<target> <INTERFACE|PUBLIC|PRIVATE> [header1...] [<INTERFACE|PUBLIC|PRIVATE> [header2...] ...])
target_precompile_headers(<target> <INTERFACE|PUBLIC|PRIVATE> [header1...] [<INTERFACE|PUBLIC|PRIVATE> [header2...] ...])
target_precompile_headers(MtKaHyPar-Sources INTERFACE definitions.h)
target_precompile_headers(Base64 INTERFACE <string>)
target_precompile_headers(${_TARG} INTERFACE $<BUILD_INTERFACE:${_BINARY_IFACE}>)
target_precompile_headers(sdl2 INTERFACE ${SDL_PCH})
target_precompile_headers(
cpp_pch_files
INTERFACE
"${PROJECT_SOURCE_DIR}/src/EnergyPlus/DataGlobalConstants.hh"
"${PROJECT_SOURCE_DIR}/src/EnergyPlus/DataGlobals.hh"
"${PROJECT_SOURCE_DIR}/src/EnergyPlus/Data/EnergyPlusData.hh"
"${PROJECT_SOURCE_DIR}/third_party/ObjexxFCL/src/ObjexxFCL/Array.functions.hh"
"${PROJECT_SOURCE_DIR}/third_party/ObjexxFCL/src/ObjexxFCL/Array1D.hh"
"${PROJECT_SOURCE_DIR}/third_party/nlohmann/json.hpp"
)
target_precompile_headers(common INTERFACE
<filesystem>
<functional>
<array>
<any>
<bitset>
<cassert>
<cinttypes>
<cstdarg>
<iostream>
<fstream>
<list>
<mutex>
<vector>
<set>
<unordered_set>
<map>
<unordered_map>
<memory>
<optional>
<sstream>
<string>
<shared_mutex>
<type_traits>
<variant>
<fmt/core.h>
<tbb/scalable_allocator.h>
<tbb/task_group.h>
<tbb/task_group.h>
<tbb/parallel_for.h>
<tbb/parallel_for_each.h>
)
target_precompile_headers(PCSX2_FLAGS INTERFACE PrecompiledHeader.h)
target_precompile_headers(project_options
INTERFACE
<vector>
<string>
<map>
<utility>
<memory>
<array>
<optional>
)
target_precompile_headers(lagrange_core_pch INTERFACE
# This list should contain files that are used often, ideally by
# at least a third of the compilation units (directly or indirectly).
# C headers
<cmath>
<cstdlib>
# C++ headers
<algorithm>
<chrono>
<functional>
<limits>
<memory>
<numeric>
<sstream>
<string>
<type_traits>
<utility>
# C++ datastructures
<array>
<list>
<map>
<queue>
<unordered_map>
<unordered_set>
<vector>
# Third party libraries
<Eigen/Core>
# Lagrange core
<lagrange/common.h>
<lagrange/Mesh.h>
<lagrange/Logger.h>
<lagrange/utils/assert.h>
<lagrange/utils/range.h>
<lagrange/utils/safe_cast.h>
)
target_precompile_headers(${PROJECT_NAME}_hl INTERFACE "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/${pch_sources}>")