-
-
Notifications
You must be signed in to change notification settings - Fork 19
/
action.yml
100 lines (96 loc) · 5.22 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Copyright (c) 2019 Luca Cappa
# Released under the term specified in file LICENSE.txt
# SPDX short identifier: MIT
name: 'run-cmake'
description: 'Run CMake to build C/C++ source code.'
author: 'Luca Cappa https://github.com/lukka'
inputs:
cmakeListsOrSettingsJson:
default: "CMakeListsTxtBasic"
required: true
description: "Select the mode of the action. There are three different modes:
CMakeListsTxtBasic: Run CMake using a CMakeLists.txt - Basic configuration,
CMakeListsTxtAdvanced: Run CMake using a CMakeLists.txt - Advanced configuration,
CMakeSettingsJson: Run CMake using a CMakeSettings.json of Visual Studio."
cmakeListsTxtPath:
default: "${{ github.workspace }}/CMakeLists.txt"
required: false,
description: "Path to CMakeLists.txt. Used for both CMakeListsTxtBasic and CMakeListsTxtAdvanced modes."
cmakeSettingsJsonPath:
default: "${{ github.workspace }}//CMakeSettings.json"
required: false,
description: "Path to CMakeSettings.json. Used for CMakeSettingsJson mode."
cmakeToolchainPath:
default: ""
required: false
description: "Path to toolchain .cmake file. Used for CMakeListsTxtBasic mode."
useVcpkgToolchainFile:
default: false
required: false
description: "Indicates whether to use vcpkg's CMake toolchain file if RUNVCPKG_VCPKG_ROOT environment variable is defined, for example by a previous run-vcpkg action execution. If the variable is defined, its content would be passed with '-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=<RUNVCPKG_VCPKG_ROOT>/scripts/buildsystems/vcpkg.cmake'. Used by any mode."
vcpkgTriplet:
required: false
description: "Specify the triplet used with vcpkg. Default value is $RUNVCPKG_VCPKG_TRIPLET environment variable, which is set e.g. by the run-vcpkg. Possible values include any file name with no extension present in the vcpkgroot/trplet directory, e.g. x64-linux, x64-windows, x64-osx and so forth. Used by any mode."
cmakeBuildType:
default: "Debug"
required: false
description: "Select the build configuration, typically Debug or Release. Used by CMakeListsTxtBasic mode."
cmakeGenerator:
default: "Ninja"
description: "Specify the CMake generator to use. Possible values:
Ninja: Ninja,
NinjaMulti: Ninja Multi-Config
UnixMakefiles: Unix Makefiles,
VS16Win64: Visual Studio 2019 x64,
VS16Arm64: Visual Studio 2019 ARM64,
VS16Arm: Visual Studio 2019 ARM,
VS16Win32: Visual Studio 2019 Win32,
VS15Win64: Visual Studio 2017 x64,
VS15Arm64: Visual Studio 2017 ARM64,
VS15Arm: Visual Studio 2017 ARM,
VS15Win32: Visual Studio 2017 Win32.
Used by CMakeListsTxtBasic mode."
required: false
buildDirectory:
# This default must match the '_temp' directory of the runner, i.e. match the return value of the action-lib.getArtifactsDir() function.
default: "${{ github.workspace }}/../../_temp"
required: false
description: "Set the build directory, i.e. where CMake generates the build system files. Defaults to `$(Build.ArtifactStagingDirectory)` for CMakeLists.txt, and to `$(Build.ArtifactStagingDirectory)/<configuration-name>` for CMakeSettings.json. Used by any mode."
cmakeAppendedArgs:
default: ""
required: false
description: "Provides a mean to provide all the CMake arguments. This is required when using CMakeLists.txt in Advanced mode. For CMakeSettings.json, the arguments are already inferred, but you can append your arguments providing them here. Used by CMakeListsTxtAdvanced and CMakeSettingsJson modes."
configurationRegexFilter:
default: ".*"
required: true,
description: "The regular expression selects which CMakeSettings.json's configuration(s) to build, one or more. Used by CMakeSettingsJson mode."
ninjaPath:
default: ""
required: false
description: "Full path to ninja build tool. If not specified, the one in PATH environment variable will be used. If not available, it will be downloaded from Internet. Used by any mode."
ninjaDownloadUrl:
default: ""
required: false
description: "URL to download ninja build tool from. Used by any mode."
cmakeWrapperCommand:
default: ""
required: false
description: "The shell command that woud setup the environment and then invoke the cmake command. An example is 'emcmake' of Emscripten SDK. Used by any mode."
buildWithCMake:
default: true
required: false
description: "Indicates whether to run 'cmake --build' after CMake project files have been generated successfully. Used by any mode."
buildWithCMakeArgs:
default: ""
required: false
description: "Additional parameters for both CMake and the make program (e.g. ninja or make). Separate CMake arguments to the native make program arguments with '--', such as: '--clean-first --config Debug -- -j0'. Used by both CMakeListsTxtBasic and CMakeListsTxtAdvanced modes"
useShell:
default: true
required: false
description: "Specify which shell to be used when launching commands. 'true' means the default shell is used. 'false' means no shell is used. It also can be an absolute with arguments of the shell to spawn commands with."
runs:
using: 'node12'
main: './dist/index.js'
branding:
icon: 'terminal'
color: 'green'