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

cmake/xplatform builds using github/tox/conda workflows #187

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

Commits on Dec 10, 2023

  1. Build fixes/tweaks for (optional) shared libs, reduced footprint

    fix a handful of warnings, add missing gia.c to module.make
    add makefile overrides and a soname, make library symlinks
    add separate shared library/test targets
    add -fvisibility=hidden to cxxflags, makes build result much smaller
    add visibility pragma for demo consumer
    add ci workflow with simple gcc/clang matrix
    
    Signed-off-by: Stephen L Arnold <nerdboy@gentoo.org>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    aaeaf16 View commit details
    Browse the repository at this point in the history
  2. Add pure cmake build system

    madebr authored and sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    7e7b0a5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d333f43 View commit details
    Browse the repository at this point in the history
  4. new: dev: update original cmake cfg and sources, add tox/update ci files

    * update cmake source modules using PR script
    * add basic versioning for cmake shared libs
    * complete target/install properties, export config
    * move toolchain file to tools dir, add python script from PR
    * add tox file, update ci workflow to use it
    * tox handles most build tool dependencies, cmake, ninja, cpplint
    * make sure ABC_USE_STDINT_H is fallback if ABC_USE_NAMESPACE is not set
    
    Signed-off-by: Stephen L Arnold <nerdboy@gentoo.org>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    e22818c View commit details
    Browse the repository at this point in the history
  5. fix: make clang build work, mainly C++ type/literal errors

    * fix type invalid literal errors
    * use pSat2 from abcglucuse2 header for correct cec solver type
    
    Signed-off-by: Stephen L Arnold <nerdboy@gentoo.org>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    8c7df74 View commit details
    Browse the repository at this point in the history
  6. chg: dev: cleanup windows builds and sources, update workflows

    * add win32 defines ABC_NO_DYNAMIC_LINKING, WIN32
    * static_cast => uint returns in acbTest.c !refactor
    * check for win first, win/mingw definitions inside if(msys or mingw)
    * fix missing leading ddunder on mingw32__
    * switch msys env for clang64, re-enable readline
    * cleanup cmake type checks and workflow env
    * mingw clang-64 thinks sizeof long is 4
    * use abc typedefs instead of hard-coded types
    
    Signed-off-by: Stephen L Arnold <nerdboy@gentoo.org>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    72644b5 View commit details
    Browse the repository at this point in the history
  7. Silence warning about unused variables

    The assert is disabled in release builds.
    madebr authored and sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    ab18ccf View commit details
    Browse the repository at this point in the history
  8. new: dev: demonstrate tox/ci workflow options, cleanup build cfg

    * define HAVE_STRUCT_TIMESPEC and _XKEYCHECK_H on msvc
    * avoid LIBSTDCXX linking (msvc only), pass build config to all steps
    * add optional lto support; note clang lto requires llvm-config and lld
    * add llvm source-based coverage build, fix uninitialzed variable
    * update cmake-posix workflow configure, bin path, emulate in tox
    * add conda devenv file and workflow => use platform compilers and Ninja
    * update build instructions in readme file, cleanup tox/ci files
    
    Signed-off-by: Stephen L Arnold <nerdboy@gentoo.org>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    38ab132 View commit details
    Browse the repository at this point in the history
  9. fix: dev: run manual cmake commands from build dir on macos

    * remove the linker optimization arg for gnu on macos
    * remove GH workflow warning annotations, bump action versions
    
    Signed-off-by: Stephen L Arnold <sarnold@vctlabs.com>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    0e160e3 View commit details
    Browse the repository at this point in the history
  10. post-rebase generate/update CMakeLists.txt files, update tox file

    * updates tox argument syntax on macos
    * also restores missing OS list in conda-dev workflow
    
    Signed-off-by: Stephen L Arnold <nerdboy@gentoo.org>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    c44b3ca View commit details
    Browse the repository at this point in the history
  11. fix timespec redefinition errors on windows

    * win pthreads module tries to define timespec if HAVE_STRUCT_TIMESPEC
      is not defined except msys/mingw already defines it
    
    Signed-off-by: Stephen L Arnold <sarnold@vctlabs.com>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    b163a57 View commit details
    Browse the repository at this point in the history
  12. chg: dev: add (new) generated cmake sources

    Signed-off-by: Stephen L Arnold <sarnold@vctlabs.com>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    7c2de69 View commit details
    Browse the repository at this point in the history
  13. chg: dev: update python versions, add CPUS env var to tox file

    Signed-off-by: Stephen L Arnold <sarnold@vctlabs.com>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    2fd6664 View commit details
    Browse the repository at this point in the history
  14. fix: dev: address toolchain requirement changes

    * use more specific if check for windows includes
    * add missing win32 link library
    * move extern Io_MvLoadFileBz2 to header, use hdr in cmd.c
    
    Signed-off-by: Stephen L Arnold <sarnold@vctlabs.com>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    4cf7692 View commit details
    Browse the repository at this point in the history
  15. fix: dev: cleanup desktop and ci workflows

    * msys/mingw has incomplete dirent so disable namespace
    * refactor cmake config, update dirent pkg spec in conda env
    * try cheap ENV hack to find dirent header in conda
    
    Signed-off-by: Stephen L Arnold <sarnold@vctlabs.com>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    146b57c View commit details
    Browse the repository at this point in the history
  16. chg: usr: update devenv file and conda-dev workflow, update win path

    * update setup-miniconda config to get latest pkg versions
    * add more workflow output, reset cache number
    * list envs, revert to previous with some info output, back to v2
    
    Signed-off-by: Stephen L Arnold <sarnold@vctlabs.com>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    fe8b36a View commit details
    Browse the repository at this point in the history
  17. chg: revert to latest action and package versions

    * leave default PY_VER but do not specify version for action
    * use proper activate command workflow in build step
    * add some path and prefix introspection, try find/which
    * bump windows ci runner version, list env, cat dirent.h
    * do not use jinja compier templates, revert to py39/win2019 default
    
    Signed-off-by: Stephen L Arnold <sarnold@vctlabs.com>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    44ea6ff View commit details
    Browse the repository at this point in the history
  18. fix: dev: relax ifdef check in cmd.c and make it windows-specific

    * cleanup initial extern hacks and use ioAbc.h for missing symbol
    * remove superfluous dirent dep on windows
    
    Signed-off-by: Stephen L Arnold <sarnold@vctlabs.com>
    sarnold committed Dec 10, 2023
    Configuration menu
    Copy the full SHA
    5569a67 View commit details
    Browse the repository at this point in the history