Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mostly CMake stuff #106

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open

Mostly CMake stuff #106

wants to merge 23 commits into from

Commits on Jul 29, 2020

  1. Configuration menu
    Copy the full SHA
    b8d4188 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ac7a60c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5803fc1 View commit details
    Browse the repository at this point in the history
  4. SDL: Introduce USE_SDL option (required)

    I don't know if we're planning to have this ever be turned off, but at
    least the ambiguity between SDL & SDL_GFX is removed.
    
    Also, USE_SDLGFX is renamed to USE_SDL_GFX, to fit CMake's style. (Not
    worrying too much since currently -DUSE_SDLGFX doesn't build anyways.)
    bb010g committed Jul 29, 2020
    Configuration menu
    Copy the full SHA
    6f4739b View commit details
    Browse the repository at this point in the history
  5. SDL_gfx: Builds return (more features stubbed-out)

    I have barely tested this, but it's better than no builds to test?
    
    Also, fun fact, launching this build on a fresh user data directory
    (no xm.db) corrupts the database because the version doesn't ever get
    written! Or something. I had to remove it anyhow while testing.
    bb010g committed Jul 29, 2020
    Configuration menu
    Copy the full SHA
    a6a04c8 View commit details
    Browse the repository at this point in the history
  6. Nix: Add /shell.nix

    bb010g committed Jul 29, 2020
    Configuration menu
    Copy the full SHA
    3bc4b93 View commit details
    Browse the repository at this point in the history
  7. CMake: Switch to upstream FindSQLite3

    This module was added in CMake 3.14, but we can vendor it until the next
    Debian stable release.
    bb010g committed Jul 29, 2020
    Configuration menu
    Copy the full SHA
    36eb4ae View commit details
    Browse the repository at this point in the history
  8. Only add subdirectories if necessary

    If the build is using system libraries (for bzip2, lua, ode, or
    xdgbasedir), there's no need to add the corresponding subdirectories.
    This reduces build time and avoids potential mix-ups.
    
    Signed-off-by: Stephen Kitt <steve@sk2.org>
    skitt authored and bb010g committed Jul 29, 2020
    Configuration menu
    Copy the full SHA
    1c191c8 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    36f79c3 View commit details
    Browse the repository at this point in the history
  10. CMake: Use IMPORTED targets

    This commit switches over the following:
    + CURL (library, REQUIRED)
    + JPEG (library, REQUIRED)
    + Xml2 (library, REQUIRED)
    + PNG (library, REQUIRED)
    + SQLite3 (library, REQUIRED)
    + ZLIB (library, REQUIRED)
    bb010g committed Jul 29, 2020
    Configuration menu
    Copy the full SHA
    9b9ad83 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    901f86d View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    d188a03 View commit details
    Browse the repository at this point in the history
  13. CMake: Use IMPORTED targets

    This commit switches over the following:
    + Intl (library, if(USE_GETTEXT) -> REQUIRED)
    + LibLZMA (libary, if(STATIC_BUILD))
    + SDL (library, if(USE_SDL) -> REQUIRED)
    + SDL_gfx (library, if(USE_SDL) -> if(USE_SDL_gfx) -> REQUIRED)
    + SDL_mixer (library, if(USE_SDL) -> REQUIRED)
    + SDL_net (library, if(USE_SDL) -> REQUIRED)
    + SDL_ttf (library, if(USE_SDL) -> REQUIRED)
    bb010g committed Jul 29, 2020
    Configuration menu
    Copy the full SHA
    7c18a8e View commit details
    Browse the repository at this point in the history
  14. CMake: Use IMPORTED targets

    This commit switches over the following:
    + OpenGL (library, if(USE_OPENGL) -> REQUIRED)
    bb010g committed Jul 29, 2020
    Configuration menu
    Copy the full SHA
    2916470 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    4839148 View commit details
    Browse the repository at this point in the history
  16. CMake: Use IMPORTED targets

    This commit switches over the following:
    + BZip2 (library, system/vendor)
    + Lua (library, system/vendor)
    + ODE (library, system/vendor)
    + XDG (library, system/vendor)
    
    Additionally, the following are brought into style:
    + Chipmunk (library, vendor)
    + Md5sum (library, vendor)
    + Glad (generated) (library, vendor)
    bb010g committed Jul 29, 2020
    Configuration menu
    Copy the full SHA
    1a61d78 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2020

  1. CMake: No IMPORTED_LOCATION for INTERFACE targets

    This only worked on my system because of `if(NOT Intl_LIBRARY)`.
    bb010g committed Jul 30, 2020
    Configuration menu
    Copy the full SHA
    c5087f1 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2020

  1. CMake: Blanket PREFER_SYSTEM & USE_SYSTEM options

    X-Moto allows certain libraries to be provided either by the system or
    X-Moto's source tree itself, as vendored dependencies. (Not all vendored
    dependencies may be provided by the system, such as Chipmunk.) These are
    called vendorable libraries here.
    
    With a USE_SYSTEM_* option ON, that vendorable library is system. With a
    USE_SYSTEM_* option OFF, that vendorable library may be either system or
    vendored.
    
    With the USE_SYSTEM option OFF, all USE_SYSTEM_* options are OFF.
    With the USE_SYSTEM option ON, all USE_SYSTEM_* options default ON.
    
    With a PREFER_SYSTEM_* option ON, that vendorable library is searched
    for and is system if found.
    
    With the PREFER_SYSTEM option ON, all PREFER_SYSTEM_* options default
    ON. With the PREFER_SYSTEM option OFF, all PREFER_SYSTEM_* options are
    OFF.
    
    With the USE_SYSTEM option OFF, the PREFER_SYSTEM option defaults ON.
    With the USE_SYSETM option ON, the PREFER_SYSTEM option is OFF.
    
    The upshot of all this is that USE_SYSTEM ON means libraries are
    explicitly either system or vendored, with failed system searches
    erroring instead of falling back to vendored, and both USE_SYSTEM &
    PREFER_SYSTEM OFF means all libraries are vendored.
    
    This should be good for maintainers?
    bb010g committed Jul 31, 2020
    Configuration menu
    Copy the full SHA
    d9158e9 View commit details
    Browse the repository at this point in the history
  2. CMake: Fix vendored Lua includes

    Yes:
    
        #include <lua.h>
    
    No:
    
        #include <lua/lua.h>
    bb010g committed Jul 31, 2020
    Configuration menu
    Copy the full SHA
    dab1e2e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fb3f928 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    75b08dc View commit details
    Browse the repository at this point in the history
  5. CI: Switch CMake to pinned 3.13.4

    wheee Travis has CMake 3.12.4
    bb010g committed Jul 31, 2020
    Configuration menu
    Copy the full SHA
    c0764e2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    71db3e5 View commit details
    Browse the repository at this point in the history