diff options
-rw-r--r-- | .github/workflows/debug.yml | 72 | ||||
-rw-r--r-- | .github/workflows/release-deb-package.yml | 40 |
2 files changed, 94 insertions, 18 deletions
diff --git a/.github/workflows/debug.yml b/.github/workflows/debug.yml index 190997ae..b13bb461 100644 --- a/.github/workflows/debug.yml +++ b/.github/workflows/debug.yml @@ -56,12 +56,12 @@ jobs: - name: Install Dependence (macOS) run: | - brew install cmake git autoconf automake qt@5 gcc texinfo gettext gpgme [email protected] + brew install cmake git autoconf automake qt@5 gcc texinfo gettext libgpg-error libassuan gpgme openssl brew install boost libconfig gettext ninja brew unlink gettext && brew link --force gettext brew link qt@5 brew link gcc - brew link [email protected] --force + brew link openssl --force if: matrix.os == 'macos-10.15' - name: Cache Qt @@ -91,31 +91,75 @@ jobs: pacman --noconfirm -S --needed mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-cmake autoconf pacman --noconfirm -S --needed make texinfo mingw-w64-x86_64-libconfig mingw-w64-x86_64-boost automake pacman --noconfirm -S --needed mingw-w64-x86_64-qt5 libintl msys2-runtime-devel gettext-devel - pacman --noconfirm -S --needed mingw-w64-x86_64-gpgme mingw-w64-x86_64-gnupg + pacman --noconfirm -S --needed mingw-w64-x86_64-gpgme mingw-w64-x86_64-ninja mingw-w64-x86_64-gnupg if: matrix.os == 'windows-latest' - - name: Build GpgFrontend (Linux) - # Build your GpgFrontend with the given configuration + - name: Build gpg-error (Linux) run: | - cmake -B ${{github.workspace}}/build -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGPGFRONTEND_BUILD_TYPE_TEST_UI=ON - cmake --build ${{github.workspace}}/build --config {{$env.BUILD_TYPE}} -- -v + cd ${{github.workspace}}/third_party/libgpg-error + ./autogen.sh + ./configure --enable-maintainer-mode --enable-static=yes && make -j2 + sudo make install + cd ${{github.workspace}} if: matrix.os == 'ubuntu-latest' - - name: Build GpgFrontend (macOS) - # Build your GpgFrontend with the given configuration + - name: Build assuan (Linux) run: | - cmake -B ${{github.workspace}}/build -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGPGFRONTEND_BUILD_TYPE_TEST_UI=ON -DOPENSSL_ROOT_DIR=/usr/local/opt/[email protected] - cmake --build ${{github.workspace}}/build --config {{$env.BUILD_TYPE}} -- -v - if: matrix.os == 'macos-10.15' + cd ${{github.workspace}}/third_party/libassuan + ./autogen.sh + ./configure --enable-maintainer-mode --enable-static=yes && make -j2 + sudo make install + cd ${{github.workspace}} + if: matrix.os == 'ubuntu-latest' + + - name: Build GpgME (Linux & macOS) + run: | + cd ${{github.workspace}}/third_party/gpgme + ./autogen.sh + ./configure --enable-maintainer-mode --enable-static=yes --enable-languages=cpp && make -j2 + sudo make install + cd ${{github.workspace}} + if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-10.15' + + - name: Build GpgME (Windows) + shell: msys2 {0} + run: | + git clone https://github.com/saturneric/gpgme + cd gpgme + ./autogen.sh + ./configure --enable-maintainer-mode --enable-static=yes --disable-gpg-test --enable-languages=cpp LDFLAGS="-static" && make -j2 + make install + if: matrix.os == 'windows-latest' + + - name: Build vmime + run: | + cd ${{github.workspace}}/third_party/vmime + mkdir build + cd build + cmake -G Ninja -DVMIME_HAVE_MESSAGING_PROTO_SENDMAIL=OFF -DVMIME_CHARSETCONV_LIB=iconv -DVMIME_TLS_SUPPORT_LIB=openssl -DVMIME_HAVE_SASL_SUPPORT=OFF .. + ninja -v + sudo ninja install + cd ${{github.workspace}} + + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGPGFRONTEND_BUILD_TYPE_TEST_UI=ON + if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-10.15' + + - name: Build GpgFrontend + # Build your program with the given configuration + run: cmake -G Ninja --build ${{github.workspace}}/build --config $env.BUILD_TYPE}} -- -v + if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-10.15' - name: Configure CMake & Build Binary(Windows) shell: msys2 {0} run: | cd $(echo "/${{github.workspace}}" | sed 's/\\/\//g' | sed 's/://') mkdir build && cd build - cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGPGFRONTEND_BUILD_TYPE_TEST_UI=ON .. + cmake -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGPGFRONTEND_BUILD_TYPE_TEST_UI=ON .. # Build your program with the given configuration - cmake --build . --config ${{env.BUILD_TYPE}} -- -j 2 + cmake --build . --config ${{env.BUILD_TYPE}} -- -v if: matrix.os == 'windows-latest' - name: Get Short SHA of Commit diff --git a/.github/workflows/release-deb-package.yml b/.github/workflows/release-deb-package.yml index bfe1164d..d9296167 100644 --- a/.github/workflows/release-deb-package.yml +++ b/.github/workflows/release-deb-package.yml @@ -29,9 +29,7 @@ jobs: - uses: actions/checkout@v2 with: - submodules: 'recursive' - - - run: git submodule update --init --recursive + submodules: recursive - name: Get Short SHA of Commit id: vars @@ -45,10 +43,44 @@ jobs: sudo apt-get -y install gpg if: matrix.os == 'ubuntu-20.04' + - name: Build gpg-error + run: | + cd ${{github.workspace}}/third_party/libgpg-error + ./autogen.sh + ./configure --enable-maintainer-mode --enable-static=yes && make -j2 + sudo make install + cd ${{github.workspace}} + + - name: Build assuan + run: | + cd ${{github.workspace}}/third_party/libassuan + ./autogen.sh + ./configure --enable-maintainer-mode --enable-static=yes && make -j2 + sudo make install + cd ${{github.workspace}} + + - name: Build GpgME + run: | + cd ${{github.workspace}}/third_party/gpgme + ./autogen.sh + ./configure --enable-maintainer-mode --enable-static=yes --enable-languages=cpp && make -j2 + sudo make install + cd ${{github.workspace}} + + - name: Build vmime + run: | + cd ${{github.workspace}}/third_party/vmime + mkdir build + cd build + cmake -G Ninja -DVMIME_HAVE_MESSAGING_PROTO_SENDMAIL=OFF -DVMIME_CHARSETCONV_LIB=iconv -DVMIME_TLS_SUPPORT_LIB=openssl -DVMIME_HAVE_SASL_SUPPORT=OFF .. + ninja -v + sudo ninja install + cd ${{github.workspace}} + - name: Build & Package GpgFrontend (Linux DEB Package) # Build your program with the given configuration run: | - cmake -B ${{github.workspace}}/build-deb-${{matrix.os}} -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGENERATE_LINUX_INSTALL_SOFTWARE=ON + cmake -B ${{github.workspace}}/build-deb-${{matrix.os}} -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_BUILD_TYPE="Release" -DGENERATE_LINUX_INSTALL_SOFTWARE=ON cmake --build ${{github.workspace}}/build-deb-${{matrix.os}} --config {{$env.BUILD_TYPE}} -- -v cd ${{github.workspace}}/build-deb-${{matrix.os}} ninja package |