Skip to content

add new utils-based ci workflow (cmake, version, gitlab-ci)

Mads M. Pedersen requested to merge new_ci_workflow into master

I had a problem with the tower clearance dll. The problem showed up as a warning/error that normally occurs when mixing up std_call and c_call. I did not really understand it because it seemed to already be a c_call even though the compiler complained about bind(C, "update") in combination with C and alias in !DEC$ ATTRIBUTES DLLEXPORT, C, ALIAS:'update' :: update. So I have made a new branch where I have updated it to use the new common ci-workflow. The source code for the ci is in the utils repo (added as a submodule) and contains cmake compilation, version functions, right-click-properties-details and ci compilation.

Now I have just realized that Annop already has made an effort to do that in !11. And I also realize that he changed it from c_call to std_call, that is why I got the problem.

I think we should close his MR - it is almost the same, except for the std/c call and that I am using the newest utils such that the .gitlab-ci.yml is just an import of the utils/ci/control_dll.yml

It is however a new way to compile, so I assume you would like the documentation to be updated. I am not sure exactly what it should contain and where it should live as it is the same compile instruction for all dlls in https://gitlab.windenergy.dtu.dk/OpenLAC/servosandutilities.

The easiest way to compile is via python:

python utils/ci/ci_utils "win32|release" cmake ninja (requires ninja) python utils/ci/ci_utils "win32|release" cmake (creates and compiles visual studio solution) python utils/ci/ci_utils "win32|release" cmake gfortran ninja

where win32 can also be win64 and linux

These commands will create build dir, build or build32, run cmake and compile.

Edited by Mads M. Pedersen

Merge request reports