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

Meson: Support building with Visual Studio #134

Merged
merged 4 commits into from
Sep 3, 2021

Conversation

fanc999
Copy link
Contributor

@fanc999 fanc999 commented Sep 3, 2021

Hi,

This attempts to improve the libraqm/Meson build files with the following items:

  • Install the library headers.
  • Make Visual Studio shared library builds work
  • Improve FreeType2 depedency search for Visual Studio-style builds. I started by looking for CMake config files, and then go back to manual searching. If you prefer, as in HarfBuzz, I can drop the CMake searching and use the manual method only as FreeType2 had pretty weird versioning schemes between the ones used in their pkg-config file and their CMake config files.

I did not attempt fixing running the test programs with Meson for this PR, though.

The only updates to the source files was to update raqm.h to decorate the symbols with RAQM_API.

With blessings, thank you!

On Visual Studio-style builds, first try to look for FreeType with CMake, then
manually, before attempting to try using pkg-config (which will most probably
result in using the fallback subproject).

This is due to the situation that nowadays FreeType has various build
configurations and build methods on Visual Studio that could be done via Visual
Studio projects (no CMake nor pkg-config config files) or via CMake (CMake
config files but no pkg-config files), and CMake config files have different
versioning schemes compared to the pkg-config files, somehow.
This macro can be overridden to export symbols via compiler directives, which
is needed for Visual Studio-style compilers and may be useful if we want to
control the exact symbols that we want to export in the future.
This way, the public symbols will be exported upon linking when built as
a shared library.
Add directives so that Meson will install the headers as well.
@khaledhosny khaledhosny merged commit e2e272b into HOST-Oman:master Sep 3, 2021
@khaledhosny
Copy link
Collaborator

Thanks!

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

Successfully merging this pull request may close these issues.

3 participants