initial commit

This commit is contained in:
2026-05-05 21:58:43 +03:00
commit 862b7abbac
79 changed files with 4132 additions and 0 deletions
+113
View File
@@ -0,0 +1,113 @@
ARG DOCKER_PREFIX=wapmobil/
FROM ${DOCKER_PREFIX}osxcross
ARG JOBS_COUNT=4
ARG JOBS_QT_COUNT=2
COPY toolchain-Darwin.cmake /soft/
ENV CUR_SODIUM_VERSION=1.0.21
ENV CUR_FFTW_VERSION=3.3.8
ENV CUR_ASSIMP_VERSION=4.1.0
ENV CUR_DISCOUNT_VERSION=2.2.6
ENV CUR_MICROHTTPD_VERSION=0.9.72
ENV CUR_QT_VERSION_MAJOR=5.15
ENV CUR_QT_VERSION=5.15.9
ENV QT_SELECT=5
ENV _DARWIN=apple-darwin18
ENV CROSS_COMPILE=x86_64-${_DARWIN}-
# sodium
WORKDIR /soft
RUN curl -s https://download.libsodium.org/libsodium/releases/libsodium-${CUR_SODIUM_VERSION}.tar.gz \
-o libsodium-${CUR_SODIUM_VERSION}.tar.gz \
&& tar -xf libsodium-${CUR_SODIUM_VERSION}.tar.gz -C /soft \
&& rm -f libsodium-${CUR_SODIUM_VERSION}.tar.gz \
&& mkdir -p /soft/osx/build/sodium && cd /soft/osx/build/sodium \
&& sh -c 'CFLAGS="-arch x86_64 -mmacosx-version-min=10.8 -march=core2 -O3" LDFLAGS="-arch x86_64 -mmacosx-version-min=10.8 -march=core2" LD=${CROSS_COMPILE}ld CC=${CROSS_COMPILE}clang CXX=${CROSS_COMPILE}clang++ /soft/libsodium-${CUR_SODIUM_VERSION}/configure --host=x86_64-${_DARWIN} --prefix=/soft/osx/ && make install -j${JOBS_COUNT}' \
&& cd /soft && rm -rf /soft/osx/build/sodium && rm -rf /soft/libsodium-* \
&& /soft/osxcross/target/bin/x86_64-${_DARWIN}-install_name_tool -id @rpath/libsodium.23.dylib /soft/osx/lib/libsodium.23.dylib
# fftw3
WORKDIR /soft
RUN wget -nv http://www.fftw.org/fftw-${CUR_FFTW_VERSION}.tar.gz \
&& tar -xf fftw-${CUR_FFTW_VERSION}.tar.gz -C /soft \
&& rm -f fftw-${CUR_FFTW_VERSION}.tar.gz \
&& mkdir -p /soft/osx/build/fftw3 && cd /soft/osx/build/fftw3 \
&& cmake -DCMAKE_INSTALL_PREFIX=/soft/osx -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_FLOAT=0 -DENABLE_LONG_DOUBLE=0 -DENABLE_QUAD_PRECISION=0 -DENABLE_THREADS=1 -DWITH_COMBINED_THREADS=1 -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake /soft/fftw-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* \
&& cmake -DCMAKE_INSTALL_PREFIX=/soft/osx -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_FLOAT=1 -DENABLE_LONG_DOUBLE=0 -DENABLE_QUAD_PRECISION=0 -DENABLE_THREADS=1 -DWITH_COMBINED_THREADS=1 -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake /soft/fftw-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* \
&& cmake -DCMAKE_INSTALL_PREFIX=/soft/osx -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_FLOAT=0 -DENABLE_LONG_DOUBLE=1 -DENABLE_QUAD_PRECISION=0 -DENABLE_THREADS=1 -DWITH_COMBINED_THREADS=1 -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake /soft/fftw-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* \
&& rm -rf /soft/fftw-*
RUN /soft/osxcross/target/bin/x86_64-${_DARWIN}-install_name_tool -id @rpath/libfftw3.dylib /soft/osx/lib/libfftw3.dylib
RUN /soft/osxcross/target/bin/x86_64-${_DARWIN}-install_name_tool -id @rpath/libfftw3f.dylib /soft/osx/lib/libfftw3f.dylib
RUN /soft/osxcross/target/bin/x86_64-${_DARWIN}-install_name_tool -id @rpath/libfftw3l.dylib /soft/osx/lib/libfftw3l.dylib
# assimp
WORKDIR /soft
RUN wget -nv https://github.com/assimp/assimp/archive/v${CUR_ASSIMP_VERSION}.tar.gz \
&& tar -xf v${CUR_ASSIMP_VERSION}.tar.gz -C /soft \
&& rm -f v${CUR_ASSIMP_VERSION}.tar.gz pax_global_header \
&& mkdir -p /soft/osx/build/assimp && cd /soft/osx/build/assimp \
&& cmake -DCMAKE_INSTALL_PREFIX=/soft/osx -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DASSIMP_BUILD_ASSIMP_TOOLS=0 -DASSIMP_BUILD_TESTS=0 -DBUILD_FRAMEWORK=0 -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake /soft/assimp-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* && rm -rf /soft/assimp-*
RUN /soft/osxcross/target/bin/x86_64-${_DARWIN}-install_name_tool -id @rpath/libassimp.4.dylib /soft/osx/lib/libassimp.4.dylib
# markdown
WORKDIR /soft
RUN wget -nv https://github.com/Orc/discount/archive/v${CUR_DISCOUNT_VERSION}.tar.gz \
&& tar -xf v${CUR_DISCOUNT_VERSION}.tar.gz -C /soft \
&& rm -f v${CUR_DISCOUNT_VERSION}.tar.gz
RUN sed -i 's/DESTRUCTOR/ /' /soft/discount-${CUR_DISCOUNT_VERSION}/setup.c
WORKDIR /soft/discount-${CUR_DISCOUNT_VERSION}/cmake
COPY discount.cmake.patch /soft/discount-${CUR_DISCOUNT_VERSION}/cmake/cmake.patch
RUN patch < cmake.patch
WORKDIR /soft/linux/build/discount
RUN cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DDISCOUNT_ONLY_LIBRARY=1 /soft/discount-${CUR_DISCOUNT_VERSION}/cmake && make -j2 && mv mktags .. && rm -rf ./* \
&& mkdir -p /soft/osx/build/discount && mv /soft/linux/build/mktags /soft/osx/build/discount/mktags
WORKDIR /soft/osx/build/discount
RUN cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/soft/osx -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake -DDISCOUNT_ONLY_LIBRARY=1 /soft/discount-*/cmake \
&& make install -j${JOBS_COUNT} && rm -rf ./* && rm -rf /soft/discount-*
# microhttpd
WORKDIR /soft/
RUN wget -nv https://mirror.tochlab.net/pub/gnu/libmicrohttpd/libmicrohttpd-${CUR_MICROHTTPD_VERSION}.tar.gz \
&& tar -xf /soft/libmicrohttpd-${CUR_MICROHTTPD_VERSION}.tar.gz -C /soft/ \
&& rm /soft/libmicrohttpd-${CUR_MICROHTTPD_VERSION}.tar.gz \
&& mkdir -p /soft/osx/build/microhttpd && cd /soft/osx/build/microhttpd \
&& sh -c 'CFLAGS="-arch x86_64 -mmacosx-version-min=10.8 -march=core2 -O3" LDFLAGS="-arch x86_64 -mmacosx-version-min=10.8 -march=core2" LD=${CROSS_COMPILE}ld CC=${CROSS_COMPILE}clang CXX=${CROSS_COMPILE}clang++ /soft/libmicrohttpd-${CUR_MICROHTTPD_VERSION}/configure --host=x86_64-${_DARWIN} --prefix=/soft/osx/ --enable-shared=no --enable-static=yes && make install -j${JOBS_COUNT}' \
&& cd /soft && rm -rf /soft/osx/build/microhttpd && rm -rf /soft/libmicrohttpd-*
# Qt
ENV SYSROOT=/soft/osxcross/target/SDK/MacOSX10.14.sdk
ENV CROSS_COMPILE=/soft/osxcross/target/bin/x86_64-${_DARWIN}-
WORKDIR /soft
RUN wget -nv http://qt-mirror.dannhauer.de/archive/qt/${CUR_QT_VERSION_MAJOR}/${CUR_QT_VERSION}/single/qt-everywhere-opensource-src-${CUR_QT_VERSION}.tar.xz \
&& tar -xf qt-everywhere-opensource-src-${CUR_QT_VERSION}.tar.xz -C /soft \
&& rm -f qt-everywhere-opensource-src-${CUR_QT_VERSION}.tar.xz \
&& mkdir -p /soft/osx/build/qt && cd /soft/osx/build/qt \
&& sh -c 'echo "#!/bin/sh" > /usr/bin/xcode-select' \
&& sh -c 'echo "echo ${SYSROOT}" >> /usr/bin/xcode-select' \
&& chmod +x /usr/bin/xcode-select \
&& sh -c 'echo "#!/bin/sh" > /usr/bin/xcrun' \
&& sh -c 'echo "/soft/osxcross/target/bin/xcrun \"\$@\" 2>/dev/null" >> /usr/bin/xcrun' \
&& chmod +x /usr/bin/xcrun \
&& sed -i 's/license/version/' /soft/qt-everywhere-src-${CUR_QT_VERSION}/qtbase/mkspecs/features/mac/default_pre.prf \
&& /soft/qt-everywhere-src-${CUR_QT_VERSION}/configure -opensource -confirm-license -release -shared -no-pch -xplatform macx-clang -extprefix "/soft/osx" \
-sysroot ${SYSROOT} -gcc-sysroot -sdk macosx -device-option CROSS_COMPILE=${CROSS_COMPILE} \
-qt-libpng -system-zlib -qt-pcre \
-make tools -nomake tests -nomake examples -no-compile-examples \
-skip qtwebengine -skip qtwebglplugin -skip doc -skip qt3d \
&& make -j${JOBS_QT_COUNT} && make install && rm -rf ./* && rm -rf /soft/qt-everywhere-src-*
ENV BUILD_TYPE=Release
WORKDIR /soft
+214
View File
@@ -0,0 +1,214 @@
ARG DOCKER_PREFIX=wapmobil/
FROM ${DOCKER_PREFIX}osxcross
ARG JOBS_COUNT=4
ARG JOBS_QT_COUNT=2
COPY toolchain-Darwin.cmake /soft/
ENV CUR_SODIUM_VERSION=1.0.18
ENV CUR_FFTW_VERSION=3.3.8
ENV CUR_ASSIMP_VERSION=4.1.0
ENV CUR_DISCOUNT_VERSION=2.2.6
ENV CUR_MICROHTTPD_VERSION=0.9.72
ENV CUR_QT_VERSION_MAJOR=5.15
ENV CUR_QT_VERSION=5.15.2
ENV QT_SELECT=5
ENV _DARWIN=apple-darwin20.4
ENV ARCH=x86_64
ENV CROSS_COMPILE=${ARCH}-${_DARWIN}-
# sodium
WORKDIR /soft
RUN curl -s https://download.libsodium.org/libsodium/releases/libsodium-${CUR_SODIUM_VERSION}.tar.gz \
-o libsodium-${CUR_SODIUM_VERSION}.tar.gz \
&& tar -xf libsodium-${CUR_SODIUM_VERSION}.tar.gz -C /soft \
&& rm -f libsodium-${CUR_SODIUM_VERSION}.tar.gz \
&& mkdir -p /soft/osx/build/sodium && cd /soft/osx/build/sodium \
&& sh -c 'CFLAGS="-arch ${ARCH} -mmacosx-version-min=10.8 -march=core2 -O3" LDFLAGS="-arch ${ARCH} -mmacosx-version-min=10.8 -march=core2" LD=${CROSS_COMPILE}ld CC=${CROSS_COMPILE}clang CXX=${CROSS_COMPILE}clang++ /soft/libsodium-${CUR_SODIUM_VERSION}/configure --host=${ARCH}-${_DARWIN} --prefix=/soft/osx/${ARCH}/ && make install -j${JOBS_COUNT}' \
&& cd /soft && rm -rf /soft/osx/build/sodium && rm -rf /soft/libsodium-* \
&& /soft/osxcross/target/bin/${ARCH}-${_DARWIN}-install_name_tool -id @rpath/libsodium.23.dylib /soft/osx/${ARCH}/lib/libsodium.23.dylib
ENV ARCH=aarch64
ENV CROSS_COMPILE=${ARCH}-${_DARWIN}-
# sodium
WORKDIR /soft
RUN curl -s https://download.libsodium.org/libsodium/releases/libsodium-${CUR_SODIUM_VERSION}.tar.gz \
-o libsodium-${CUR_SODIUM_VERSION}.tar.gz \
&& tar -xf libsodium-${CUR_SODIUM_VERSION}.tar.gz -C /soft \
&& rm -f libsodium-${CUR_SODIUM_VERSION}.tar.gz \
&& mkdir -p /soft/osx/build/sodium && cd /soft/osx/build/sodium \
&& sh -c 'CFLAGS="-arch arm64 -mmacosx-version-min=10.8 -O3" LDFLAGS="-arch arm64 -mmacosx-version-min=10.8" LD=${CROSS_COMPILE}ld CC=${CROSS_COMPILE}clang CXX=${CROSS_COMPILE}clang++ /soft/libsodium-${CUR_SODIUM_VERSION}/configure --host=${ARCH}-${_DARWIN} --prefix=/soft/osx/${ARCH}/ && make install -j${JOBS_COUNT}' \
&& cd /soft && rm -rf /soft/osx/build/sodium && rm -rf /soft/libsodium-* \
&& /soft/osxcross/target/bin/${ARCH}-${_DARWIN}-install_name_tool -id @rpath/libsodium.23.dylib /soft/osx/${ARCH}/lib/libsodium.23.dylib
ENV ARCH=x86_64
ENV CROSS_COMPILE=${ARCH}-${_DARWIN}-
# fftw3
WORKDIR /soft
RUN wget -nv http://www.fftw.org/fftw-${CUR_FFTW_VERSION}.tar.gz \
&& tar -xf fftw-${CUR_FFTW_VERSION}.tar.gz -C /soft \
&& rm -f fftw-${CUR_FFTW_VERSION}.tar.gz \
&& mkdir -p /soft/osx/build/fftw3 && cd /soft/osx/build/fftw3 \
&& cmake -DCMAKE_SYSTEM_PROCESSOR=${ARCH} -DCMAKE_INSTALL_PREFIX=/soft/osx/${ARCH} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_FLOAT=0 -DENABLE_LONG_DOUBLE=0 -DENABLE_QUAD_PRECISION=0 -DENABLE_THREADS=1 -DWITH_COMBINED_THREADS=1 -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake /soft/fftw-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* \
&& cmake -DCMAKE_SYSTEM_PROCESSOR=${ARCH} -DCMAKE_INSTALL_PREFIX=/soft/osx/${ARCH} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_FLOAT=1 -DENABLE_LONG_DOUBLE=0 -DENABLE_QUAD_PRECISION=0 -DENABLE_THREADS=1 -DWITH_COMBINED_THREADS=1 -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake /soft/fftw-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* \
&& cmake -DCMAKE_SYSTEM_PROCESSOR=${ARCH} -DCMAKE_INSTALL_PREFIX=/soft/osx/${ARCH} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_FLOAT=0 -DENABLE_LONG_DOUBLE=1 -DENABLE_QUAD_PRECISION=0 -DENABLE_THREADS=1 -DWITH_COMBINED_THREADS=1 -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake /soft/fftw-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* \
&& rm -rf /soft/fftw-*
RUN /soft/osxcross/target/bin/${ARCH}-${_DARWIN}-install_name_tool -id @rpath/libfftw3.dylib /soft/osx/${ARCH}/lib/libfftw3.dylib
RUN /soft/osxcross/target/bin/${ARCH}-${_DARWIN}-install_name_tool -id @rpath/libfftw3f.dylib /soft/osx/${ARCH}/lib/libfftw3f.dylib
RUN /soft/osxcross/target/bin/${ARCH}-${_DARWIN}-install_name_tool -id @rpath/libfftw3l.dylib /soft/osx/${ARCH}/lib/libfftw3l.dylib
ENV ARCH=aarch64
ENV CROSS_COMPILE=${ARCH}-${_DARWIN}-
# fftw3
WORKDIR /soft
RUN wget -nv http://www.fftw.org/fftw-${CUR_FFTW_VERSION}.tar.gz \
&& tar -xf fftw-${CUR_FFTW_VERSION}.tar.gz -C /soft \
&& rm -f fftw-${CUR_FFTW_VERSION}.tar.gz \
&& mkdir -p /soft/osx/build/fftw3 && cd /soft/osx/build/fftw3 \
&& cmake -DCMAKE_SYSTEM_PROCESSOR=${ARCH} -DCMAKE_INSTALL_PREFIX=/soft/osx/${ARCH} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_FLOAT=0 -DENABLE_LONG_DOUBLE=0 -DENABLE_QUAD_PRECISION=0 -DENABLE_THREADS=1 -DWITH_COMBINED_THREADS=1 -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake /soft/fftw-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* \
&& cmake -DCMAKE_SYSTEM_PROCESSOR=${ARCH} -DCMAKE_INSTALL_PREFIX=/soft/osx/${ARCH} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_FLOAT=1 -DENABLE_LONG_DOUBLE=0 -DENABLE_QUAD_PRECISION=0 -DENABLE_THREADS=1 -DWITH_COMBINED_THREADS=1 -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake /soft/fftw-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* \
&& cmake -DCMAKE_SYSTEM_PROCESSOR=${ARCH} -DCMAKE_INSTALL_PREFIX=/soft/osx/${ARCH} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DENABLE_FLOAT=0 -DENABLE_LONG_DOUBLE=1 -DENABLE_QUAD_PRECISION=0 -DENABLE_THREADS=1 -DWITH_COMBINED_THREADS=1 -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake /soft/fftw-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* \
&& rm -rf /soft/fftw-*
RUN /soft/osxcross/target/bin/${ARCH}-${_DARWIN}-install_name_tool -id @rpath/libfftw3.dylib /soft/osx/${ARCH}/lib/libfftw3.dylib
RUN /soft/osxcross/target/bin/${ARCH}-${_DARWIN}-install_name_tool -id @rpath/libfftw3f.dylib /soft/osx/${ARCH}/lib/libfftw3f.dylib
RUN /soft/osxcross/target/bin/${ARCH}-${_DARWIN}-install_name_tool -id @rpath/libfftw3l.dylib /soft/osx/${ARCH}/lib/libfftw3l.dylib
ENV ARCH=x86_64
ENV CROSS_COMPILE=${ARCH}-${_DARWIN}-
# assimp
WORKDIR /soft
RUN wget -nv https://github.com/assimp/assimp/archive/v${CUR_ASSIMP_VERSION}.tar.gz \
&& tar -xf v${CUR_ASSIMP_VERSION}.tar.gz -C /soft \
&& rm -f v${CUR_ASSIMP_VERSION}.tar.gz pax_global_header \
&& mkdir -p /soft/osx/build/assimp && cd /soft/osx/build/assimp \
&& cmake -DCMAKE_SYSTEM_PROCESSOR=${ARCH} -DCMAKE_INSTALL_PREFIX=/soft/osx/${ARCH} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DASSIMP_BUILD_ASSIMP_TOOLS=0 -DASSIMP_BUILD_TESTS=0 -DBUILD_FRAMEWORK=0 -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake /soft/assimp-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* && rm -rf /soft/assimp-*
RUN /soft/osxcross/target/bin/${ARCH}-${_DARWIN}-install_name_tool -id @rpath/libassimp.4.dylib /soft/osx/${ARCH}/lib/libassimp.4.dylib
ENV ARCH=aarch64
ENV CROSS_COMPILE=${ARCH}-${_DARWIN}-
# assimp
WORKDIR /soft
RUN wget -nv https://github.com/assimp/assimp/archive/v${CUR_ASSIMP_VERSION}.tar.gz \
&& tar -xf v${CUR_ASSIMP_VERSION}.tar.gz -C /soft \
&& rm -f v${CUR_ASSIMP_VERSION}.tar.gz pax_global_header \
&& mkdir -p /soft/osx/build/assimp && cd /soft/osx/build/assimp \
&& cmake -DCMAKE_SYSTEM_PROCESSOR=${ARCH} -DCMAKE_INSTALL_PREFIX=/soft/osx/${ARCH} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DASSIMP_BUILD_ASSIMP_TOOLS=0 -DASSIMP_BUILD_TESTS=0 -DBUILD_FRAMEWORK=0 -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake /soft/assimp-* \
&& make install -j${JOBS_COUNT} && rm -rf ./* && rm -rf /soft/assimp-*
RUN /soft/osxcross/target/bin/${ARCH}-${_DARWIN}-install_name_tool -id @rpath/libassimp.4.dylib /soft/osx/${ARCH}/lib/libassimp.4.dylib
# markdown
WORKDIR /soft
RUN wget -nv https://github.com/Orc/discount/archive/v${CUR_DISCOUNT_VERSION}.tar.gz \
&& tar -xf v${CUR_DISCOUNT_VERSION}.tar.gz -C /soft \
&& rm -f v${CUR_DISCOUNT_VERSION}.tar.gz
RUN sed -i 's/DESTRUCTOR/ /' /soft/discount-${CUR_DISCOUNT_VERSION}/setup.c
WORKDIR /soft/discount-${CUR_DISCOUNT_VERSION}/cmake
COPY discount.cmake.patch /soft/discount-${CUR_DISCOUNT_VERSION}/cmake/cmake.patch
RUN patch < cmake.patch
WORKDIR /soft/linux/build/discount
RUN cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DDISCOUNT_ONLY_LIBRARY=1 /soft/discount-${CUR_DISCOUNT_VERSION}/cmake && make -j2 && mv mktags .. && rm -rf ./* \
&& mkdir -p /soft/osx/build/discount && mv /soft/linux/build/mktags /soft/osx/build/discount/mktags
ENV ARCH=x86_64
ENV CROSS_COMPILE=${ARCH}-${_DARWIN}-
WORKDIR /soft/osx/build/discount
RUN cmake -DCMAKE_SYSTEM_PROCESSOR=${ARCH} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/soft/osx/${ARCH} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake -DDISCOUNT_ONLY_LIBRARY=1 /soft/discount-*/cmake \
&& make install -j${JOBS_COUNT} && rm -rf ./*
ENV ARCH=aarch64
ENV CROSS_COMPILE=${ARCH}-${_DARWIN}-
# markdown
RUN cmake -DCMAKE_SYSTEM_PROCESSOR=${ARCH} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/soft/osx/${ARCH} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake -DDISCOUNT_ONLY_LIBRARY=1 /soft/discount-*/cmake \
&& make install -j${JOBS_COUNT} && rm -rf ./* && rm -rf /soft/discount-*
ENV ARCH=x86_64
ENV CROSS_COMPILE=${ARCH}-${_DARWIN}-
# microhttpd
WORKDIR /soft/
RUN wget -nv https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${CUR_MICROHTTPD_VERSION}.tar.gz \
&& tar -xf /soft/libmicrohttpd-${CUR_MICROHTTPD_VERSION}.tar.gz -C /soft/ \
&& rm /soft/libmicrohttpd-${CUR_MICROHTTPD_VERSION}.tar.gz \
&& mkdir -p /soft/osx/build/microhttpd && cd /soft/osx/build/microhttpd \
&& sh -c 'CFLAGS="-arch ${ARCH} -mmacosx-version-min=10.8 -march=core2 -O3" LDFLAGS="-arch ${ARCH} -mmacosx-version-min=10.8 -march=core2" LD=${CROSS_COMPILE}ld CC=${CROSS_COMPILE}clang CXX=${CROSS_COMPILE}clang++ /soft/libmicrohttpd-${CUR_MICROHTTPD_VERSION}/configure --host=${ARCH}-${_DARWIN} --prefix=/soft/osx/${ARCH}/ --enable-shared=no --enable-static=yes && make install -j${JOBS_COUNT}' \
&& cd /soft && rm -rf /soft/osx/build/microhttpd && rm -rf /soft/libmicrohttpd-*
ENV ARCH=aarch64
ENV CROSS_COMPILE=${ARCH}-${_DARWIN}-
# microhttpd
WORKDIR /soft/
RUN wget -nv https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${CUR_MICROHTTPD_VERSION}.tar.gz \
&& tar -xf /soft/libmicrohttpd-${CUR_MICROHTTPD_VERSION}.tar.gz -C /soft/ \
&& rm /soft/libmicrohttpd-${CUR_MICROHTTPD_VERSION}.tar.gz \
&& mkdir -p /soft/osx/build/microhttpd && cd /soft/osx/build/microhttpd \
&& sh -c 'CFLAGS="-arch arm64 -mmacosx-version-min=10.8 -O3" LDFLAGS="-arch arm64 -mmacosx-version-min=10.8" LD=${CROSS_COMPILE}ld CC=${CROSS_COMPILE}clang CXX=${CROSS_COMPILE}clang++ /soft/libmicrohttpd-${CUR_MICROHTTPD_VERSION}/configure --host=${ARCH}-${_DARWIN} --prefix=/soft/osx/${ARCH}/ --enable-shared=no --enable-static=yes && make install -j${JOBS_COUNT}' \
&& cd /soft && rm -rf /soft/osx/build/microhttpd && rm -rf /soft/libmicrohttpd-*
ENV ARCH=x86_64
# Qt
ENV SYSROOT=/soft/osxcross/target/SDK/MacOSX11.3.sdk
ENV CROSS_COMPILE=/soft/osxcross/target/bin/${ARCH}-${_DARWIN}-
WORKDIR /soft
RUN wget -nv http://download.qt.io/official_releases/qt/${CUR_QT_VERSION_MAJOR}/${CUR_QT_VERSION}/single/qt-everywhere-src-${CUR_QT_VERSION}.tar.xz \
&& tar -xf qt-everywhere-src-${CUR_QT_VERSION}.tar.xz -C /soft \
&& rm -f qt-everywhere-src-${CUR_QT_VERSION}.tar.xz \
&& mkdir -p /soft/osx/build/qt && cd /soft/osx/build/qt \
&& sh -c 'echo "#!/bin/sh" > /usr/bin/xcode-select' \
&& sh -c 'echo "echo ${SYSROOT}" >> /usr/bin/xcode-select' \
&& chmod +x /usr/bin/xcode-select \
&& sh -c 'echo "#!/bin/sh" > /usr/bin/xcrun' \
&& sh -c 'echo "/soft/osxcross/target/bin/xcrun \"\$@\" 2>/dev/null" >> /usr/bin/xcrun' \
&& chmod +x /usr/bin/xcrun \
&& sed -i 's/license/version/' /soft/qt-everywhere-src-${CUR_QT_VERSION}/qtbase/mkspecs/features/mac/default_pre.prf \
&& /soft/qt-everywhere-src-${CUR_QT_VERSION}/configure -opensource -confirm-license -release -shared -no-pch -xplatform macx-clang -extprefix "/soft/osx/${ARCH}" \
-sysroot ${SYSROOT} -gcc-sysroot -sdk macosx -device-option CROSS_COMPILE=${CROSS_COMPILE} \
-qt-libpng -system-zlib -qt-pcre \
-make tools -nomake tests -nomake examples -no-compile-examples \
-skip qtwebengine -skip qtwebglplugin -skip doc -skip qt3d \
&& make -j${JOBS_QT_COUNT} && make install && rm -rf ./* && rm -rf /soft/qt-everywhere-src-*
WORKDIR /soft
C:/sdk/MinGW/x64/bin;C:/sdk/Qt_5.15.0_x64/bin;C:/sdk/CMake/bin;C:/sdk/llvm-10.0.0_x64/bin;C:/Windows/system32;C:/Perl64/site/bin;C:/Perl64/bin;C:/Users/peri4/AppData/Local/Programs/Python/Python37-32/Scripts/;C:/Users/peri4/AppData/Local/Programs/Python/Python37-32/;c:/Ruby25/bin/
+38
View File
@@ -0,0 +1,38 @@
--- CMakeLists.txt 2019-04-15 18:28:20.000000000 +0300
+++ CMakeLists_new.txt 2020-03-16 10:46:52.288128600 +0300
@@ -20,6 +20,9 @@
set(${PROJECT_NAME}_ONLY_LIBRARY OFF CACHE BOOL
"Set to ON to only build markdown library (default is OFF)")
+set(${PROJECT_NAME}_CXX_BINDING OFF CACHE BOOL
+ "Set to ON to install header files with c++ wrappers (default is OFF)")
+
# Check headers
include(CheckIncludeFile)
check_include_file(libgen.h HAVE_LIBGEN_H)
@@ -110,6 +113,13 @@
configure_file("${_ROOT}/mkdio.h.in"
"${_ROOT}/mkdio.h"
@ONLY)
+if(${PROJECT_NAME}_CXX_BINDING)
+ message(STATUS "Applying c++ glue to mkdio.h")
+ file(READ "${_ROOT}/mkdio.h" _ROOT_MKDIO_H)
+ file(WRITE "${_ROOT}/mkdio.h" "#ifdef __cplusplus\nextern \"C\" {\n#endif\n")
+ file(APPEND "${_ROOT}/mkdio.h" "${_ROOT_MKDIO_H}")
+ file(APPEND "${_ROOT}/mkdio.h" "#ifdef __cplusplus\n}\n#endif\n")
+endif()
include_directories("${_ROOT}")
@@ -182,7 +192,10 @@
target_include_directories(libmarkdown INTERFACE
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)
- set(_TARGETS libmarkdown markdown)
+ set(_TARGETS libmarkdown)
+ if(NOT ${PROJECT_NAME}_ONLY_LIBRARY)
+ list(APPEND _TARGETS markdown)
+ endif()
if(${PROJECT_NAME}_INSTALL_SAMPLES)
list(APPEND _TARGETS mkd2html makepage)
endif()
Binary file not shown.
+24
View File
@@ -0,0 +1,24 @@
set(CMAKE_SYSTEM_NAME Darwin)
set(CMAKE_SYSTEM_PROCESSOR x86_64)
set(OSXCROSS_TARGET_DIR "/soft/osxcross/target")
set(_DAWRIN_VERSION "apple-darwin18")
set(CMAKE_C_COMPILER ${OSXCROSS_TARGET_DIR}/bin/${CMAKE_SYSTEM_PROCESSOR}-${_DAWRIN_VERSION}-clang )
set(CMAKE_CXX_COMPILER ${OSXCROSS_TARGET_DIR}/bin/${CMAKE_SYSTEM_PROCESSOR}-${_DAWRIN_VERSION}-clang++ )
set(CMAKE_RANLIB ${OSXCROSS_TARGET_DIR}/bin/${CMAKE_SYSTEM_PROCESSOR}-${_DAWRIN_VERSION}-ranlib CACHE FILEPATH "ranlib" )
set(CMAKE_AR ${OSXCROSS_TARGET_DIR}/bin/${CMAKE_SYSTEM_PROCESSOR}-${_DAWRIN_VERSION}-ar CACHE FILEPATH "ar" )
set(CMAKE_INSTALL_NAME_TOOL ${OSXCROSS_TARGET_DIR}/bin/${CMAKE_SYSTEM_PROCESSOR}-${_DAWRIN_VERSION}-install_name_tool CACHE FILEPATH "install_name_tool" )
set(CMAKE_OTOOL ${OSXCROSS_TARGET_DIR}/bin/${CMAKE_SYSTEM_PROCESSOR}-${_DAWRIN_VERSION}-otool CACHE FILEPATH "otool" )
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath,@executable_path/../Frameworks,-rpath,@executable_path/lib,-rpath,@loader_path/../lib")
list(APPEND CMAKE_PREFIX_PATH "/soft/osx")
set(CMAKE_FIND_ROOT_PATH ${OSXCROSS_TARGET_DIR}/${CMAKE_SYSTEM_PROCESSOR}-${_DAWRIN_VERSION} ${OSXCROSS_TARGET_DIR}/SDK/MacOSX10.14.sdk ${CMAKE_PREFIX_PATH}/lib)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY FIRST)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE FIRST)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE FIRST)
include_directories(${CMAKE_PREFIX_PATH}/include)
#link_directories(${CMAKE_PREFIX_PATH}/lib)
cmake_policy(SET CMP0025 NEW)