| /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying | |
| file LICENSE.rst or https://cmake.org/licensing for details. */ | |
| #pragma once | |
| #include "cmCPackGenerator.h" | |
| /** \class cmCPackAPKGenerator | |
| * \brief A generator for Android APK packages | |
| * | |
| * The APK is assembled by driving the Android SDK build tools | |
| * (``aapt2``, ``d8``, ``zipalign`` and ``apksigner``) directly, | |
| * i.e. without Gradle. The actual work is implemented by the | |
| * ``Internal/CPack/CPackAPK.cmake`` script. | |
| */ | |
| class cmCPackAPKGenerator : public cmCPackGenerator | |
| { | |
| public: | |
| cmCPackTypeMacro(cmCPackAPKGenerator, cmCPackGenerator); | |
| cmCPackAPKGenerator(); | |
| ~cmCPackAPKGenerator() override; | |
| char const* GetOutputExtension() override { return ".apk"; } | |
| protected: | |
| int InitializeInternal() override; | |
| /** | |
| * An APK holds a single application, components are not supported. | |
| */ | |
| bool SupportsComponentInstallation() const override { return false; } | |
| /** | |
| * Everything is packaged relative to the root of the APK. | |
| */ | |
| bool SupportsAbsoluteDestination() const override { return false; } | |
| int PackageFiles() override; | |
| }; |