3
.gitignore
vendored
3
.gitignore
vendored
@@ -7,7 +7,8 @@ cmake-build-*
|
||||
include/generated
|
||||
|
||||
# Dont't add build directories
|
||||
build_*
|
||||
build_arm64-v8a
|
||||
build_armeabi-v7a
|
||||
|
||||
# Don't add generated objects and libs
|
||||
*.o
|
||||
|
||||
@@ -29,7 +29,7 @@ else()
|
||||
endif()
|
||||
|
||||
# Add pmt's CMake module(s)
|
||||
include(build/cmake/generate_headers.cmake)
|
||||
include(cmake/generate_headers.cmake)
|
||||
|
||||
# Generate header(s)
|
||||
get_property(FLAGS DIRECTORY PROPERTY COMPILE_OPTIONS)
|
||||
|
||||
57
build.sh
57
build.sh
@@ -15,61 +15,74 @@
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
BUILD_64="build_arm64-v8a"
|
||||
BUILD_32="build_armeabi-v7a"
|
||||
THIS="$(basename $0)"
|
||||
TARGET_ABI_LIST=("arm64-v8a" "armeabi-v7a")
|
||||
|
||||
echo() { command echo "[$THIS]: $@"; }
|
||||
|
||||
checks() {
|
||||
checks()
|
||||
{
|
||||
if [ -z "$ANDROID_NDK" ]; then
|
||||
echo "Please set ANDROID_NDK variable as your NDK path."
|
||||
exit 1
|
||||
fi
|
||||
if ! which cmake &>/dev/null; then
|
||||
if [ ! -f /usr/bin/cmake ] && [ ! -f /bin/cmake ]; then
|
||||
echo "Please verify your CMake installation."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
clean() {
|
||||
clean()
|
||||
{
|
||||
echo "Cleaning workspace."
|
||||
for a in ${TARGET_ABI_LIST[@]}; do rm -rf build_$a; done
|
||||
rm -rf include/generated \
|
||||
rm -rf $BUILD_32 $BUILD_64 \
|
||||
include/generated \
|
||||
srclib/libhelper/tests/dir \
|
||||
srclib/libhelper/tests/linkdir \
|
||||
srclib/libhelper/tests/file.txt
|
||||
}
|
||||
|
||||
build() {
|
||||
set -e
|
||||
build()
|
||||
{
|
||||
mkdir -p $BUILD_64 $BUILD_32
|
||||
command echo -e "BUILD INFO:
|
||||
ARCHS: ${TARGET_ABI_LIST[@]}
|
||||
ARCHS: arm64-v8a armeabi-v7a
|
||||
ANDROID_PLATFORM: $ANDROID_PLATFORM
|
||||
ANDROID_TOOLCHAIN_FILE: $ANDROID_NDK/build/cmake/android.toolchain.cmake\n"
|
||||
|
||||
for a in ${TARGET_ABI_LIST[@]}; do
|
||||
echo "Configuring for $a..."
|
||||
mkdir -p build_$a
|
||||
cmake -B build_$a -S . $1 \
|
||||
echo "Configuring for arm64-v8a..."
|
||||
cmake -B $BUILD_64 -S . $1 \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
|
||||
-DANDROID_ABI=$a \
|
||||
-DANDROID_ABI=arm64-v8a \
|
||||
-DANDROID_PLATFORM=$ANDROID_PLATFORM \
|
||||
-DANDROID_STL=c++_static
|
||||
done
|
||||
|
||||
for a in ${TARGET_ABI_LIST[@]}; do
|
||||
echo "Building $a artifacts..."
|
||||
cmake --build build_$a
|
||||
echo "$a build complete, artifacts: $PWD/build_$a"
|
||||
done
|
||||
echo "Configuring for armeabi-v7a..."
|
||||
cmake -B $BUILD_32 -S . $1 \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
|
||||
-DANDROID_ABI=armeabi-v7a \
|
||||
-DANDROID_PLATFORM=$ANDROID_PLATFORM \
|
||||
-DANDROID_STL=c++_static
|
||||
|
||||
echo "Building arm64-v8a artifacts..."
|
||||
cmake --build $BUILD_64
|
||||
echo "arm64-v8a build complete, artifacts: $PWD/$BUILD_64"
|
||||
|
||||
echo "Building armeabi-v7a artifacts..."
|
||||
cmake --build $BUILD_32
|
||||
echo "armeabi-v7a build complete, artifacts: $PWD/$BUILD_32"
|
||||
}
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
command echo -e "Usage: $0 build|rebuild|clean [EXTRA_CMAKE_FLAGS]\n HINT: Export ANDROID_PLATFORM if you set min Android target.\n HINT: Change TARGET_ABI_LIST array in build.sh if you build other archs."
|
||||
command echo "Usage: $0 build|rebuild|clean [EXTRA_CMAKE_FLAGS] [ANDROID_PLATFORM=SELECTED_ANDROID_PLATFORM]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
[ -z $ANDROID_PLATFORM ] && ANDROID_PLATFORM="android-21"
|
||||
if [ -z $ANDROID_PLATFORM ]; then ANDROID_PLATFORM="android-21"; fi
|
||||
|
||||
checks
|
||||
|
||||
case $1 in
|
||||
|
||||
@@ -30,8 +30,7 @@ set(PMT_SOURCES
|
||||
)
|
||||
|
||||
# Add pmt
|
||||
add_executable(pmt ${PMT_SOURCES}
|
||||
functions/ShellFunction.cpp)
|
||||
add_executable(pmt ${PMT_SOURCES})
|
||||
add_executable(pmt_static ${PMT_SOURCES})
|
||||
|
||||
# Set linker options
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
/*
|
||||
Copyright 2025 Yağız Zengin
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
@@ -175,17 +175,6 @@ public:
|
||||
[[nodiscard]] const char *name() const override;
|
||||
};
|
||||
|
||||
class shellFunction final : public FunctionBase {
|
||||
public:
|
||||
CLI::App *cmd = nullptr;
|
||||
|
||||
bool init(CLI::App &_app) override;
|
||||
bool run() override;
|
||||
|
||||
[[nodiscard]] bool isUsed() const override;
|
||||
[[nodiscard]] const char *name() const override;
|
||||
};
|
||||
|
||||
} // namespace PartitionManager
|
||||
|
||||
#endif // #ifndef FUNCTIONS_HPP
|
||||
|
||||
Reference in New Issue
Block a user