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

CI: Building with meson and MSVC #98

Closed
kjellahl opened this issue Jul 25, 2023 · 2 comments
Closed

CI: Building with meson and MSVC #98

kjellahl opened this issue Jul 25, 2023 · 2 comments

Comments

@kjellahl
Copy link
Contributor

@fanc999-1 I've experimented with a CI test that builds libsigcplusplus
with meson and MSVC. It would be fine if you could have a look at it,
and suggest improvements.
See branch kjellahl/ci-meson-msvc, file .github/workflows/meson-msvc.yml.

I've copied a similar CI file from libxmlplusplus, and made some modifications.
It does not build the documentation. Is that possible?

@fanc999-1
Copy link
Contributor

Hi @kjellahl,

Sorry for the delay, I think the CI config looks good to me, albeit I am by no means a CI config expert.

If I understood you correctly, to build the documentation would be much more complex, as installing GraphViz would be the most tedious unless one can grab its binaries to unpack, as one needs to be able to build and/or install libtool using Visual Studio (which requires a special setup) in order to build it (it's a major pain; GraphViz's CMake files have certain assumptions involved). DoxyGen is easier, but will likely depend on LLVM support for our use case.

I think we would be fine for our case to just skip building documentation for Windows-MSVC CI.

With blessings, and cheers!

gnomesysadmins pushed a commit to GNOME/mm-common that referenced this issue Jul 27, 2023
If the curl command fails with the --compressed option,
try it without that option.
Reduce the exceedingly long 1-hour timeout.

See libsigcplusplus/libsigcplusplus#98
kjellahl added a commit that referenced this issue Jul 27, 2023
Make it possible to build documentation without the dot command.
Set the HAVE_DOT option in Doxyfile during configuration.
In Autotools builds it's still unconditionally YES.
The inheritance diagrams don't look as nice without the dot
command from the GraphViz package.

See #98
@kjellahl
Copy link
Contributor Author

Sorry for the delay

No reason to apologize for a 2-day delay. This is no urgent issue.

I am by no means a CI config expert.

Neither am I.

I noticed in connection with PR #97 that it's good to have a CI test
that builds with MSVC (cmake-msvc.yml). It can find errors that only
show up with MSVC. I haven't got MSVC installed on a computer of my own.
But Meson is the recommended build system, so it's more important that
the build works with Meson than that it works with CMake or Autotools.

I noticed recently that it's possible to build the documentation with
Doxygen even if the dot command from GraphViz is not available.
It requires changes in Doxyfile.in and two meson.build files.
I've managed to build the reference documentation, but not the manual,
with MSVC. It also required a small fix in mm-common, to make it possible
to build mm-common as a subproject with the software that
bus1/cabuild/action/msdevshell@v1 installs.

I will probably skip building the documentation when I add this CI test
to the master branch.

kjellahl added a commit that referenced this issue Jul 28, 2023
Make it possible to build documentation without the dot command.
Set the HAVE_DOT option in Doxyfile during configuration.
In Autotools builds it's still unconditionally YES.
The inheritance diagrams don't look as nice without the dot
command from the GraphViz package.

See #98
kjellahl added a commit to libxmlplusplus/libxmlplusplus that referenced this issue Jan 8, 2024
Make it possible to build documentation without the dot command.
Set the HAVE_DOT option in Doxyfile during configuration.
In Autotools builds it's still unconditionally YES.
The inheritance diagrams don't look as nice without the dot
command from the GraphViz package.

See libsigcplusplus/libsigcplusplus#98
kjellahl added a commit to libxmlplusplus/libxmlplusplus that referenced this issue Jan 9, 2024
Make it possible to build documentation without the dot command.
Set the HAVE_DOT option in Doxyfile during configuration.
In Autotools builds it's still unconditionally YES.
The inheritance diagrams don't look as nice without the dot
command from the GraphViz package.

See libsigcplusplus/libsigcplusplus#98
kjellahl added a commit to libxmlplusplus/libxmlplusplus that referenced this issue Jan 9, 2024
Make it possible to build documentation without the dot command.
Set the HAVE_DOT option in Doxyfile during configuration.
In Autotools builds it's still unconditionally YES.
The inheritance diagrams don't look as nice without the dot
command from the GraphViz package.

See libsigcplusplus/libsigcplusplus#98
kjellahl added a commit to libxmlplusplus/libxmlplusplus that referenced this issue Jan 9, 2024
Make it possible to build documentation without the dot command.
Set the HAVE_DOT option in Doxyfile during configuration.
In Autotools builds it's still unconditionally YES.
The inheritance diagrams don't look as nice without the dot
command from the GraphViz package.

See libsigcplusplus/libsigcplusplus#98
kjellahl added a commit to libxmlplusplus/libxmlplusplus that referenced this issue Jan 9, 2024
Make it possible to build documentation without the dot command.
Set the HAVE_DOT option in Doxyfile during configuration.
In Autotools builds it's still unconditionally YES.
The inheritance diagrams don't look as nice without the dot
command from the GraphViz package.

See libsigcplusplus/libsigcplusplus#98
kjellahl added a commit that referenced this issue Jan 14, 2024
Make it possible to build documentation without the dot command.
Set the HAVE_DOT option in Doxyfile during configuration.
In Autotools builds it's still unconditionally YES.
The inheritance diagrams don't look as nice without the dot
command from the GraphViz package.

See #98
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants