1 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 file Copyright.txt or https://cmake.org/licensing for details. */
5 #include "cmConfigure.h" // IWYU pragma: keep
10 #include "cmExportBuildFileGenerator.h"
11 #include "cmExportFileGenerator.h"
12 #include "cmStateTypes.h"
14 class cmGeneratorTarget;
16 /** \class cmExportBuildAndroidMKGenerator
17 * \brief Generate a file exporting targets from a build tree.
19 * cmExportBuildAndroidMKGenerator generates a file exporting targets from
20 * a build tree. This exports the targets to the Android ndk build tool
21 * makefile format for prebuilt libraries.
23 * This is used to implement the export() command.
25 class cmExportBuildAndroidMKGenerator : public cmExportBuildFileGenerator
28 cmExportBuildAndroidMKGenerator();
29 // this is so cmExportInstallAndroidMKGenerator can share this
30 // function as they are almost the same
36 static void GenerateInterfaceProperties(cmGeneratorTarget const* target,
38 const ImportPropertyMap& properties,
40 std::string const& config);
43 // Implement virtual methods from the superclass.
44 void GeneratePolicyHeaderCode(std::ostream&) override {}
45 void GeneratePolicyFooterCode(std::ostream&) override {}
46 void GenerateImportHeaderCode(std::ostream& os,
47 const std::string& config = "") override;
48 void GenerateImportFooterCode(std::ostream& os) override;
49 void GenerateImportTargetCode(
50 std::ostream& os, cmGeneratorTarget const* target,
51 cmStateEnums::TargetType /*targetType*/) override;
52 void GenerateExpectedTargetsCode(
53 std::ostream& os, const std::string& expectedTargets) override;
54 void GenerateImportPropertyCode(
55 std::ostream& os, const std::string& config,
56 cmGeneratorTarget const* target,
57 ImportPropertyMap const& properties) override;
58 void GenerateMissingTargetsCheckCode(std::ostream& os) override;
59 void GenerateInterfaceProperties(
60 cmGeneratorTarget const* target, std::ostream& os,
61 const ImportPropertyMap& properties) override;