Reference

Groups

Shared (70)

[ccl_add_app] [ccl_add_assets] [ccl_add_core_app] [ccl_add_core_library] [ccl_add_core_plugin_library] [ccl_add_dependencies] [ccl_add_extension] [ccl_add_extension_package] [ccl_add_external_project] [ccl_add_library] [ccl_add_optional] [ccl_add_plugin_library] [ccl_add_resources] [ccl_add_script_package] [ccl_add_shader_resource] [ccl_add_skin_package] [ccl_add_snapshot_package] [ccl_add_test] [ccl_add_to_cache] [ccl_check_file_created] [ccl_check_target_exists] [ccl_configure_target] [ccl_copy_imported_target] [ccl_create_file_once] [ccl_create_plugin_file] [ccl_encrypt] [ccl_evaluate_macros] [ccl_export_symbols] [ccl_file_glob] [ccl_find_file] [ccl_find_path] [ccl_find_platform_file] [ccl_find_program] [ccl_generate_path_list] [ccl_generate_repo_info] [ccl_get_build_output_directory] [ccl_get_bundle_dir] [ccl_get_extension_library_path] [ccl_get_isolated_target] [ccl_get_isolated_target] [ccl_get_library_path] [ccl_include_platform_specifics] [ccl_link_whole_archive] [ccl_list_append_once] [ccl_make_appsecurity] [ccl_make_authpolicy] [ccl_makebin] [ccl_makebin_export] [ccl_makezip] [ccl_prepare_external_project_cache] [ccl_print_directory_properties] [ccl_print_source_file_properties] [ccl_print_target_properties] [ccl_print_variables] [ccl_process_plugins_type] [ccl_read_version] [ccl_restore_from_cache] [ccl_set_debug_arguments] [ccl_set_debug_command] [ccl_set_product_name] [ccl_set_project_vendor] [ccl_set_startup_project] [ccl_set_vendor] [ccl_setup_external_project_options] [ccl_sign] [ccl_target_headers] [ccl_use_skin_packages] [ccl_use_translation_packages] [get_properties] [target_link_ccl_framework]

Android (24)

[ccl_add_aar_project] [ccl_add_deployment_project] [ccl_add_gradle_dependency] [ccl_add_gradle_include] [ccl_add_gradle_project] [ccl_add_gradle_project_property] [ccl_add_gradle_property] [ccl_add_gradle_settings] [ccl_add_java_sourcedir] [ccl_add_preload_libraries] [ccl_add_proguard_file] [ccl_configure_project_vendor] [ccl_copy_imported_jnilib] [ccl_generate_signing_key] [ccl_generate_signing_properties] [ccl_generate_version_properties] [ccl_get_jnilibs_directory] [ccl_get_target_gradle_dir] [ccl_install_aar] [ccl_process_assets] [ccl_process_dependencies] [ccl_process_resources] [ccl_set_target_gradle_prefix] [ccl_setup_external_project_platform_options]

Extensions (4)

[ccl_extensions_add_core_library] [ccl_extensions_add_library] [ccl_extensions_configure_target] [ccl_import_extension_files]

Ios (2)

[ccl_configure_project_vendor] [ccl_configure_vendor]

Linux (11)

[ccl_add_shader_resource] [ccl_configure_project_vendor] [ccl_install_appstream_file] [ccl_install_desktop_file] [ccl_install_icon] [ccl_install_icons_from_xcassets] [ccl_install_mimetypes] [ccl_process_assets] [ccl_process_resources] [ccl_setup_external_project_platform_options] [ccl_use_dbus_interface]

Mac (9)

[ccl_add_shader_resource] [ccl_configure_project_vendor] [ccl_configure_vendor] [ccl_generate_export_file] [ccl_process_assets] [ccl_process_plugins] [ccl_process_resources] [ccl_setup_external_project_platform_options] [core_add_bundle_localizations]

Win (14)

[ccl_add_pixelshader] [ccl_add_shader_resource] [ccl_add_vertexshader] [ccl_configure_project_vendor] [ccl_disable_arm64x] [ccl_embed_manifest] [ccl_generate_export_file] [ccl_get_sign_args] [ccl_nsis_package] [ccl_process_dependencies] [ccl_process_resources] [ccl_reset_project_vendor_variables] [ccl_set_debug_command] [ccl_sign_files]


Functions (5)

ccl_add_test(target)

function shared cclmacros.cmake

Add a target containing unit tests. This will add a custom target in order to run the tests. For generators XCode and Visual Studio, the debugger command for the provided target is replaced by the testrunner in order to directly debug tests.

Parameters:

target (string) – Name of the target to add the extension to.

> back to top

ccl_print_directory_properties()

function shared coremacros.cmake

Print all properties that are defined for the current directory.

> back to top

ccl_print_source_file_properties(file)

function shared coremacros.cmake

Print all properties that are defined for a source file.

Parameters:

file (filepath) – Path to a file to print the properties for.

> back to top

ccl_print_target_properties(target)

function shared coremacros.cmake

Print all properties that are defined for a target.

Parameters:

target (string) – Name of the target to print the properties for.

> back to top

ccl_print_variables()

function shared coremacros.cmake

Print all variables.

> back to top

Macros (129)

ccl_add_aar_project(project, NAMESPACE, DEPENDS)

macro android coremacros.android.cmake

Generate an AAR packaging project for Java parts and resources.

Parameters:
  • project (string) – Gradle project name.

  • NAMESPACE (string) – Java namespace for AAR.

  • DEPENDS (string) – [variadic] List of dependency target names.

> back to top

ccl_add_app(target, SUBDIR, VENDOR, VERSION_FILE, VERSION_PREFIX, flags)

macro shared coremacros.cmake

Add an application, preconfigured to match vendor guidelines.

Parameters:
  • target (string) – Name of the target to add.

  • SUBDIR (string) – [optional] Subdirectory to place the build artifact in, e.g. “Plugins”.

  • VENDOR (string) – [optional] Vendor ID, used to determine version information. See ccl_set_vendor.

  • VERSION_FILE (filepath) – [optional] Path to a version header file.

  • VERSION_PREFIX (string) – [optional] Prefix used in the version header file, e.g. APP or PLUG.

  • flags – [variadic] Use BUNDLE for applications that contain resources. Use GUI for applications that have an application window, implies BUNDLE.

> back to top

ccl_add_assets(target, PATH, FILES, DIRECTORY)

macro shared coremacros.cmake

Add asset files to a target. All asset files are placed in the application directory. You may place all asset files in a subdirectory using an optional PATH <subdirectory> argument.

Parameters:
  • target (string) – Name of the target to add asset files to.

  • PATH (path) – [optional] Destination subdirectory.

  • FILES (filepath) – [variadic] Asset files.

  • DIRECTORY (path) – [variadic] Asset directories.

> back to top

ccl_add_core_app(target, SUBDIR, VENDOR, VERSION_FILE, VERSION_PREFIX, flags)

macro shared coremacros.cmake

Add an application using core, preconfigured to match vendor guidelines.

Parameters:
  • target (string) – Name of the target to add.

  • SUBDIR (string) – [optional] Subdirectory to place the build artifact in, e.g. “Plugins”.

  • VENDOR (string) – [optional] Vendor ID, used to determine version information. See ccl_set_vendor.

  • VERSION_FILE (filepath) – [optional] Path to a version header file.

  • VERSION_PREFIX (string) – [optional] Prefix used in the version header file, e.g. APP or PLUG.

  • flags – [variadic] Use BUNDLE for applications that contain resources. Use GUI for applications that have an application window, implies BUNDLE.

> back to top

ccl_add_core_library(target, type, SUBDIR, VENDOR, VERSION_FILE, VERSION_PREFIX)

macro shared coremacros.cmake

Add a library using core, preconfigured to match vendor guidelines.

Parameters:
  • target (string) – Name of the target to add.

  • type (string) – Target type, e.g. STATIC, MODULE, INTERFACE.

  • SUBDIR (string) – [optional] Subdirectory to place the build artifact in, e.g. “Plugins”.

  • VENDOR (string) – [optional] Vendor ID, used to determine version information. See ccl_set_vendor.

  • VERSION_FILE (filepath) – [optional] Path to a version header file.

  • VERSION_PREFIX (string) – [optional] Prefix used in the version header file, e.g. APP or PLUG.

> back to top

ccl_add_core_plugin_library(target, type)

macro shared coremacros.cmake

Add a plug-in library, preconfigured to match vendor guidelines.

Parameters:

target (string) – Name of the target to add.

> back to top

ccl_add_dependencies(target, args)

macro shared coremacros.cmake

Add dependencies to a target. Unlike CMake’s add_dependencies, this macro skips non-existing targets silently.

Parameters:
  • target (string) – Name of the target to add dependencies to.

  • args – [variadic] Dependencies.

> back to top

ccl_add_deployment_project(project, appid, CMAKE_ARGS)

macro android coremacros.android.cmake

Add an existing APK deployment project.

Parameters:
  • project (string) – Parent project target name.

  • appid (string) – Application ID, e.g. dev.ccl.ccldemo.

  • CMAKE_ARGS (string) – [variadic] List of arguments to pass to native CMake subprojects.

> back to top

ccl_add_extension(target, input)

macro shared cclmacros.cmake

Add an extension.

Parameters:
  • target (string) – Name of the target to add the extension to.

  • input (filepath) – Extension project name.

> back to top

ccl_add_extension_package(target, input)

macro shared cclmacros.cmake

Add an extension package, generated from a .build description file.

Parameters:
  • target (string) – Name of the target to add the extension to.

  • input (filepath) – Extension package .build file for the packagetool.

> back to top

ccl_add_external_project(target, sourcedir, CONFIGURE_ONLY, BUILD_COMMAND, INSTALL_COMMAND, OPTIONS)

macro shared coremacros.cmake

Add an external project.

Parameters:
  • target (string) – Name of the target to add for the external project.

  • sourcedir (path) – Folder containing the external project’s CMakeLists.txt.

  • CONFIGURE_ONLY (bool) – [optional] Skip build and install steps.

  • BUILD_COMMAND (string) – [optional] Custom build command.

  • INSTALL_COMMAND (string) – [optional] Custom install command.

  • OPTIONS (list) – [optional] Options to add to the external project’s CMake invocation.

> back to top

ccl_add_gradle_dependency(target, packages, COMPILE_ONLY, TRANSITIVE)

macro android coremacros.android.cmake

Add an external dependency to the project

Parameters:
  • target (string) – Name of the target to operate on.

  • packages (list) – Package identifiers of the dependencies to add.

  • COMPILE_ONLY (bool) – Don’t add the dependency to the resulting package.

  • TRANSITIVE (bool) – Pass the dependency on to depending projects.

> back to top

ccl_add_gradle_include(target, path)

macro android coremacros.android.cmake

Add a .gradle file to include in the project build

Parameters:
  • target (string) – Name of the target to operate on.

  • path (string) – Path to the .gradle file to include.

> back to top

ccl_add_gradle_project(target, name, path, TRANSITIVE)

macro android coremacros.android.cmake

Add an external Gradle project to include in the project

Parameters:
  • target (string) – Name of the target to operate on.

  • name (string) – Name of the Gradle project to include.

  • path (string) – Path to the Gradle project.

  • TRANSITIVE (bool) – Pass the dependency on to depending projects.

> back to top

ccl_add_gradle_project_property(target, project, name, value)

macro android coremacros.android.cmake

Set a property on an external Gradle project

Parameters:
  • target (string) – Name of the target to operate on.

  • project (string) – Name of the external Gradle project.

  • name (string) – Name of the property to add.

  • value (string) – Initial value of the property.

> back to top

ccl_add_gradle_property(target, name, value)

macro android coremacros.android.cmake

Add a property that will be made available in .gradle scripts

Parameters:
  • target (string) – Name of the target to operate on.

  • name (string) – Name of the property to add.

  • value (string) – Initial value of the property.

> back to top

ccl_add_gradle_settings(target, path)

macro android coremacros.android.cmake

Add a .settings.gradle file to include in the project settings

Parameters:
  • target (string) – Name of the target to operate on.

  • path (string) – Path to the .settings.gradle file to include.

> back to top

ccl_add_java_sourcedir(target, path)

macro android coremacros.android.cmake

Add a Java source dir to include in the project build

Parameters:
  • target (string) – Name of the target to operate on.

  • path (string) – Path to the Java source dir to add.

> back to top

ccl_add_library(target, type, SUBDIR, VENDOR, VERSION_FILE, VERSION_PREFIX, POSTFIX)

macro shared coremacros.cmake

Add a library, preconfigured to match vendor guidelines.

Parameters:
  • target (string) – Name of the target to add.

  • type (string) – Target type, e.g. STATIC, MODULE, INTERFACE.

  • SUBDIR (string) – [optional] Subdirectory to place the build artifact in, e.g. “Plugins”.

  • VENDOR (string) – [optional] Vendor ID, used to determine version information. See ccl_set_vendor.

  • VERSION_FILE (filepath) – [optional] Path to a version header file.

  • VERSION_PREFIX (string) – [optional] Prefix used in the version header file, e.g. APP or PLUG.

  • POSTFIX (string) – [optional] Postfix to append to the target name and binary output name.

> back to top

ccl_add_optional(target, optionname, description, default, sources)

macro shared coremacros.cmake

Add source files for an optional feature to a target.

Parameters:
  • target (string) – Name of the target to add source files to.

  • optionname (string) – Name of an option to check.

  • description (string) – Description of the optional feature.

  • default (bool) – Default value of the option.

  • sources (string) – Name of a variable that contains the source files of the feature.

> back to top

ccl_add_pixelshader(target, source)

macro win cclmacros.win.cmake

Add a 3D pixel shader resource.

Parameters:
  • target (string) – Name of the target to add a shader resource to.

  • source (string) – Shader source file.

> back to top

ccl_add_plugin_library(target)

macro shared cclmacros.cmake

Add a plug-in library, preconfigured to match vendor guidelines.

Parameters:

target (string) – Name of the target to add.

> back to top

ccl_add_preload_libraries(target, LIBRARIES)

macro android coremacros.android.cmake

Add libraries to preload for calling JNI_OnLoad

Parameters:
  • target (string) – Name of target to add preload libraries to.

  • LIBRARIES (string) – [variadic] List of library names.

> back to top

ccl_add_proguard_file(target, path)

macro android coremacros.android.cmake

Add a ProGuard file to include in the project build

Parameters:
  • target (string) – Name of the target to operate on.

  • path (string) – Path to the ProGuard file to include.

> back to top

ccl_add_resources(target, args)

macro shared coremacros.cmake

Add resource files to a target. All resource files are placed in a flat resource directory. You may place all resource files in a subdirectory using an optional PATH <subdirectory> argument.

Parameters:
  • target (string) – Name of the target to add resource files to.

  • args – [variadic] Resource files.

> back to top

ccl_add_script_package(target, input)

macro shared cclmacros.cmake

Add a package containing scripts, generated from a .in description file or a folder.

Parameters:
  • target (string) – Name of the target to add the script package to.

  • input (filepath) – Script package .in file or folder for the packagetool.

> back to top

ccl_add_shader_resource(target, source)

macro shared cclgui.ios.cmake

> back to top

ccl_add_shader_resource(target, source)

macro linux cclmacros.linux.cmake

Add a 3D shader resource.

Parameters:
  • target (string) – Name of the target to add a shader resource to.

  • source (string) – Shader source file.

> back to top

ccl_add_shader_resource(target, source)

macro mac cclmacros.mac.cmake

Add a 3D shader resource.

Parameters:
  • target (string) – Name of the target to add a shader resource to.

  • source (string) – Shader source file.

> back to top

ccl_add_shader_resource(target, source, shader_type)

macro win cclmacros.win.cmake

Add a 3D shader resource.

Parameters:
  • target (string) – Name of the target to add a shader resource to.

  • source (string) – Shader source file.

  • shader_type (string) – Shader type, usually “Vertex” or “Pixel”.

> back to top

ccl_add_skin_package(target, from)

macro shared skins-config.cmake

adds a custom application skin package

> back to top

ccl_add_snapshot_package(target, input)

macro shared cclmacros.cmake

Add a snapshot package, generated from a directory.

Parameters:
  • target (string) – Name of the target to add the snapshot to.

  • input (filepath) – Directory containing a snapshot subdirectory for the packagetool.

> back to top

ccl_add_to_cache(cache_entry, file_path)

macro shared coremacros.cmake

Add a file to cache.

Parameters:
  • cache_entry (string) – Unique cache entry identifier.

  • file_path (filepath) – Path to the file.

> back to top

ccl_add_vertexshader(target, source, shader_type)

macro win cclmacros.win.cmake

Add a 3D vertex shader resource.

Parameters:
  • target (string) – Name of the target to add a shader resource to.

  • source (string) – Shader source file.

  • shader_type (string) – Shader type.

> back to top

ccl_check_file_created(file, result)

macro shared coremacros.cmake

Check if a file has been created using a ccl_create_file_once

Parameters:
  • file (string) – File name.

  • result (string) – Result variable. Set to ON if the file has already been created. Set to OFF otherwise.

> back to top

ccl_check_target_exists(target, result)

macro shared coremacros.cmake

Check if a target already exists

Parameters:
  • target (string) – Name of the target.

  • result (string) – Name of the result variable.

> back to top

ccl_configure_project_vendor(vendor)

macro android coremacros.android.cmake

Configure the project vendor.

Parameters:

vendor (string) – Vendor name.

> back to top

ccl_configure_project_vendor(vendor)

macro ios coremacros.ios.cmake

Configure the project vendor.

Parameters:

vendor (string) – Vendor name.

> back to top

ccl_configure_project_vendor(vendor)

macro linux coremacros.linux.cmake

Configure the project vendor.

Parameters:

vendor (string) – Vendor name.

> back to top

ccl_configure_project_vendor(vendor)

macro mac coremacros.mac.cmake

Configure the project vendor.

Parameters:

vendor (string) – Vendor name.

> back to top

ccl_configure_project_vendor(vendor)

macro win coremacros.win.cmake

Configure the project vendor.

Parameters:

vendor (string) – Vendor name.

> back to top

ccl_configure_target(target)

macro shared coremacros.cmake

Preconfigure a target to match vendor guidelines.

Parameters:

target (string) – Name of the target to configure.

> back to top

ccl_configure_vendor(target, vendor)

macro ios coremacros.ios.cmake

Configure the target vendor.

Parameters:

vendor (string) – Vendor name.

> back to top

ccl_configure_vendor(target, vendor)

macro mac coremacros.mac.cmake

Configure the target vendor.

Parameters:

vendor (string) – Vendor name.

> back to top

ccl_copy_imported_jnilib(target)

macro android coremacros.android.cmake

Copy imported libs of target to jnilibs directory

Parameters:

target (string) – Name of target to copy imported lib from.

> back to top

ccl_copy_imported_target(target, SUBDIR, FOLDER, STRING)

macro shared coremacros.cmake

Copy an imported target to the build output directory.

Parameters:
  • target (string) – Name of the imported target.

  • SUBDIR (string) – [optional] Subdirectory to copy the imported target to, e.g. “Plugins”.

  • FOLDER (string) – [optional] Project “folder” as displayed in the IDE.

  • STRING (string) – [optional] Target name of the new copy target.

> back to top

ccl_create_file_once(file, CONTENT)

macro shared coremacros.cmake

Ensure a file is created and initialized exactly once.

Parameters:
  • file (string) – File name.

  • CONTENT (string) – [variadic,optional] Initial file content.

> back to top

ccl_create_plugin_file(module, LOCATION)

macro shared coremacros.cmake

Create a .plugin file for native module loading.

Parameters:
  • module (string) – Module name.

  • LOCATION (string) – Location to add the .plugin file to.

> back to top

ccl_disable_arm64x(target)

macro win coremacros.win.cmake

Disable Arm64X build for given DLL target.

Parameters:

target (string) – DLL target name.

> back to top

ccl_embed_manifest(target, file)

macro win coremacros.win.cmake

Add a manifest file to a target

Parameters:
  • target (string) – Name of a target to add resources to.

  • file (filepath) – Path to a manifest file.

> back to top

ccl_encrypt(INPUT, OUTPUT, CIPHER)

macro shared cclmacros.cmake

Encrypt a file.

Parameters:
  • INPUT (filepath) – Path to the input file.

  • OUTPUT (filepath) – [optional] Path to the resulting xml file.

  • CIPHER (filepath) – Path to a cipher xml file.

> back to top

ccl_evaluate_macros(file, args)

macro shared coremacros.cmake

Preprocess a header file and read the values of peprocessor definitions.

Parameters:
  • file (filepath) – Source file with preprocessor definitions.

  • args – [variadic] List of pairs <var> <macro>, where <var> is the name of an output variable and <macro> is a macro to evaluate and store into <var>.

> back to top

ccl_export_symbols(target, args)

macro shared coremacros.cmake

Generate an export definition for a target.

Parameters:
  • target (string) – Name of the target to add resource files to.

  • args – [variadic] List of functions to export.

> back to top

ccl_extensions_add_core_library(target, subdir, extension)

macro extensions coremacros.cmake

Add an extension library using core, preconfigured to match vendor guidelines.

Parameters:
  • target (string) – Name of the target to add.

  • subdir (string) – Subdirectory of the extension library, e.g. plugins or dsp.

  • extension (string) – [optional] Name of the extension. Defaults to <target>.

> back to top

ccl_extensions_add_library(target, subdir, extension)

macro extensions coremacros.cmake

Add an extension library, preconfigured to match vendor guidelines.

Parameters:
  • target (string) – Name of the target to add.

  • subdir (string) – Subdirectory of the extension library, e.g. plugins or dsp.

  • extension (string) – [optional] Name of the extension. Defaults to <target>.

> back to top

ccl_extensions_configure_target(target, subdir, extension)

macro extensions coremacros.cmake

Preconfigure an extension library to match vendor guidelines.

Parameters:
  • target (string) – Name of a target to configure.

  • subdir (string) – Subdirectory of the extension library, e.g. plugins or dsp.

  • extension (string) – Name of the extension.

> back to top

ccl_file_glob(file_list, glob)

macro shared cclmacros.cmake

File glob and filter for files starting with a “.” (hidden on many OSs)

Parameters:
  • file_list (string) – Name of the variable to put the result into.

  • glob (string) – Glob expressions (path with wildcards)

> back to top

ccl_find_file(var)

macro shared coremacros.cmake

Find a file. This command is equivalent to the built-in find_file CMake provides. The only exception is that it checks for a revision number to make sure that CMake updates paths after a developer moved or renamed a previously cached directoy. Whenever you move or rename a file which might be used in any calls to ccl_find_file, update the revision number CCL_CMAKE_REVISION_NUMBER at the top of this file

> back to top

ccl_find_path(var)

macro shared coremacros.cmake

Find a directory containing a named file. This command is equivalent to the built-in find_path CMake provides. The only exception is that it checks for a revision number to make sure that CMake updates paths after a developer moved or renamed a previously cached directoy. Whenever you move or rename a directory which might be used in any calls to ccl_find_path, update the revision number CCL_CMAKE_REVISION_NUMBER at the top of this file

> back to top

ccl_find_platform_file(target)

macro shared coremacros.cmake

Try to find a platform configuration file for a target.

Parameters:

target (string) – Name of a target to find a platform-specific configuration file for.

> back to top

ccl_find_program(var)

macro shared coremacros.cmake

Find a program. This command is equivalent to the built-in find_program CMake provides. The only exception is that it checks for a revision number to make sure that CMake updates paths after a developer moved or renamed a previously cached directoy. Whenever you move or rename a program which might be used in any calls to ccl_find_program, update the revision number CCL_CMAKE_REVISION_NUMBER at the top of this file

> back to top

ccl_generate_export_file(target_raw, args)

macro mac coremacros.mac.cmake

Generate an export definition for a target.

Parameters:
  • target_raw (string) – Name of the target to add resource files to.

  • args – [variadic] List of functions to export.

> back to top

ccl_generate_export_file(target, args)

macro win coremacros.win.cmake

Generate an export definition for a target.

Parameters:
  • target (string) – Name of the target to add resource files to.

  • args – [variadic] List of functions to export.

> back to top

ccl_generate_path_list(in, out)

macro shared repomacros.cmake

Generate a list of relative paths in json array syntax

Parameters:
  • in (string) – Name of a CMake list variable containing absolute paths

  • out (string) – Name of the output variable

> back to top

ccl_generate_repo_info(file)

macro shared repomacros.cmake

Generate a json file containing information about the repository layout

Parameters:

file (filepath) – Path to the generated file.

> back to top

ccl_generate_signing_key(vendor)

macro android coremacros.android.cmake

Generate a fallback code signing key.

Parameters:

vendor (string) – Vendor name.

> back to top

ccl_generate_signing_properties()

macro android coremacros.android.cmake

Generate signing.properties file.

> back to top

ccl_generate_version_properties(target)

macro android coremacros.android.cmake

Generate version.properties file.

Parameters:

target (string) – Target name.

> back to top

ccl_get_build_output_directory(result, subdir)

macro shared coremacros.cmake

Get the default build output directory, optionally appending a subdirectory.

Parameters:
  • result (path) – Output argument, the vendor and platform specific build directory.

  • subdir (string) – [optional] Additional subdirectory, e.g. “Plugins”.

> back to top

ccl_get_bundle_dir(bundle_dir, binary_path)

macro shared coremacros.mac.cmake

> back to top

ccl_get_extension_library_path(result, subdir, extension)

macro shared coremacros.cmake

Get the build output path of an extension library.

Parameters:
  • result (path) – Output argument, vendor and platform specific library build directory.

  • subdir (string) – Subdirectory of the extension library, e.g. plugins or dsp.

  • extension (string) – Name of the extension.

> back to top

ccl_get_isolated_target(plain_target, result, target)

macro shared coremacros.cmake

Get the name of an isolated target, if it exists. Returns the plain target name if an isolated variant does not exist

Parameters:
  • result (string) – Name of the result variable.

  • target (string) – Name of the target without isolation postfix.

> back to top

ccl_get_isolated_target(plain_target, result, target)

macro shared cclmacros.cmake

Get the name of an isolated target, if it exists. Returns the plain target name if an isolated variant does not exist

Parameters:
  • result (string) – Name of the result variable.

  • target (string) – Name of the target without isolation postfix.

> back to top

ccl_get_jnilibs_directory(output)

macro android coremacros.android.cmake

Get the jnilibs directory for native builds

Parameters:

output (string) – Output variable name.

> back to top

ccl_get_library_path(result, name, type, subdir)

macro shared coremacros.cmake

Get the build output path of a library.

Parameters:
  • result (path) – Output argument, vendor and platform specific library build directory.

  • name (string) – Library name.

  • type (string) – Build type (import, static, shared).

  • subdir (string) – [optional] Additional subdirectory, e.g. “Plugins” or an absolute build output directory.

> back to top

ccl_get_sign_args(result, vendor)

macro win coremacros.win.cmake

Get arguments to be passed to a sign script

Parameters:
  • result (string) – Name of the result variable.

  • vendor (string) – Vendor name.

> back to top

ccl_get_target_gradle_dir(output, target)

macro android coremacros.android.cmake

Get the directory to store generated Gradle files for target.

Parameters:
  • output (string) – Output variable to store result in.

  • target (string) – Name of the target to operate on.

> back to top

ccl_import_extension_files(target, directory)

macro extensions coremacros.cmake

Add external files to an extension.

Parameters:
  • target (string) – Name of the target to add files to.

  • directory (path) – Path to the copy the files to.

> back to top

ccl_include_platform_specifics(args)

macro shared coremacros.cmake

Include platform specific cmake files for a list of targets. Looks for files in the form of <target>.<platform>.cmake.

Parameters:

args – [variadic] A list of target names.

> back to top

ccl_install_aar(project, COMPONENT)

macro android coremacros.android.cmake

Install an AAR generated by a packaging project.

Parameters:
  • project (string) – Gradle project name.

  • COMPONENT (string) – Install component.

> back to top

ccl_install_appstream_file(target, in, targetid)

macro linux coremacros.linux.cmake

Install appstream data file.

Parameters:
  • target (string) – target to install a mime types definition file for.

  • in (filepath) – Path to a appstream data file template.

  • targetid (string) – Package ID of a target to install an appstream data file for.

> back to top

ccl_install_desktop_file(in, targetid)

macro linux coremacros.linux.cmake

Install desktop file.

Parameters:
  • in (filepath) – Path to a desktop file template.

  • targetid (string) – Package ID of a target to install a desktop file for.

> back to top

ccl_install_icon(target, icon)

macro linux coremacros.linux.cmake

Install scalable icon.

Parameters:
  • target (string) – Name of a target to add resources to.

  • icon (filepath) – Path to an SVG icon.

> back to top

ccl_install_icons_from_xcassets(target, iconset)

macro linux coremacros.linux.cmake

Install icons from xcassets directory.

Parameters:
  • target (string) – Name of a target to add resources to.

  • iconset (filepath) – Path to an iconset directory.

> back to top

ccl_install_mimetypes(target, in, targetid)

macro linux coremacros.linux.cmake

Install mime types definition file.

Parameters:
  • target (string) – target to install a mime types definition file for.

  • in (filepath) – Path to a mime types definition file.

  • targetid (string) – Package ID of a target to install a mime types definition file for.

> back to top

> back to top

ccl_list_append_once(variable, CONTENT)

macro shared coremacros.cmake

Append items to a list and filter duplicate items

Parameters:
  • variable (string) – Name of the list variable.

  • CONTENT (string) – [variadic,optional] Content to append to the list.

> back to top

ccl_make_appsecurity(SECURITY_DIR, CIPHER, KEY_FILE, PUBLIC_KEY_FILE, AUTH_POLICY)

macro shared cclmacros.cmake

Sign and encrypt a public key file and an authorization policy.

Parameters:
  • SECURITY_DIR (path) – [optional] Directory containing cipher, key files and auth policy.

  • CIPHER (filepath) – [optional] Path to a cipher xml file.

  • KEY_FILE (filepath) – [optional] Path to private key file.

  • PUBLIC_KEY_FILE (filepath) – [optional] Path to a public key file.

  • AUTH_POLICY (filepath) – [optional] Path to an authorization policy xml file.

> back to top

ccl_make_authpolicy(INPUT, OUTPUT, SIGNED, ENCRYPTED, ROOT_NAME, KEY_FILE, CIPHER, PREFIX)

macro shared cclmacros.cmake

Sign and encrypt an authorization policy xml file and write it to a cpp file.

Parameters:
  • INPUT (filepath) – Path to the input file.

  • OUTPUT (filepath) – [optional] Path to the resulting cpp file.

  • SIGNED (filepath) – [optional] Path to the intermediate signed file.

  • ENCRYPTED (filepath) – [optional] Path to the intermediate encrypted file.

  • ROOT_NAME (string) – [optional] Name of the XML root node.

  • KEY_FILE (filepath) – [optional] Path to private key file.

  • CIPHER (filepath) – [optional] Path to a cipher xml file.

  • PREFIX (string) – [optional] Variable name prefix used in the generated cpp file.

> back to top

ccl_makebin(INPUT, OUTPUT, SCRIPT_FILE, PREFIX, BYTE_ARRAY)

macro shared coremacros.cmake

Convert a file to a byte array and write it to a cpp file. Defines two variables <PREFIX>_Ptr and <PREFIX>_Size in the resulting cpp file.

Parameters:
  • INPUT (filepath) – Path to the input file.

  • OUTPUT (filepath) – [optional] Path to the resulting cpp file.

  • SCRIPT_FILE (filepath) – [optional] Path to a temporary script file.

  • PREFIX (string) – Variable name prefix used in the generated cpp file.

  • BYTE_ARRAY (bool) – Use a byte array instead of a string literal. Using a string literal can speed up linking, but some compilers might have a size limit for string literals.

> back to top

ccl_makebin_export(INPUT, OUTPUT, SCRIPT_FILE, PREFIX, VARIABLE_NAME)

macro shared coremacros.cmake

Convert a file to a byte array and write it to a cpp file. Defines two exported functions <PREFIX>Data and <PREFIX>Size in the resulting cpp file.

Parameters:
  • INPUT (filepath) – Path to the input file.

  • OUTPUT (filepath) – [optional] Path to the resulting cpp file.

  • SCRIPT_FILE (filepath) – [optional] Path to a temporary script file.

  • PREFIX (string) – Function name prefix used in the generated cpp file.

  • VARIABLE_NAME (string) – Variable name used in the generated cpp file.

> back to top

ccl_makezip(INPUT, OUTPUT)

macro shared coremacros.cmake

Create ZIP archive. Note that paths in the ZIP file will be relative to the INPUT argument.

Parameters:
  • INPUT (string) – Name of directory containing folders and files to include in the ZIP archive.

  • OUTPUT (string) – Name of the file to create.

> back to top

ccl_nsis_package(target, script, args)

macro win coremacros.win.cmake

Add a package target using an NSIS installer script. Creates a target names ${target}_installer.

Parameters:
  • target (string) – Name of the target to add a package target for.

  • script (filepath) – NSIS script file path.

  • args – [variadic] Additional arguments are passed to NSIS.

> back to top

ccl_prepare_external_project_cache(target)

macro shared coremacros.cmake

Remove external project cache file when running without cache.

Parameters:

target (string) – Name of the external project target to process.

> back to top

ccl_process_assets(target, PATH, FILES, DIRECTORY)

macro android coremacros.android.cmake

Generate a .gradle file referencing project assets

Parameters:
  • target (string) – Name of the target to add asset files to.

  • PATH (path) – [optional] Destination subdirectory.

  • FILES (filepath) – [variadic] Asset files.

  • DIRECTORY (path) – [variadic] Asset directories.

> back to top

ccl_process_assets(target, PATH, FILES, DIRECTORY)

macro linux coremacros.linux.cmake

Install assets

Parameters:
  • target (string) – Name of the target to add asset files to.

  • PATH (path) – [optional] Destination subdirectory.

  • FILES (filepath) – [variadic] Asset files.

  • DIRECTORY (path) – [variadic] Asset directories.

> back to top

ccl_process_assets(target_raw, PATH, FILES, DIRECTORY)

macro mac coremacros.mac.cmake

Add assets to a bundle

Parameters:
  • target_raw (string) – Name of the target to add asset files to.

  • PATH (path) – [optional] Destination subdirectory.

  • FILES (filepath) – [variadic] Asset files.

  • DIRECTORY (path) – [variadic] Asset directories.

> back to top

ccl_process_dependencies(target, ITEMS)

macro android coremacros.android.cmake

Process target dependencies.

Parameters:
  • target (string) – Name of the target to process dependencies for.

  • ITEMS (string) – [variadic] List of dependency target names.

> back to top

ccl_process_dependencies(target, ITEMS)

macro win coremacros.win.cmake

Process target dependencies.

Parameters:
  • target (string) – Name of the target to process dependencies for.

  • ITEMS (string) – [variadic] List of dependency target names.

> back to top

ccl_process_plugins(target_raw)

macro mac coremacros.mac.cmake

Copy libs and bundles to a bundle.

Parameters:

target_raw (string) – Name of a target to add the modules to, without isolation

> back to top

ccl_process_plugins_type(target_raw, type, subdir, plugins)

macro shared coremacros.mac.cmake

> back to top

ccl_process_resources(target, config, path, args)

macro android coremacros.android.cmake

Generate a .gradle file referencing project resources

Parameters:
  • target (string) – Name of a target to add resources to.

  • path (string) – Subdirectory to place the resources in.

  • args – Resource files.

> back to top

ccl_process_resources(target, config, path, args)

macro linux coremacros.linux.cmake

Link resource files to a binary.

Parameters:
  • target (string) – Name of a target to add resources to.

  • path (string) – Subdirectory to place the resources in.

  • args – Resource files.

> back to top

ccl_process_resources(target_raw, config, path, args)

macro mac coremacros.mac.cmake

Copy resource files to a bundle.

Parameters:
  • target_raw (string) – Name of a target to add resources to.

  • path (string) – Subdirectory to place the resources in.

  • args – Resource files.

> back to top

ccl_process_resources(target, config, path, args)

macro win coremacros.win.cmake

Generate an .rc file for the resource compiler

Parameters:
  • target (string) – Name of a target to add resources to.

  • path (string) – Subdirectory to place the resources in.

  • args – Resource files.

> back to top

ccl_read_version(target, versionfile, prefix, fallback)

macro shared coremacros.cmake

Preprocess a version header file and read version information. Defines the following variables:

  • <target>_VERSION

  • <target>_VERSION_MAJOR

  • <target>_VERSION_MINOR

  • <target>_VERSION_REVISION

  • <target>_VERSION_BUILD

  • <target>_NAME

  • <target>_COMPANY_NAME

  • <target>_COPYRIGHT

  • <target>_WEBSITE

  • <target>_PACKAGE_DOMAIN

  • <target>_PACKAGE_ID

  • <target>_MIME_TYPE

Parameters:
  • target (string) – Prefix of the result variables.

  • versionfile (filepath) – Version header file of the target.

  • prefix (string) – [optional] Prefix of preprocessor definitions in the header file, e.g. APP.

  • fallback (string) – [optional] Fallback prefix for fields that are not defined in the version header, e.g. CCL.

> back to top

ccl_reset_project_vendor_variables()

macro win coremacros.win.cmake

Reset vendor variables before configuring a new vendor.

> back to top

ccl_restore_from_cache(cache_entry, FILE_NAME, DESTINATION)

macro shared coremacros.cmake

Restore a file from cache.

Parameters:
  • cache_entry (string) – Unique cache entry identifier.

  • FILE_NAME (string) – Name of the file to restore from cache.

  • DESTINATION (filepath) – Directory to copy the file to.

> back to top

ccl_set_debug_arguments(target, args)

macro shared coremacros.cmake

Set default debug arguments.

Parameters:
  • target (string) – Name of the target to set debug arguments for.

  • args – [variadic] Debug arguments.

> back to top

ccl_set_debug_command(target, DEBUG_EXECUTABLE, DEBUG_ARGUMENTS, args)

macro win coremacros.win.cmake

Set the debug command for a target.

Parameters:
  • target (string) – Name of the target to set the debug command for.

  • DEBUG_EXECUTABLE (string) – Path to the executable to run when debugging.

  • DEBUG_ARGUMENTS (string) – [optional] Additional arguments passed to the executable when debugging.

  • args – [variadic] List of functions to export.

> back to top

ccl_set_debug_command(target)

macro shared cclmacros.mac.cmake

> back to top

ccl_set_product_name(target, name)

macro shared coremacros.cmake

Set the product name for a target. Depending on the platform, this name might be used to set the name of the resulting binary or the IDE project name.

Parameters:
  • target (string) – Name of the target.

  • name (string) – Product name.

> back to top

ccl_set_project_vendor(vendor)

macro shared coremacros.cmake

Set the project vendor. The project vendor name is used to set installation directories, the code signing identity and other properties that apply to all targets in the project. Most applications won’t call this macro directly. Instead, set the variable PROJECT_VENDOR to your vendor identity right after the first project call.

Parameters:

vendor (string) – Vendor name.

> back to top

ccl_set_startup_project(project)

macro shared coremacros.cmake

Set the default target, i.e. the startup project for the current solution / workspace.

Parameters:

project (string) – Name of the target that should be the startup project.

> back to top

ccl_set_target_gradle_prefix(target, prefix)

macro android coremacros.android.cmake

Set a prefix to use for Gradle includes for the specified target.

Parameters:
  • target (string) – Target name.

  • prefix (string) – Prefix to use for target.

> back to top

ccl_set_vendor(target, vendor)

macro shared coremacros.cmake

Set the target vendor. The vendor name is used to find signing certificates as well as copyright information.

Parameters:
  • target (string) – Name of the target.

  • vendor (string) – Vendor name.

> back to top

ccl_setup_external_project_options(target, options)

macro shared coremacros.cmake

Setup options for an external project.

Parameters:
  • target (string) – Name of the external project target to process.

  • options (list) – Options to add to the external project’s CMake invocation.

> back to top

ccl_setup_external_project_platform_options(target)

macro android coremacros.android.cmake

Setup platform-specific options to pass to CMake for external projects

Parameters:

target (string) – Name of target to setup platform options for.

> back to top

ccl_setup_external_project_platform_options(target)

macro linux coremacros.linux.cmake

Setup platform-specific options to pass to CMake for external projects

Parameters:

target (string) – Name of target to setup platform options for.

> back to top

ccl_setup_external_project_platform_options(target)

macro mac coremacros.mac.cmake

Setup platform-specific options to pass to CMake for external projects

Parameters:

target (string) – Name of target to setup platform options for.

> back to top

ccl_sign(INPUT, OUTPUT, KEY_FILE, ROOT_NAME)

macro shared cclmacros.cmake

Create an XML signature for an input file.

Parameters:
  • INPUT (filepath) – Path to the input file.

  • OUTPUT (filepath) – [optional] Path to the resulting xml file.

  • KEY_FILE (filepath) – Path to private key file.

  • ROOT_NAME (string) – Name of the XML root node.

> back to top

ccl_sign_files(target, vendor, file, script)

macro win coremacros.win.cmake

Sign files.

Parameters:
  • target (string) – Name of a new siging target.

  • vendor (string) – Vendor name.

  • script (filepath) – Path to a file to sign, might contain wildcards.

> back to top

ccl_target_headers(target, INSTALL, DESTINATION, BASE_DIRS, FILES)

macro shared coremacros.cmake

Add headers files to a target. For Xcode, emulate the FILE_SET feature to install the files

Parameters:
  • target (string) – Name of the target to add the headers to.

  • INSTALL (bool) – [optional] Also install the files.

  • DESTINATION (string) – Name of directory to write the files when installing.

  • BASE_DIRS (list) – List of base directories which are stripped from the header file paths.

  • FILES (list) – List of paths to header files.

> back to top

ccl_use_dbus_interface(target, interface)

macro linux cclmacros.linux.cmake

Use a D-Bus interface. Generates source files and headers from an xml interface description.

Parameters:
  • target (string) – Name of the target using the interface

  • interface (string) – Name of an interface or absolute path to an interface xml description

> back to top

ccl_use_skin_packages(target)

macro shared skins-config.cmake

use a skin package

> back to top

ccl_use_translation_packages(apptarget)

macro shared translations-config.cmake

use a translation package

> back to top

core_add_bundle_localizations(target_raw, unused1, unused2)

macro mac coremacros.mac.cmake

Create localized dummy files in Mac or iOS Bundles.

Parameters:

target_raw (string) – Name of a target.

> back to top

get_properties(var)

macro shared coremacros.cmake

Get all properties cmake supports.

> back to top

> back to top