mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-05 13:50:10 -05:00
1bceab3520
In order to support generation of Common Package Specifications, the mechanisms CMake uses to export package information need to be made more abstract. This will involve substantial refactoring of the classes used to generate the actual export files. In order to help git track what's happening, create the new files as copies of the files that will serve as their source material. The class names have been updated and formatting repaired, but no other refactoring has been done, which should still allow git to detect the copies. This commit is a purely intermediate step that exists for no other reason than to improve history tracking.
63 lines
2.4 KiB
C++
63 lines
2.4 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
|
#pragma once
|
|
|
|
#include "cmConfigure.h" // IWYU pragma: keep
|
|
|
|
#include <iosfwd>
|
|
#include <string>
|
|
|
|
#include "cmExportBuildFileGenerator.h"
|
|
#include "cmStateTypes.h"
|
|
|
|
class cmGeneratorTarget;
|
|
|
|
/** \class cmExportAndroidMKGenerator
|
|
* \brief Generate a file exporting targets from a build tree.
|
|
*
|
|
* cmExportAndroidMKGenerator generates a file exporting targets from
|
|
* a build tree. This exports the targets to the Android ndk build tool
|
|
* makefile format for prebuilt libraries.
|
|
*
|
|
* This is used to implement the export() command.
|
|
*/
|
|
class cmExportAndroidMKGenerator : public cmExportBuildFileGenerator
|
|
{
|
|
public:
|
|
cmExportAndroidMKGenerator();
|
|
// this is so cmExportInstallAndroidMKGenerator can share this
|
|
// function as they are almost the same
|
|
enum GenerateType
|
|
{
|
|
BUILD,
|
|
INSTALL
|
|
};
|
|
static void GenerateInterfaceProperties(cmGeneratorTarget const* target,
|
|
std::ostream& os,
|
|
const ImportPropertyMap& properties,
|
|
GenerateType type,
|
|
std::string const& config);
|
|
|
|
protected:
|
|
// Implement virtual methods from the superclass.
|
|
void GeneratePolicyHeaderCode(std::ostream&) override {}
|
|
void GeneratePolicyFooterCode(std::ostream&) override {}
|
|
void GenerateImportHeaderCode(std::ostream& os,
|
|
const std::string& config = "") override;
|
|
void GenerateImportFooterCode(std::ostream& os) override;
|
|
void GenerateImportTargetCode(
|
|
std::ostream& os, cmGeneratorTarget const* target,
|
|
cmStateEnums::TargetType /*targetType*/) override;
|
|
void GenerateExpectedTargetsCode(
|
|
std::ostream& os, const std::string& expectedTargets) override;
|
|
void GenerateImportPropertyCode(
|
|
std::ostream& os, const std::string& config, const std::string& suffix,
|
|
cmGeneratorTarget const* target, ImportPropertyMap const& properties,
|
|
const std::string& importedXcFrameworkLocation) override;
|
|
void GenerateMissingTargetsCheckCode(std::ostream& os) override;
|
|
void GenerateFindDependencyCalls(std::ostream&) override {}
|
|
void GenerateInterfaceProperties(
|
|
cmGeneratorTarget const* target, std::ostream& os,
|
|
const ImportPropertyMap& properties) override;
|
|
};
|