CGRU / cgru

CGRU - AFANASY
http://cgru.info/
GNU Lesser General Public License v3.0
276 stars 111 forks source link

cgru build pipeline #567

Open sebastianelsner opened 1 year ago

sebastianelsner commented 1 year ago

Hello, I made a build pipeline based on github actions. What it does:

This is currently only done for ubuntu and debian, you can see it here: https://github.com/sebastianelsner/cgru/actions This will make releases go in seconds. The question is, if you are interested in merging this, should other Linux OSes also be compiled? I have no experience with windows, tho...

timurhai commented 1 year ago

I am not familiar with with github actions and workers. But making releases automatic it good! I usually create releases for 2 latest versions Ubuntu LTS, Debian stable, RedHat compatible (CentOS, now Rocky). This is what users need and ask for. Also there is always no problem to create it for the latest OpenSUSE and Fedora. https://cgru.readthedocs.io/en/latest/downloads/downloads.html (I use kvm virtual machines)

It much harder to do it for MS Widows. There is much lesser automation. Just a cmd script that run cmake with a needed environment. All needed depends need to be installed manually. Then you should manually open cmake generated project in Visual Studio.

But some brave man trying to automate windows too: https://github.com/CGRU/cgru/issues/552

sebastianelsner commented 1 year ago

I see, the linuxes would not be a problem to create. I dont have much experience with windows. if #552 is solved we can add the build as well since github build pipelines allow for building on a windows vm. I will check to make the linuxes possible, so you can merge that and then later update the github release manually with windows.

uuiid commented 5 months ago

Can I use VCPKG package management? This is my attempt

-DCMAKE_TOOLCHAIN_FILE=E:/vcpkg/scripts/buildsystems/vcpkg.cmake

{
    "name": "cgru",
    "description": [
        "CGRU is the Computer Graphics Tools Pack."
    ],
    "version": "3.4.0",
    "$default-features-explanation": "Users using this library transitively will get all backends automatically",
    "default-features": [],
    "features": {},
    "builtin-baseline": "a42af01b72c28a8e1d7b48107b33e4f286a55ef6",
    "dependencies": [
        "python3",
        "qt5"
    ],
    "overrides": [
        {
            "name": "python3",
            "version": "3.10.7#7"
        },
        {
            "name": "qt5",
            "version": "5.15.2#1"
        },
        {
            "name": "libffi",
            "version": "3.4.4#2"
        }
    ]
}