cmake target_sources examples

Signatures

target_sources(<target>
  <INTERFACE|PUBLIC|PRIVATE> [items1...]
[<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
target_sources(<target>
  [<INTERFACE|PUBLIC|PRIVATE>
  [FILE_SET <set> [TYPE <type>] [BASE_DIRS <dirs>...] [FILES <files>...]]...
  ]...)

Examples

novelrt/NovelRT cmake/NovelRTBuildSystem.cmake :120

target_sources(${cmakeSafeName}
    INTERFACE ${declareModule_SOURCES_INTERFACE} ${declareModule_RESOURCES_INTERFACE}
    PUBLIC ${declareModule_SOURCES_PUBLIC} ${declareModule_RESOURCES_PUBLIC}
    PRIVATE ${declareModule_SOURCES_PRIVATE} ${declareModule_RESOURCES_PRIVATE}

    INTERFACE FILE_SET interface_headers
    TYPE HEADERS
    BASE_DIRS include ${declareModule_HEADERS_BASE_DIRS}
    FILES ${declareModule_HEADERS_INTERFACE}
    PUBLIC FILE_SET public_headers
    TYPE HEADERS
    BASE_DIRS include ${declareModule_HEADERS_BASE_DIRS}
    FILES ${declareModule_HEADERS_PUBLIC}
    PRIVATE FILE_SET private_headers
    TYPE HEADERS
    BASE_DIRS include ${declareModule_HEADERS_BASE_DIRS}
    FILES ${declareModule_HEADERS_PRIVATE}

    INTERFACE FILE_SET interface_resources
    TYPE HEADERS
    BASE_DIRS Resources ${declareModule_RESOURCES_BASE_DIRS}
    FILES ${declareModule_RESOURCES_INTERFACE}
    PUBLIC FILE_SET public_resources
    TYPE HEADERS
    BASE_DIRS Resources ${declareModule_RESOURCES_BASE_DIRS}
    FILES ${declareModule_RESOURCES_PUBLIC}
    PRIVATE FILE_SET private_resources
    TYPE HEADERS
    BASE_DIRS Resources ${declareModule_RESOURCES_BASE_DIRS}
    FILES ${declareModule_RESOURCES_PRIVATE})

RavEngine/RavEngine deps/RGL/deps/Vulkan-Headers/CMakeLists.txt :72

target_sources(Vulkan-HppModule
            PUBLIC
            FILE_SET module
            TYPE CXX_MODULES
            FILES "${CMAKE_CURRENT_SOURCE_DIR}/include/vulkan/vulkan.cppm")

kokkos/kokkos cmake/kokkos_tribits.cmake :373

target_sources(
        ${LIBRARY_NAME} PUBLIC FILE_SET ${LIBRARY_NAME}_file_set TYPE CXX_MODULES FILES ${PARSE_MODULE_INTERFACE}
      )

eclipse-ecal/ecal contrib/measurement/base/CMakeLists.txt :27

target_sources(measurement_base
  INTERFACE
    FILE_SET measurement_base_headers
    TYPE HEADERS
    BASE_DIRS include
    FILES
      include/ecal/measurement/base/reader.h
      include/ecal/measurement/base/types.h
      include/ecal/measurement/base/writer.h
)

OpenKneeboard/OpenKneeboard cmake/ok_add_library.cmake :18

target_sources(
      "${TARGET}"
      "${HEADER_KIND}"
      FILE_SET HEADERS
      TYPE HEADERS
      BASE_DIRS ${LIBRARY_ARG_INCLUDE_DIRECTORIES}
      FILES ${LIBRARY_ARG_HEADERS}
    )

AcademySoftwareFoundation/MaterialX CMakeLists.txt :388

target_sources(${TARGET_NAME}
        PRIVATE
            ${args_SOURCE_FILES}
        PUBLIC
            FILE_SET
                mxHeaders
            TYPE
                HEADERS
            BASE_DIRS
                ${CMAKE_CURRENT_SOURCE_DIR}/..
                ${CMAKE_CURRENT_BINARY_DIR}/..
            FILES
                ${args_HEADER_FILES}
                ${args_INLINED_FILES})

WerWolv/ImHex lib/libimhex/CMakeLists.txt :80

target_sources(libimhex
                PUBLIC
                FILE_SET cxx_modules TYPE CXX_MODULES
                FILES
                include/hex.cppm
        )

STEllAR-GROUP/hpx cmake/HPX_AddModule.cmake :397

target_sources(
      hpx_${modulename} PUBLIC
          FILE_SET hpx_${modulename}_public_sources
              TYPE CXX_MODULES
              BASE_DIRS ${lib_module_basedir}
              FILES ${lib_module_file}
    )

google/filament third_party/dawn/third_party/vulkan-headers/src/CMakeLists.txt :72

target_sources(Vulkan-HppModule
            PUBLIC
            FILE_SET module
            TYPE CXX_MODULES
            FILES "${CMAKE_CURRENT_SOURCE_DIR}/include/vulkan/vulkan.cppm")

scylladb/seastar src/CMakeLists.txt :6

target_sources (seastar-module
  PUBLIC
    FILE_SET CXX_MODULES
    TYPE CXX_MODULES
    FILES
      seastar.cc
  PRIVATE
    core/alien.cc
    core/app-template.cc
    core/condition-variable.cc
    core/disk_params.cc
    core/exception_hacks.cc
    core/execution_stage.cc
    core/fair_queue.cc
    core/file.cc
    core/fsnotify.cc
    core/fstream.cc
    core/future-util.cc
    core/future.cc
    core/io_queue.cc
    core/linux-aio.cc
    core/memory.cc
    core/metrics.cc
    core/on_internal_error.cc
    core/posix.cc
    core/program_options.cc
    core/reactor.cc
    core/reactor_backend.cc
    core/resource.cc
    core/sharded.cc
    core/scollectd.cc
    core/semaphore.cc
    core/signal.cc
    core/smp.cc
    core/sstring.cc
    core/systemwide_memory_barrier.cc
    core/thread.cc
    core/thread_pool.cc
    core/uname.cc
    util/alloc_failure_injector.cc
    util/backtrace.cc
    util/conversions.cc
    util/file.cc
    util/log.cc
    util/process.cc
    util/program-options.cc
    util/read_first_line.cc
    util/short_streams.cc
    net/config.cc
    net/arp.cc
    net/dhcp.cc
    net/dpdk.cc
    net/ip.cc
    net/tcp.cc
    net/udp.cc
    net/stack.cc
    net/native-stack.cc
    net/posix-stack.cc
    net/net.cc
    net/proxy.cc
    net/ip_checksum.cc
    net/packet.cc
    net/inet_address.cc
    net/socket_address.cc
    net/tls.cc
    net/virtio.cc
    http/client.cc
    http/common.cc
    http/file_handler.cc
    http/httpd.cc
    http/json_path.cc
    http/matcher.cc
    http/mime_types.cc
    http/reply.cc
    http/request.cc
    http/routes.cc
    http/transformers.cc
    http/url.cc
    json/formatter.cc
    json/json_elements.cc
  )

infiniflow/infinity src/CMakeLists.txt :307

target_sources(infinity_core
        PUBLIC
        FILE_SET core_cxx_modules TYPE CXX_MODULES FILES
        ${main_cppm}
        ${infinity_cppm}
        ${common_cppm}
        ${planner_cppm}
        ${scheduler_cppm}
        ${storage_cppm}
        ${parser_cppm}
        ${function_cppm}
        ${expression_cppm}
        ${executor_cppm}
        ${metrics_cppm}
        ${admin_cppm}
        ${network_cppm}

        # for cmake bug
        ${infinity_impl_cpp}
        ${planner_impl_cpp}
        ${scheduler_impl_cpp}
        ${storage_impl_cpp}
        ${function_impl_cpp}
        ${expression_impl_cpp}
        ${executor_impl_cpp}
        ${metrics_impl_cpp}
        ${common_impl_cpp}
        ${admin_impl_cpp}
        ${network_impl_cpp}
        #        ${parser_impl_cpp}
)

KiCad/kicad-source-mirror thirdparty/fmt/CMakeLists.txt :75

target_sources(${name} PUBLIC FILE_SET fmt TYPE CXX_MODULES
                   FILES ${sources})

rbfx/rbfx Source/ThirdParty/Diligent/ThirdParty/Vulkan-Headers/CMakeLists.txt :60

target_sources(Vulkan-Module
        PUBLIC
            FILE_SET module
                TYPE CXX_MODULES
                BASE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/include"
                FILES "${CMAKE_CURRENT_SOURCE_DIR}/include/vulkan/vulkan.cppm"
    )

qbs/qbs tests/auto/blackbox/testdata/cxx-modules/decl-impl/CMakeLists.txt :8

target_sources(declaration_implementation PRIVATE
  FILE_SET all_my_modules TYPE CXX_MODULES
  BASE_DIRS
    ${PROJECT_SOURCE_DIR}
  FILES
    hello.cppm
)

Jackarain/proxy third_party/boost/libs/any/CMakeLists.txt :10

target_sources(boost_any PUBLIC
        FILE_SET modules_public TYPE CXX_MODULES FILES
            ${CMAKE_CURRENT_LIST_DIR}/modules/boost_any.cppm
    )

hypengw/Qcm core/CMakeLists.txt :3

target_sources(
  core
  PUBLIC FILE_SET
         all
         TYPE
         CXX_MODULES
         BASE_DIRS
         src
         FILES
         src/mod.cppm
         src/random.cppm
         src/type_list.cppm
         src/log.cppm
         src/core.cppm
         src/mem.cppm
         src/lambda.cppm
         src/fmt.cppm
         src/helper/mod.cppm
         src/helper/str.cppm
         src/helper/container.cppm)

hanickadot/compile-time-regular-expressions CMakeLists.txt :40

target_sources(${PROJECT_NAME} PUBLIC FILE_SET CXX_MODULES TYPE CXX_MODULES FILES ctre.cppm)

halide/Halide src/CMakeLists.txt :46

target_sources(
    Halide
    PRIVATE
    FILE_SET private_headers
    TYPE HEADERS
    FILES
    AbstractGenerator.h
    AddAtomicMutex.h
    AddImageChecks.h
    AddParameterChecks.h
    AddSplitFactorChecks.h
    AlignLoads.h
    AllocationBoundsInference.h
    ApplySplit.h
    Argument.h
    AssociativeOpsTable.h
    Associativity.h
    AsyncProducers.h
    AutoScheduleUtils.h
    BoundaryConditions.h
    Bounds.h
    BoundsInference.h
    BoundConstantExtentLoops.h
    BoundSmallAllocations.h
    Buffer.h
    Callable.h
    CanonicalizeGPUVars.h
    ClampUnsafeAccesses.h
    Closure.h
    CodeGen_C.h
    CodeGen_D3D12Compute_Dev.h
    CodeGen_GPU_Dev.h
    CodeGen_Internal.h
    CodeGen_LLVM.h
    CodeGen_Metal_Dev.h
    CodeGen_OpenCL_Dev.h
    CodeGen_Posix.h
    CodeGen_PTX_Dev.h
    CodeGen_PyTorch.h
    CodeGen_Targets.h
    CodeGen_Vulkan_Dev.h
    CodeGen_WebGPU_Dev.h
    CompilerLogger.h
    ConciseCasts.h
    CPlusPlusMangle.h
    ConstantBounds.h
    ConstantInterval.h
    CSE.h
    Debug.h
    DebugArguments.h
    DebugToFile.h
    Definition.h
    Deinterleave.h
    Derivative.h
    DerivativeUtils.h
    Deserialization.h
    DeviceAPI.h
    DeviceArgument.h
    DeviceInterface.h
    Dimension.h
    DistributeShifts.h
    EarlyFree.h
    Elf.h
    EliminateBoolVectors.h
    EmulateFloat16Math.h
    Error.h
    Expr.h
    ExprUsesVar.h
    Extern.h
    ExternFuncArgument.h
    ExtractTileOperations.h
    FastIntegerDivide.h
    FindCalls.h
    FindIntrinsics.h
    FlattenNestedRamps.h
    Float16.h
    Func.h
    Function.h
    FunctionPtr.h
    FuseGPUThreadLoops.h
    FuzzFloatStores.h
    Generator.h
    HexagonOffload.h
    HexagonOptimize.h
    ImageParam.h
    InferArguments.h
    InjectHostDevBufferCopies.h
    Inline.h
    InlineReductions.h
    IntegerDivisionTable.h
    Interval.h
    IntrusivePtr.h
    IR.h
    IREquality.h
    IRMatch.h
    IRMutator.h
    IROperator.h
    IRPrinter.h
    IRVisitor.h
    JITModule.h
    Lambda.h
    Lerp.h
    LICM.h
    LLVM_Output.h
    LLVM_Runtime_Linker.h
    LoopCarry.h
    LoopPartitioningDirective.h
    Lower.h
    LowerParallelTasks.h
    LowerWarpShuffles.h
    MainPage.h
    Memoization.h
    Module.h
    ModulusRemainder.h
    Monotonic.h
    ObjectInstanceRegistry.h
    OffloadGPULoops.h
    OptimizeShuffles.h
    OutputImageParam.h
    ParallelRVar.h
    Param.h
    Parameter.h
    PartitionLoops.h
    Pipeline.h
    Prefetch.h
    PrefetchDirective.h
    Profiling.h
    PurifyIndexMath.h
    PythonExtensionGen.h
    Qualify.h
    Random.h
    RDom.h
    Realization.h
    RealizationOrder.h
    RebaseLoopsToZero.h
    Reduction.h
    RegionCosts.h
    RemoveDeadAllocations.h
    RemoveExternLoops.h
    RemoveUndef.h
    runtime/HalideBuffer.h
    runtime/HalideRuntime.h
    Schedule.h
    ScheduleFunctions.h
    Scope.h
    SelectGPUAPI.h
    Serialization.h
    Simplify.h
    SimplifyCorrelatedDifferences.h
    SimplifySpecializations.h
    SkipStages.h
    SlidingWindow.h
    Solve.h
    SplitTuples.h
    StageStridedLoads.h
    StmtToHTML.h
    StorageFlattening.h
    StorageFolding.h
    StrictifyFloat.h
    StripAsserts.h
    Substitute.h
    Target.h
    TargetQueryOps.h
    Tracing.h
    TrimNoOps.h
    Tuple.h
    Type.h
    UnifyDuplicateLets.h
    UniquifyVariableNames.h
    UnpackBuffers.h
    UnrollLoops.h
    UnsafePromises.h
    Util.h
    Var.h
    VectorizeLoops.h
    WasmExecutor.h
    WrapCalls.h
)

stotko/stdgpu src/stdgpu/CMakeLists.txt :40

target_sources(stdgpu PUBLIC FILE_SET stdgpu_headers
                                 TYPE HEADERS
                                 BASE_DIRS ${STDGPU_INCLUDE_LOCAL_DIR}
                                 FILES algorithm.h
                                       atomic.cuh
                                       bit.h
                                       bitset.cuh
                                       compiler.h
                                       contract.h
                                       cstddef.h
                                       deque.cuh
                                       device.h
                                       execution.h
                                       functional.h
                                       iterator.h
                                       limits.h
                                       memory.h
                                       mutex.cuh
                                       numeric.h
                                       platform.h
                                       queue.cuh
                                       ranges.h
                                       stack.cuh
                                       type_traits.h
                                       unordered_map.cuh
                                       unordered_set.cuh
                                       utility.h
                                       vector.cuh)

axmolengine/axmol 3rdparty/fmt/CMakeLists.txt :79

target_sources(${name} PUBLIC FILE_SET fmt TYPE CXX_MODULES
                   FILES ${sources})

dealii/dealii module/CMakeLists.txt :293

target_sources(${DEAL_II_TARGET_NAME}_module_${build_lowercase}
      PUBLIC
      FILE_SET module_interface_units
      TYPE CXX_MODULES
      FILES
        ${_interface_module_partition_units}
        ${_primary_module_interface_unit}
      BASE_DIRS "${CMAKE_CURRENT_BINARY_DIR}/interface_module_partitions"
      )

PCSX2/pcsx2 3rdparty/fmt/CMakeLists.txt :75

target_sources(${name} PUBLIC FILE_SET fmt TYPE CXX_MODULES
                   FILES ${sources})

OFFTKP/felix86 external/fmt/CMakeLists.txt :75

target_sources(${name} PUBLIC FILE_SET fmt TYPE CXX_MODULES
                   FILES ${sources})

openc2e/openc2e externals/fmt/CMakeLists.txt :75

target_sources(${name} PUBLIC FILE_SET fmt TYPE CXX_MODULES
                   FILES ${sources})

trilinos/Trilinos packages/kokkos/cmake/kokkos_tribits.cmake :370

target_sources(
        ${LIBRARY_NAME} PUBLIC FILE_SET ${LIBRARY_NAME}_file_set TYPE CXX_MODULES FILES ${PARSE_MODULE_INTERFACE}
      )

GPUOpen-LibrariesAndSDKs/Capsaicin src/core/CMakeLists.txt :49

target_sources(capsaicin PUBLIC
    FILE_SET capsaicin_shaders TYPE HEADERS
    BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} FILES "${CAPSAICIN_SHADER_FILES}"
)

getml/sqlgen CMakeLists.txt :138

target_sources(sqlgen
        PUBLIC
        FILE_SET sqlgen_headers
        TYPE HEADERS
        BASE_DIRS $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
        FILES ${SQLGEN_HEADERS})

superg/redumper CMakeLists.txt :98

target_sources(redumper
    PUBLIC
    "dvd/css/css_tables.cc"
    "main.cc"
    "systems/system.hh"
    "utils/throw_line.hh"
    "redumper.manifest"
    PRIVATE FILE_SET cxx_modules TYPE CXX_MODULES FILES
    "analyzers/analyzer.ixx"
    "analyzers/silence.ixx"
    "analyzers/sync.ixx"
    "cd/cd.ixx"
    "cd/cd_common.ixx"
    "cd/cd_dump_extra.ixx"
    "cd/cd_dump.ixx"
    "cd/cdrom.ixx"
    "cd/ecc.ixx"
    "cd/edc.ixx"
    "cd/fix_msf.ixx"
    "cd/offset_manager.ixx"
    "cd/protection.ixx"
    "cd/scrambler.ixx"
    "cd/cd_split.ixx"
    "cd/subcode.ixx"
    "cd/toc.ixx"
    "crc/crc.ixx"
    "crc/crc16_gsm.ixx"
    "crc/crc32.ixx"
    "drive/flash_plextor.ixx"
    "drive/flash_sd616.ixx"
    "drive/flash_tsst.ixx"
    "drive/plextor.ixx"
    "drive/mediatek.ixx"
    "drive/test.ixx"
    "dvd/dvd_dump.ixx"
    "dvd/dvd_key.ixx"
    "dvd/dvd_split.ixx"
    "dvd/css/css.ixx"
    "filesystem/high_sierra/high_sierra.ixx"
    "filesystem/high_sierra/high_sierra_browser.ixx"
    "filesystem/high_sierra/high_sierra_defs.ixx"
    "filesystem/iso9660/iso9660.ixx"
    "filesystem/iso9660/iso9660_browser.ixx"
    "filesystem/iso9660/iso9660_defs.ixx"
    "filesystem/iso9660/iso9660_entry.ixx"
    "filesystem/iso9660/iso9660_map.ixx"
    "hash/block_hasher.ixx"
    "hash/md5.ixx"
    "hash/sha1.ixx"
    "readers/disc_read_cdda_reader.ixx"
    "readers/disc_read_reader.ixx"
    "readers/image_bin_reader.ixx"
    "readers/image_iso_reader.ixx"
    "readers/image_raw_reader.ixx"
    "readers/image_scram_reader.ixx"
    "readers/image_simple_reader.ixx"
    "readers/data_reader.ixx"
    "scsi/cmd.ixx"
    "scsi/mmc.ixx"
    "scsi/sptd.ixx"
    "systems/securom.ixx"
    "systems/s_cdrom.ixx"
    "systems/s_high_sierra.ixx"
    "systems/s_iso.ixx"
    "systems/dc.ixx"
    "systems/mcd.ixx"
    "systems/psx.ixx"
    "systems/ps2.ixx"
    "systems/ps3.ixx"
    "systems/ps4.ixx"
    "systems/ps5.ixx"
    "systems/sat.ixx"
    "systems/systems.ixx"
    "utils/animation.ixx"
    "utils/endian.ixx"
    "utils/file_io.ixx"
    "utils/hex_bin.ixx"
    "utils/logger.ixx"
    "utils/misc.ixx"
    "utils/signal.ixx"
    "utils/strings.ixx"
	"utils/win32.ixx"
    "utils/xbox.ixx"
    "common.ixx"
    "debug.ixx"
    "drive.ixx"
    "hash.ixx"
    "info.ixx"
    "offsets.ixx"
    "options.ixx"
    "range.ixx"
    "redumper.ixx"
    "rings.ixx"
    "rom_entry.ixx"
    "skeleton.ixx"
    "version.ixx"
)

podofo/podofo src/podofo/CMakeLists.txt :116

target_sources(${PODOFO_TARGET} PUBLIC FILE_SET headers TYPE HEADERS
    BASE_DIRS "${PROJECT_SOURCE_DIR}/src" ${CMAKE_CURRENT_BINARY_DIR}
    FILES ${PODOFO_HEADERS})

Kitware/VTK CMake/vtkModule.cmake :3971

target_sources("${target}"
    "${_vtk_add_file_set_VIS}"
      FILE_SET "${_vtk_add_file_set_NAME}"
        TYPE      "${_vtk_add_file_set_TYPE}"
        BASE_DIRS ${_vtk_add_file_set_BASE_DIRS}
        FILES     ${_vtk_add_file_set_FILES})

pongasoft/emscripten-glfw CMakeLists.txt :64

target_sources(${LIBRARY_NAME} PUBLIC
      FILE_SET headers TYPE HEADERS BASE_DIRS src/cpp/emscripten/glfw3 FILES ${glfw3_headers}
  )

LadybirdBrowser/ladybird Services/WebContent/CMakeLists.txt :62

target_sources(webcontentservice PUBLIC FILE_SET server TYPE HEADERS
    BASE_DIRS ${LADYBIRD_SOURCE_DIR}/Services
    FILES ConnectionFromClient.h
          ConsoleGlobalEnvironmentExtensions.h
          Forward.h
          PageHost.h
          WebContentConsoleClient.h
          WebDriverConnection.h
)

estkme-group/lpac cjson-ext/CMakeLists.txt :4

target_sources(
    cjson-ext
    PUBLIC
        FILE_SET public_headers
        TYPE HEADERS
        BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}
        FILES
            cjson-ext/cJSON_ex.h
)

mxcop/src-dgi extern/gapi/vulkan/vulkan-hpp/CMakeLists.txt :356

target_sources( VulkanHppModule
		PUBLIC
		FILE_SET vulkan_module_file BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} TYPE CXX_MODULES FILES vulkan/vulkan.cppm )

fossasia/pslab-mini-firmware cmake/FindCMSIS.cmake :262

target_sources(CMSIS::STM32::${TYPE}${CORE_C} INTERFACE "${CMSIS_${FAMILY}${CORE_U}_${TYPE}_STARTUP}")