cmake target_precompile_headers examples

Signatures

target_precompile_headers(<target>
  <INTERFACE|PUBLIC|PRIVATE> [header1...]
[<INTERFACE|PUBLIC|PRIVATE> [header2...] ...])

Examples

kahypar/mt-kahypar mt-kahypar/CMakeLists.txt :6

target_precompile_headers(MtKaHyPar-Sources INTERFACE definitions.h)

OpenMW/openmw extern/Base64/CMakeLists.txt :5

target_precompile_headers(Base64 INTERFACE <string>)

NERSC/timemory cmake/Modules/MacroUtilities.cmake :1038

target_precompile_headers(${_TARG} INTERFACE $<BUILD_INTERFACE:${_BINARY_IFACE}>)

vengi-voxel/vengi contrib/libs/CMakeLists.txt :96

target_precompile_headers(sdl2 INTERFACE ${SDL_PCH})

NREL/EnergyPlus CMakeLists.txt :41

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"
    )

ericwa/ericw-tools common/CMakeLists.txt :61

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>
)

PCSX2/pcsx2 pcsx2/CMakeLists.txt :1210

target_precompile_headers(PCSX2_FLAGS INTERFACE PrecompiledHeader.h)

Bam4d/Griddly CMakeLists.txt :90

target_precompile_headers(project_options
    INTERFACE
    <vector>
    <string>
    <map>
    <utility>
    <memory>
    <array>
    <optional>
  )

adobe/lagrange modules/core/CMakeLists.txt :100

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>
    )

ned14/quickcpplib cmakelib/QuickCppLibMakeHeaderOnlyLibrary.cmake :57

target_precompile_headers(${PROJECT_NAME}_hl INTERFACE "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/${pch_sources}>")