.
This commit is contained in:
parent
8fe443d929
commit
5746dcf1fd
23
build.sh
23
build.sh
@ -3,27 +3,30 @@ set -e
|
|||||||
|
|
||||||
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||||
OUTPUT_DIR="$SCRIPT_DIR/output"
|
OUTPUT_DIR="$SCRIPT_DIR/output"
|
||||||
BUILD_DIR="$SCRIPT_DIR/build"
|
|
||||||
PROJECT_NAME="dehydrate"
|
PROJECT_NAME="dehydrate"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
BUILD_DIR="$SCRIPT_DIR/build"
|
||||||
rm -rf "$BUILD_DIR"
|
rm -rf "$BUILD_DIR"
|
||||||
mkdir -p "$BUILD_DIR" "$OUTPUT_DIR"
|
mkdir -p "$BUILD_DIR" "$OUTPUT_DIR"
|
||||||
cd "$BUILD_DIR"
|
cd "$BUILD_DIR"
|
||||||
|
|
||||||
cmake ..
|
cmake ..
|
||||||
make -j$(nproc)
|
make -j$(nproc)
|
||||||
|
|
||||||
# Copy the binary to output directory with .amd64 suffix if x86_64
|
|
||||||
if [[ $(uname -m) == "x86_64" ]]; then
|
|
||||||
cp "$PROJECT_NAME" "$OUTPUT_DIR/$PROJECT_NAME.amd64"
|
cp "$PROJECT_NAME" "$OUTPUT_DIR/$PROJECT_NAME.amd64"
|
||||||
echo "Built $OUTPUT_DIR/$PROJECT_NAME.amd64 (x86_64, static if CMake is configured for musl/static)"
|
echo "Built $OUTPUT_DIR/$PROJECT_NAME.amd64 (x86_64, static if CMake is configured for musl/static)"
|
||||||
fi
|
|
||||||
|
|
||||||
cd "$SCRIPT_DIR"
|
cd "$SCRIPT_DIR"
|
||||||
|
|
||||||
# Build for arm64 (musl static) if cross-compiler available
|
# Build for arm64 (musl static) if cross-compiler available
|
||||||
if command -v aarch64-linux-musl-g++ &>/dev/null; then
|
if command -v aarch64-linux-musl-g++ &>/dev/null; then
|
||||||
echo "Building for arm64 (musl static)..."
|
echo "Building for arm64 (musl static) with CMake..."
|
||||||
aarch64-linux-musl-g++ -O2 -static -o "$OUTPUT_DIR/$PROJECT_NAME.arm64" src/*.cpp
|
BUILD_DIR_ARM64="$SCRIPT_DIR/build_arm64"
|
||||||
echo "Built $PROJECT_NAME.arm64 (arm64, static)"
|
rm -rf "$BUILD_DIR_ARM64"
|
||||||
|
mkdir -p "$BUILD_DIR_ARM64"
|
||||||
|
cd "$BUILD_DIR_ARM64"
|
||||||
|
cmake -DCMAKE_CXX_COMPILER=aarch64-linux-musl-g++ ..
|
||||||
|
make -j$(nproc)
|
||||||
|
cp "$PROJECT_NAME" "$OUTPUT_DIR/$PROJECT_NAME.arm64"
|
||||||
|
echo "Built $OUTPUT_DIR/$PROJECT_NAME.arm64 (arm64, static)"
|
||||||
|
cd "$SCRIPT_DIR"
|
||||||
fi
|
fi
|
||||||
|
BIN
build_arm64/dehydrate
Executable file
BIN
build_arm64/dehydrate
Executable file
Binary file not shown.
@ -52,7 +52,7 @@ static uint64_t fnv1a_64(const void* data, size_t len) {
|
|||||||
// Embed file data
|
// Embed file data
|
||||||
cpp << "static const unsigned char filedata[] = {";
|
cpp << "static const unsigned char filedata[] = {";
|
||||||
for (size_t i = 0; i < filedata.size(); ++i) {
|
for (size_t i = 0; i < filedata.size(); ++i) {
|
||||||
if (i % 16 == 0) cpp << "\\n ";
|
if (i % 16 == 0) cpp << "\n ";
|
||||||
cpp << "0x" << std::hex << std::setw(2) << std::setfill('0') << (int)(unsigned char)filedata[i];
|
cpp << "0x" << std::hex << std::setw(2) << std::setfill('0') << (int)(unsigned char)filedata[i];
|
||||||
if (i + 1 != filedata.size()) cpp << ", ";
|
if (i + 1 != filedata.size()) cpp << ", ";
|
||||||
}
|
}
|
||||||
@ -139,7 +139,7 @@ void generate_folder_code(const std::string& source, const std::string& destfold
|
|||||||
std::string var = sanitize(rel);
|
std::string var = sanitize(rel);
|
||||||
cpp << "static const unsigned char data_" << var << "[] = {";
|
cpp << "static const unsigned char data_" << var << "[] = {";
|
||||||
for (size_t i = 0; i < filedata.size(); ++i) {
|
for (size_t i = 0; i < filedata.size(); ++i) {
|
||||||
if (i % 16 == 0) cpp << "\\n ";
|
if (i % 16 == 0) cpp << "\n ";
|
||||||
cpp << "0x" << std::hex << std::setw(2) << std::setfill('0') << (int)(unsigned char)filedata[i];
|
cpp << "0x" << std::hex << std::setw(2) << std::setfill('0') << (int)(unsigned char)filedata[i];
|
||||||
if (i + 1 != filedata.size()) cpp << ", ";
|
if (i + 1 != filedata.size()) cpp << ", ";
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user