mirror of
https://github.com/Kitware/CMake.git
synced 2026-08-10 17:14:10 +00:00
To manage the generation step, introduce cmGeneratorFileSet and cmGeneratorFileSets classes. These reorganizations of the code are done in preparation of the implementation of SOURCES file set type as well as user's file set types. Issues: #27550, #27383
37 lines
831 B
C++
37 lines
831 B
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file LICENSE.rst or https://cmake.org/licensing for details. */
|
|
#pragma once
|
|
|
|
#include <vector>
|
|
|
|
#include <cm/string_view>
|
|
|
|
class cmMakefile;
|
|
|
|
namespace cm {
|
|
namespace FileSetMetadata {
|
|
enum class Visibility
|
|
{
|
|
Private,
|
|
Public,
|
|
Interface
|
|
};
|
|
|
|
cm::string_view VisibilityToName(Visibility vis);
|
|
Visibility VisibilityFromName(cm::string_view name, cmMakefile* mf);
|
|
|
|
bool VisibilityIsForSelf(Visibility vis);
|
|
bool VisibilityIsForInterface(Visibility vis);
|
|
|
|
// Pre-defined FileSet types
|
|
extern cm::string_view const HEADERS;
|
|
extern cm::string_view const CXX_MODULES;
|
|
|
|
std::vector<cm::string_view> const& GetKnownTypes();
|
|
bool IsKnownType(cm::string_view type);
|
|
|
|
// check validity of a user's file set name
|
|
bool IsValidName(cm::string_view type);
|
|
}
|
|
}
|