2016-10-30 18:24:19 +01:00
|
|
|
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
2021-09-14 00:13:48 +02:00
|
|
|
#pragma once
|
2016-10-30 18:24:19 +01:00
|
|
|
|
2017-07-20 19:35:53 +02:00
|
|
|
#include "cmConfigure.h" // IWYU pragma: keep
|
2016-10-30 18:24:19 +01:00
|
|
|
|
2020-02-01 23:06:01 +01:00
|
|
|
#include <initializer_list>
|
2016-10-30 18:24:19 +01:00
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
|
2020-02-01 23:06:01 +01:00
|
|
|
#include <cm/string_view> // IWYU pragma: keep
|
|
|
|
|
2016-10-30 18:24:19 +01:00
|
|
|
/** Data structure to represent a single command line. */
|
|
|
|
class cmCustomCommandLine : public std::vector<std::string>
|
|
|
|
{
|
|
|
|
};
|
|
|
|
|
|
|
|
/** Data structure to represent a list of command lines. */
|
|
|
|
class cmCustomCommandLines : public std::vector<cmCustomCommandLine>
|
|
|
|
{
|
|
|
|
};
|
|
|
|
|
2020-02-01 23:06:01 +01:00
|
|
|
/** Return a command line from a list of command line parts. */
|
|
|
|
cmCustomCommandLine cmMakeCommandLine(
|
|
|
|
std::initializer_list<cm::string_view> ilist);
|
|
|
|
|
|
|
|
/** Return a command line vector with a single command line. */
|
|
|
|
cmCustomCommandLines cmMakeSingleCommandLine(
|
|
|
|
std::initializer_list<cm::string_view> ilist);
|