1

I got a cross platform application using a wxWidgets gui and want to test the cross build with github ci pipeline. The Linux test runs fine as i'm able to install the wxWidgets dependencies using apt-get. But i got no idea how to setup the wxWidgets Windows dependencies. Google didn't help me either. any suggestions what command i need to put into my yml-file?

thanks!

edit: what i've tried so far...

      - name: install wxwidgets
        shell: powershell
        run: |
          choco install wxwidgets

but this is the same like cloning the git version, only with an older version and

        run: |
          git clone https://github.com/Microsoft/vcpkg.git
          cd vcpkg
          bootstrap-vcpkg.bat
          vcpkg integrate install
          vcpkg install wxwidgets

the pipeline keeps hanging while installing vcpkg

  • try to look at wxWidgets Git repository. The library does build every PR on Travis CI - maybe it will give you an idea. – Igor Aug 12 '20 at 12:00
  • @Igor thanks, but as far as i can see it is only used for linux ( https://github.com/wxWidgets/wxWidgets/blob/master/.travis.yml ) – quotschmacher Aug 12 '20 at 12:18

1 Answers1

0

You should be able to install wxWidgets using vcpkg, of course, but you can also just download the official binaries and use them instead, e.g. like this:

  build-cpp-windows-2019:
    name: C++/MSVS (windows-2019)

    runs-on: windows-2019

    env:
      wxMSW_VER: 3.1.3
      WXWIN: c:\wx

    steps:
      [...]

      - name: Install wxWidgets
        run: |
          mkdir ${env:WXWIN} | Out-Null
          cd ${env:WXWIN}
          curl -OL https://github.com/wxWidgets/wxWidgets/releases/download/v${env:wxMSW_VER}/wxWidgets-${env:wxMSW_VER}-headers.7z
          7z x wxWidgets-${env:wxMSW_VER}-headers.7z
          curl -OL https://github.com/wxWidgets/wxWidgets/releases/download/v${env:wxMSW_VER}/wxMSW-${env:wxMSW_VER}_vc14x_x64_Dev.7z
          7z x wxMSW-${env:wxMSW_VER}_vc14x_x64_Dev.7z
VZ.
  • 21,740
  • 3
  • 39
  • 42
  • thanks - vcpkg seems to only work with dynamic library (this is what i read) even though you can pass a static parameter. i finally managed it by simply pulling wxwidgets sources from github an compile in the beginning of the pipeline. – quotschmacher Oct 29 '20 at 13:44
  • This works too, of course, but compiling wx can take longer than building the project itself, which is why I prefer to use binaries whenever possible. – VZ. Oct 29 '20 at 16:42