This commit is contained in:
parent
1da19b9191
commit
a882153e56
@ -2,7 +2,7 @@ FROM --platform=$BUILDPLATFORM alpine:latest AS builder
|
|||||||
|
|
||||||
ARG PROJECT
|
ARG PROJECT
|
||||||
|
|
||||||
# Install build dependencies
|
# Install ccache along with other dependencies
|
||||||
RUN apk add --no-cache \
|
RUN apk add --no-cache \
|
||||||
build-base \
|
build-base \
|
||||||
cmake \
|
cmake \
|
||||||
@ -15,7 +15,8 @@ RUN apk add --no-cache \
|
|||||||
ninja \
|
ninja \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
mold \
|
mold \
|
||||||
zlib-static
|
zlib-static \
|
||||||
|
ccache
|
||||||
|
|
||||||
# Set working directory
|
# Set working directory
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
@ -23,10 +24,12 @@ WORKDIR /build
|
|||||||
# Copy source files
|
# Copy source files
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# Configure and build
|
# Configure and build with ccache
|
||||||
RUN mkdir -p build_static && \
|
RUN mkdir -p build_static && \
|
||||||
cmake -G Ninja -B build_static -DCMAKE_BUILD_TYPE=Release \
|
cmake -G Ninja -B build_static -DCMAKE_BUILD_TYPE=Release \
|
||||||
-DCMAKE_EXE_LINKER_FLAGS="-static" \
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||||
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||||
|
-DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=mold -static" \
|
||||||
-DCMAKE_FIND_LIBRARY_SUFFIXES=".a" \
|
-DCMAKE_FIND_LIBRARY_SUFFIXES=".a" \
|
||||||
-DZLIB_BUILD_SHARED=OFF \
|
-DZLIB_BUILD_SHARED=OFF \
|
||||||
-DZLIB_BUILD_STATIC=ON \
|
-DZLIB_BUILD_STATIC=ON \
|
||||||
|
@ -66,6 +66,7 @@ add_dependencies(${PROJECT_EXE_NAME} run_prebuild_script)
|
|||||||
target_include_directories(${PROJECT_EXE_NAME} PRIVATE
|
target_include_directories(${PROJECT_EXE_NAME} PRIVATE
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/src/autogen>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/src/autogen>
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src
|
${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/src/autogen
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ DO NOT EDIT VERSION.HPP!
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace dropshell {
|
namespace ipdemo {
|
||||||
|
|
||||||
// Version information
|
// Version information
|
||||||
const std::string VERSION = "@PROJECT_VERSION@";
|
const std::string VERSION = "@PROJECT_VERSION@";
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
#include "version.hpp"
|
#include "version.hpp"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
std::cout << "ipdemo version: " << ipdemo::VERSION << std::endl;
|
||||||
|
std::cout << std::endl;
|
||||||
std::cout << "Retrieving IP address..." << std::endl;
|
std::cout << "Retrieving IP address..." << std::endl;
|
||||||
|
|
||||||
httplib::Client cli("http://ipinfo.io");
|
httplib::Client cli("http://ipinfo.io");
|
||||||
|
@ -10,7 +10,7 @@ DO NOT EDIT VERSION.HPP!
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace dropshell {
|
namespace ipdemo {
|
||||||
|
|
||||||
// Version information
|
// Version information
|
||||||
const std::string VERSION = "@PROJECT_VERSION@";
|
const std::string VERSION = "@PROJECT_VERSION@";
|
||||||
|
2
test.sh
2
test.sh
@ -6,8 +6,6 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
|||||||
|
|
||||||
echo "Testing"
|
echo "Testing"
|
||||||
|
|
||||||
"${SCRIPT_DIR}/build.sh"
|
|
||||||
|
|
||||||
[ -f "${SCRIPT_DIR}/output/ipdemo" ] || { echo "ipdemo binary not found"; exit 1; }
|
[ -f "${SCRIPT_DIR}/output/ipdemo" ] || { echo "ipdemo binary not found"; exit 1; }
|
||||||
|
|
||||||
"${SCRIPT_DIR}/output/ipdemo"
|
"${SCRIPT_DIR}/output/ipdemo"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user