[wesnoth-commits] [wesnoth/wesnoth] b95d72: Use cmake to create VS project files.

Pentarctagon noreply at github.com
Fri May 7 05:02:20 UTC 2021


  Branch: refs/heads/master
  Home:   https://github.com/wesnoth/wesnoth
  Commit: b95d72f9c15a2a540103ba158e2008d1cc85b518
      https://github.com/wesnoth/wesnoth/commit/b95d72f9c15a2a540103ba158e2008d1cc85b518
  Author: Pentarctagon <pentarctagon at tutamail.com>
  Date:   2021-05-07 (Fri, 07 May 2021)

  Changed paths:
    M .github/workflows/ci-main.yml
    M .gitignore
    M CMakeLists.txt
    M INSTALL.md
    R projectfiles/VC16/README.md
    R projectfiles/VC16/campaignd.vcxproj
    R projectfiles/VC16/campaignd.vcxproj.filters
    R projectfiles/VC16/files_with_deactivated_warnings.txt
    R projectfiles/VC16/liblua.vcxproj
    R projectfiles/VC16/liblua.vcxproj.filters
    R projectfiles/VC16/wesnoth.sln
    R projectfiles/VC16/wesnoth.vcxproj
    R projectfiles/VC16/wesnoth.vcxproj.filters
    R projectfiles/VC16/wesnothd.vcxproj
    R projectfiles/VC16/wesnothd.vcxproj.filters
    R projectfiles/VC16/wesnothlib.vcxproj
    R projectfiles/VC16/wesnothlib.vcxproj.filters
    M source_lists/libwesnoth
    M source_lists/libwesnoth_core
    M source_lists/lua
    M source_lists/wesnoth
    M src/CMakeLists.txt
    M src/lexical_cast.hpp
    M src/tests/test_lexical_cast.cpp
    M src/tests/test_rng.cpp
    M src/tests/test_serialization.cpp
    A vcpkg.json

  Log Message:
  -----------
  Use cmake to create VS project files.

Due to an upstream change in vcpkg that breaks the simple integration previously available with `vcpkg integrate install`, building using that setup method is no longer possible. In order to work correctly, cmake must instead be used to generate the VS project files, since that is able to integrate with vcpkg, since vcpkg also uses cmake to build all the library dependencies.

An additional benefit of this is that it will no longer be necessary to separately update the VS project files since it will read the same source_lists files as cmake (on linux) and scons do.

This also enables running the WML unit tests on Windows with this in order to confirm that a valid wesnoth.exe is in fact being generated as well as fixes building the boost unit tests.

The warning level for both release and debug builds are now at level three, the remaining warnings have been fixed, and therefore strict builds have been enabled - any warning will now cause the build to fail, just like for the linux jobs.

Known issues:
* The boost unit tests don't actually run successfully - they fail on CI at least with an exit code on 201 - however I don't know if this is a real problem or just a problem with running headless on CI.
* The debug build doesn't quite work since the executables are built against the non-debug dlls but cmake copies over the debug dlls into the output directory. For now this can be worked around by copying the release dlls into the debug directory.
* The instructions in INSTALL.md are not very good since I don't use Windows and thus can't write anything more detailed. Ideally someone who uses Windows can add more detailed step by step instructions at some point.

Fixes #5741


  Commit: edb225da8ec5c6cdb602f1dbc2e278f89e20ce17
      https://github.com/wesnoth/wesnoth/commit/edb225da8ec5c6cdb602f1dbc2e278f89e20ce17
  Author: Pentarctagon <pentarctagon at tutamail.com>
  Date:   2021-05-07 (Fri, 07 May 2021)

  Changed paths:
    M src/config_cache.cpp

  Log Message:
  -----------
  Directly check for iOS rather than using an SDL header.


Compare: https://github.com/wesnoth/wesnoth/compare/df41f13e4150...edb225da8ec5



More information about the Commits mailing list