add new utils-based ci workflow (cmake, version, gitlab-ci)
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.