mirror of
https://github.com/arabine/open-story-teller.git
synced 2025-12-06 17:09:06 +01:00
50 lines
1.6 KiB
Docker
50 lines
1.6 KiB
Docker
# Docker image to cross-build C/C++ programs from a Linux host to a Win64 target
|
|
# Also includes nsis to create installer
|
|
|
|
FROM ubuntu:22.04
|
|
LABEL Description="Developer environment"
|
|
|
|
ENV HOME /root
|
|
|
|
SHELL ["/bin/bash", "-c"]
|
|
|
|
RUN apt-get update && apt-get -y --no-install-recommends install \
|
|
build-essential \
|
|
cmake \
|
|
nsis \
|
|
mingw-w64 \
|
|
git \
|
|
wget
|
|
|
|
# Make sure to use the POSIX version of MinGW:
|
|
# Manual equivalent command is : update-alternatives --config x86_64-w64-mingw32-g++
|
|
|
|
RUN update-alternatives --set x86_64-w64-mingw32-g++ $(update-alternatives --list x86_64-w64-mingw32-g++ | grep posix)
|
|
RUN update-alternatives --set x86_64-w64-mingw32-gcc $(update-alternatives --list x86_64-w64-mingw32-gcc | grep posix)
|
|
|
|
RUN mkdir /workspace
|
|
|
|
|
|
# ========================================================================
|
|
# Build OpenSSL for windows
|
|
# Libraries are installed in /libs/
|
|
# ========================================================================
|
|
|
|
ENV OPENSSL_VERSION="3.0.13"
|
|
|
|
RUN mkdir -p /libs/openssl
|
|
|
|
RUN set -x \
|
|
&& wget --no-check-certificate -O /tmp/openssl-${OPENSSL_VERSION}.tar.gz "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" \
|
|
&& tar -xvf /tmp/openssl-${OPENSSL_VERSION}.tar.gz -C /tmp/ \
|
|
&& rm -rf /tmp/openssl-${OPENSSL_VERSION}.tar.gz \
|
|
&& cd /tmp/openssl-${OPENSSL_VERSION} \
|
|
&& ./Configure --cross-compile-prefix=x86_64-w64-mingw32- mingw64 --prefix=/libs/openssl \
|
|
&& make \
|
|
&& make install \
|
|
&& cd .. \
|
|
&& rm -rf openssl-${OPENSSL_VERSION}
|
|
|
|
ENV PATH /libs/openssl/bin:$PATH
|
|
|