.
This commit is contained in:
parent
8fe443d929
commit
5746dcf1fd
27
build.sh
27
build.sh
@ -3,27 +3,30 @@ set -e
|
||||
|
||||
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||
OUTPUT_DIR="$SCRIPT_DIR/output"
|
||||
BUILD_DIR="$SCRIPT_DIR/build"
|
||||
PROJECT_NAME="dehydrate"
|
||||
|
||||
|
||||
|
||||
BUILD_DIR="$SCRIPT_DIR/build"
|
||||
rm -rf "$BUILD_DIR"
|
||||
mkdir -p "$BUILD_DIR" "$OUTPUT_DIR"
|
||||
cd "$BUILD_DIR"
|
||||
|
||||
cmake ..
|
||||
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"
|
||||
echo "Built $OUTPUT_DIR/$PROJECT_NAME.amd64 (x86_64, static if CMake is configured for musl/static)"
|
||||
fi
|
||||
|
||||
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)"
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
# Build for arm64 (musl static) if cross-compiler available
|
||||
if command -v aarch64-linux-musl-g++ &>/dev/null; then
|
||||
echo "Building for arm64 (musl static)..."
|
||||
aarch64-linux-musl-g++ -O2 -static -o "$OUTPUT_DIR/$PROJECT_NAME.arm64" src/*.cpp
|
||||
echo "Built $PROJECT_NAME.arm64 (arm64, static)"
|
||||
echo "Building for arm64 (musl static) with CMake..."
|
||||
BUILD_DIR_ARM64="$SCRIPT_DIR/build_arm64"
|
||||
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
|
||||
|
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
|
||||
cpp << "static const unsigned char filedata[] = {";
|
||||
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];
|
||||
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);
|
||||
cpp << "static const unsigned char data_" << var << "[] = {";
|
||||
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];
|
||||
if (i + 1 != filedata.size()) cpp << ", ";
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user