cmake file examples

Signatures

file(READ <filename> <out-var> [...])
file(STRINGS <filename> <out-var> [...])
file(<HASH> <filename> <out-var>)
file(TIMESTAMP <filename> <out-var> [...])
file(GET_RUNTIME_DEPENDENCIES [...])
file({WRITE | APPEND} <filename> <content>...)
file({TOUCH | TOUCH_NOCREATE} <file>...)
file(GENERATE OUTPUT <output-file> [...])
file(CONFIGURE OUTPUT <output-file> CONTENT <content> [...])
file({GLOB | GLOB_RECURSE} <out-var> [...] <globbing-expr>...)
file(MAKE_DIRECTORY <directories>...)
file({REMOVE | REMOVE_RECURSE } <files>...)
file(RENAME <oldname> <newname> [...])
file(COPY_FILE <oldname> <newname> [...])
file({COPY | INSTALL} <file>... DESTINATION <dir> [...])
file(SIZE <filename> <out-var>)
file(READ_SYMLINK <linkname> <out-var>)
file(CREATE_LINK <original> <linkname> [...])
file(CHMOD <files>... <directories>... PERMISSIONS <permissions>... [...])
file(CHMOD_RECURSE <files>... <directories>... PERMISSIONS <permissions>... [...])
file(REAL_PATH <path> <out-var> [BASE_DIRECTORY <dir>] [EXPAND_TILDE])
file(RELATIVE_PATH <out-var> <directory> <file>)
file({TO_CMAKE_PATH | TO_NATIVE_PATH} <path> <out-var>)
file(DOWNLOAD <url> [<file>] [...])
file(UPLOAD <file> <url> [...])
file(LOCK <path> [...])
file(ARCHIVE_CREATE OUTPUT <archive> PATHS <paths>... [...])
file(ARCHIVE_EXTRACT INPUT <archive> [...])

Examples

ossia/score cmake/ScoreExternalAddon.developer.cmake :100

file(CONFIGURE
  OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/ossia-config.hpp"
  CONTENT "#pragma once
  // ABI-breaking language features
  #define OSSIA_SHARED_MUTEX_AVAILABLE

  // Protocols supported by the build
  #define OSSIA_PROTOCOL_AUDIO
  #define OSSIA_PROTOCOL_MIDI
  #define OSSIA_PROTOCOL_OSC
  #define OSSIA_PROTOCOL_MINUIT
  #define OSSIA_PROTOCOL_OSCQUERY
  #define OSSIA_PROTOCOL_HTTP
  #define OSSIA_PROTOCOL_WEBSOCKETS
  #define OSSIA_PROTOCOL_SERIAL
  /* #undef OSSIA_PROTOCOL_PHIDGETS */
  /* #undef OSSIA_PROTOCOL_LEAPMOTION */
  #define OSSIA_PROTOCOL_JOYSTICK
  #define OSSIA_PROTOCOL_WIIMOTE
  #define OSSIA_PROTOCOL_ARTNET

  // Additional features
  #define OSSIA_DNSSD
  #define OSSIA_QT
  #define OSSIA_QML
  #define OSSIA_DATAFLOW
  /* #undef OSSIA_C */
  /* #undef OSSIA_QML_DEVICE */
  /* #undef OSSIA_QML_SCORE */
  #define OSSIA_EDITOR
  #define OSSIA_PARALLEL
  #define OSSIA_SCENARIO_DATAFLOW

  // FFT support
  #define OSSIA_ENABLE_FFT
  #define OSSIA_ENABLE_KFR

  #define OSSIA_FFT_KFR

  #define OSSIA_HAS_FMT
  #define OSSIA_HAS_RE2
  #define OSSIA_HAS_CTRE
  #define OSSIA_HAS_RAPIDFUZZ

  #define OSSIA_CALLBACK_CONTAINER_MUTEX std::mutex
")

swiftlang/swift Runtimes/Overlay/cmake/modules/ResourceEmbedding.cmake :18

file(CONFIGURE
    OUTPUT ${_EM_BINARY_DIR}/${_EM_NAME}-${PROJECT_VERSION}.1.manifest.in
    CONTENT [[<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly manifestversion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
  <assemblyIdentity
    name="$<TARGET_NAME:@target@>"
    processorArchitecture="@CMAKE_SYSTEM_PROCESSOR@"
    type="win32"
    version="@PROJECT_VERSION@" />
  <file name="$<TARGET_FILE_NAME:@target@>" />
</assembly>]])