diff --git a/.drone.yml b/.drone.yml index 6c0206b..ba1e30e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -17,14 +17,14 @@ pipeline: commands: - mkdir build.linux && cd build.linux - cmake .. - - make -j + - make -j$$(nproc) lan-play-windows: group: build image: switch-lan-play-build:win commands: - mkdir build.win && cd build.win - cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-mingw32.cmake .. - - make -j + - make -j$$(nproc) server: group: build image: node:alpine diff --git a/cmake/toolchain-mingw64.cmake b/cmake/toolchain-mingw64.cmake index 3010f9b..f96de64 100644 --- a/cmake/toolchain-mingw64.cmake +++ b/cmake/toolchain-mingw64.cmake @@ -4,7 +4,7 @@ set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "") set(CMAKE_SYSTEM_NAME Windows) -set(TOOLCHAIN_PREFIX i686-w64-mingw64) +set(TOOLCHAIN_PREFIX x86_64-w64-mingw32) # cross compilers to use for C and C++ set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}-gcc) diff --git a/docker/Dockerfile.win b/docker/Dockerfile.win index 88b9500..3af5ef9 100644 --- a/docker/Dockerfile.win +++ b/docker/Dockerfile.win @@ -6,12 +6,16 @@ RUN apt update RUN apt install -y cmake make RUN apt install -y mingw-w64 unzip COPY ./cmake/toolchain-mingw64.cmake / -RUN curl -L -o /tmp/libevent-2.1.8-stable.tar.gz https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz -RUN tar xvf /tmp/libevent-2.1.8-stable.tar.gz -C /tmp -ENV HOST=i686-w64-mingw64 -ENV TARGET=i686-w64-mingw64 -ENV PREFIX=/usr/i686-w64-mingw64/ -RUN cd /tmp/libevent-2.1.8-stable \ - && ./configure --host=$HOST --target=$TARGET --prefix=$PREFIX --disable-openssl --enable-shared=no \ - && make -j \ +RUN curl -L -o /tmp/libev-v1.23.0.tar.gz https://github.com/libuv/libuv/archive/v1.23.0.tar.gz +RUN tar xvf /tmp/libev-v1.23.0.tar.gz -C /tmp +# I can't `make install` by using cmake, so ... +# RUN cd /tmp/libuv-1.23.0/build \ +# && cmake -DCMAKE_TOOLCHAIN_FILE=/toolchain-mingw64.cmake -DCMAKE_INSTALL_PREFIX=/usr/x86_64-w64-mingw32/ .. +ENV HOST=x86_64-w64-mingw32 +ENV TARGET=x86_64-w64-mingw32 +ENV PREFIX=/usr/x86_64-w64-mingw32/ +RUN cd /tmp/libuv-1.23.0 \ + && ./autogen.sh \ + && ./configure --host=$HOST --target=$TARGET --prefix=$PREFIX --disable-shared --enable-static \ + && make -j$(nproc) \ && make install