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

Build instructions and build system refinement #6

Open
wants to merge 55 commits into
base: main
Choose a base branch
from

Commits on Jan 26, 2023

  1. Configuration menu
    Copy the full SHA
    af78166 View commit details
    Browse the repository at this point in the history
  2. Add nooby instructions

    zmanuel committed Jan 26, 2023
    Configuration menu
    Copy the full SHA
    4b76f45 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2023

  1. line end whitespace

    zmanuel committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    4bafa43 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9216d6a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6d022d0 View commit details
    Browse the repository at this point in the history
  4. Separate SYSTEM includes

    so common header names like event.h and types.h in this source are found
    zmanuel committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    2e26f48 View commit details
    Browse the repository at this point in the history
  5. Correct include for apple platforms

    Not sure whether binreloc is needed there, though.
    zmanuel committed Jan 27, 2023
    Configuration menu
    Copy the full SHA
    3fad969 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a9f4b60 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2023

  1. Only conditionally link stdc++ff

    Taken mostly from https://gitlab.kitware.com/cmake/cmake/-/issues/17834#note_435285
    Constructed from cppreference notes: https://en.cppreference.com/w/cpp/filesystem#Notes
    We ony handle the GCC case, the problem will go away with time.
    zmanuel committed Jan 28, 2023
    Configuration menu
    Copy the full SHA
    de8f1d0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c47392c View commit details
    Browse the repository at this point in the history
  3. Use correct SDL2 libraries

    Did not cause any error, the TTF and IMAGE includes are identical anyway
    zmanuel committed Jan 28, 2023
    Configuration menu
    Copy the full SHA
    37db31c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2d67c4b View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2023

  1. Make conan use optional

    with USE_CONAN option, default off. Linux and Mac builds work just fine
    without it, no need to burden them with a huge cache and binaries that
    do not link to system libraries.
    zmanuel committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    1c68251 View commit details
    Browse the repository at this point in the history
  2. Further include corrections

    Conan, for some reason, puts libary include paths into the argument list
    with -I, making them collide with our includes. Putting our includes
    first fixes order problems.
    
    Though, it is probably worth considering NOT naming includes "event.h"
    or "types.h", or force clients to use #include <cerritos/event.h> to
    avoid conflics.
    zmanuel committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    81062ad View commit details
    Browse the repository at this point in the history
  3. Allow multiple build directories

    for different configurations (build_debug, build_conan...)
    zmanuel committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    14ca57e View commit details
    Browse the repository at this point in the history
  4. Make conan dependencies more flexible

    and declare doxygen as a tool dependency
    zmanuel committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    b2d4200 View commit details
    Browse the repository at this point in the history
  5. Activate shared libraries

    zmanuel committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    40f8650 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    fb68991 View commit details
    Browse the repository at this point in the history
  7. Narrow down doxygen version

    1.9.4 causes the conflicts with zlib
    zmanuel committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    7e39fc9 View commit details
    Browse the repository at this point in the history
  8. Add DLL/dynlib imports

    zmanuel committed Jan 29, 2023
    Configuration menu
    Copy the full SHA
    59dd727 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2023

  1. This seems to be the modern unified way to deal with dependencies

    Just find them with find_package, add them to include and libs
    with a :: qualified name.
    Don't forget to declare the lib dependencies PUBLIC so the examles
    get linked to them as well.
    zmanuel committed Feb 16, 2023
    Configuration menu
    Copy the full SHA
    f4435ec View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2023

  1. macOS compatibility

    Restore old way for OpenAL library; the new way produces a valid linker
    line, but then fails to link.
    Add SDL2::SDL2.
    Find alut, only if OpenAL was found, do not link with it blindly.
    zmanuel committed Feb 17, 2023
    Configuration menu
    Copy the full SHA
    5ebd932 View commit details
    Browse the repository at this point in the history
  2. Move find_library further up

    Somehow, below, it interferes badly with the BUILD_DOC option.
    zmanuel committed Feb 17, 2023
    Configuration menu
    Copy the full SHA
    094f19c View commit details
    Browse the repository at this point in the history
  3. Windows does not support shared sdl_ttf

    so taking that option out
    zmanuel committed Feb 17, 2023
    Configuration menu
    Copy the full SHA
    bde1b58 View commit details
    Browse the repository at this point in the history
  4. Conan reworking

    Switch to cmake_find_package generator so the regular find_package works
    
    Remove doxygen from conan; could not immediately get it to work
    
    Detect alut include path
    
    Make USE_CONAN parameter obsolete, we can just check for the conan include
    file existence
    zmanuel committed Feb 17, 2023
    Configuration menu
    Copy the full SHA
    d7b837f View commit details
    Browse the repository at this point in the history
  5. Remove options

    because NOW they're telling me the options for sdl and sdl_ttf must
    match...
    zmanuel committed Feb 17, 2023
    Configuration menu
    Copy the full SHA
    11cd193 View commit details
    Browse the repository at this point in the history
  6. make OpenAL optional

    As far as cmake is concerned. Compiling or linking will still fail.
    zmanuel committed Feb 17, 2023
    Configuration menu
    Copy the full SHA
    b10293a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    dd039ca View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c8ea7ec View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2023

  1. Configuration menu
    Copy the full SHA
    78b3301 View commit details
    Browse the repository at this point in the history
  2. Windows: Copy dll into examples directory

    Doing this for one of the examples would probably be enough...
    zmanuel committed Feb 18, 2023
    Configuration menu
    Copy the full SHA
    8ff9622 View commit details
    Browse the repository at this point in the history
  3. Non-Windows workaround

    Disable copy hack for non-windows
    Even with the hack enabled, add the exe to the source file list
    so the command does not fail if the DLL list is empty
    zmanuel committed Feb 18, 2023
    Configuration menu
    Copy the full SHA
    3109aea View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    35cb07d View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2023

  1. Handle diamond conflicts differently

    Looks like "just give me the latest transitive dependency you have
    that still looks compatible" is a more robust approach.
    zmanuel committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    f39e72b View commit details
    Browse the repository at this point in the history
  2. Add VirtualBuildEnv

    required for sane cross compilation
    zmanuel committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    2618a1f View commit details
    Browse the repository at this point in the history
  3. Add USE_OPENAL switch

    default to ON. Can be turned off for cross compilation where we would
    not want a native version to be picked up
    zmanuel committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    4d4d627 View commit details
    Browse the repository at this point in the history
  4. Disable cmake toolchain generation

    Using it just seems to mess things up.
    zmanuel committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    3209e04 View commit details
    Browse the repository at this point in the history
  5. Add USE_CONAN variable to check later

    We may, later, need to distinguish under which names dependencies are
    available.
    zmanuel committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    17faeb6 View commit details
    Browse the repository at this point in the history
  6. Add cross compilation script

    zmanuel committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    c1935b1 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2023

  1. Configuration menu
    Copy the full SHA
    80c3dd9 View commit details
    Browse the repository at this point in the history
  2. Add WIP documentation on how to build in wine

    No working solution found yet
    zmanuel committed Feb 24, 2023
    Configuration menu
    Copy the full SHA
    19076eb View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2023

  1. Configuration menu
    Copy the full SHA
    6e1c291 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    403e92d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    97c6dd6 View commit details
    Browse the repository at this point in the history
  4. Convert conan config to conanfile.py

    We are going to need it in a minute
    zmanuel committed Feb 25, 2023
    Configuration menu
    Copy the full SHA
    8e44103 View commit details
    Browse the repository at this point in the history
  5. Keep sdl.iconv on macOS

    It's not supported to turn that off here
    zmanuel committed Feb 25, 2023
    Configuration menu
    Copy the full SHA
    ab2a65c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    08509bf View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ce9f882 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4a2bf86 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2023

  1. Try and make conanfile compatible with w64devkit

    without losing functionality. Does not work. libjpeg always gets build
    via msys2 (or build fails), which later causes linker errors.
    zmanuel committed Feb 26, 2023
    Configuration menu
    Copy the full SHA
    aeb3543 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2023

  1. Revert "Try and make conanfile compatible with w64devkit"

    This reverts commit aeb3543.
    native w64devkit compilation does not seem feasible.
    zmanuel committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    f0ef42d View commit details
    Browse the repository at this point in the history
  2. Add MSYS2 instructions

    zmanuel committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    39f6d84 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d684265 View commit details
    Browse the repository at this point in the history
  4. Remove SDLMain from linking

    Why did I think we need that?
    zmanuel committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    4ca1164 View commit details
    Browse the repository at this point in the history
  5. Add better dependency install information

    on specific Linux distributions
    zmanuel committed Feb 27, 2023
    Configuration menu
    Copy the full SHA
    897a786 View commit details
    Browse the repository at this point in the history