Skip to content

support static link of SDL2 and pkg-config #9

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rkitover
Copy link

Add SDL2_STATIC variable, when set to ON will link the static version of
SDL2 and add any necessary libs and linker flags for linking it
statically from pkg-config.

For dynamic linking, any extra stuff from pkg-config is also retrieved
and added to SDL2_LIBRARY.

The variable SDL2_DEFINITIONS is also retrieved from
pkg-config --cflags-only-other.

If pkg-config is not available, the module functions as before with no
errors, but SDL2_STATIC will probably fail.

TODO:

  • warn if pkg-config is not found
  • add similar code to the other two cmake modules, or factor it out
  • support sdl2-config as well (extra parsing)

Add SDL2_STATIC variable, when set to ON will link the static version of
SDL2 and add any necessary libs and linker flags for linking it
statically from pkg-config. All extra libs and linker flags are added to
SDL2_LIBRARY, so the user does not need to do anything except set that
flag.

For dynamic linking, any extra stuff from pkg-config is also retrieved
and added to SDL2_LIBRARY.

The variable SDL2_DEFINITIONS is also retrieved from
`pkg-config --cflags-only-other`. The user needs to call ADD_DEFINITIONS
for it, the documentation is updated to reflect this.

If pkg-config is not available, the module functions as before with no
errors, but SDL2_STATIC will probably fail.

TODO:

* warn if pkg-config is not found

* add similar code to the other two cmake modules, or factor it out

* support sdl2-config as well (extra parsing)
rkitover added a commit to rkitover/visualboyadvance-m that referenced this pull request Oct 27, 2016
Move closer to allowing an "out of the box" distributable build for Mac:

* fix the icon for the .app

* link SDL2 statically, a PR has been sent to the original repo here:
  tcbrindle/sdl2-cmake-scripts#9

* link SFML statically

TODO:

For a releasable build on OS X, system libs must be linked
dynamically while third party libs are linked statically or bundled. The
goal is to link them statically.

The two remaining libs that need static linking are PNG and wX.

For PNG a similar approach to the one used for SDL2 using pkg-config
should work fine and be simple to implement.

For wX things are more complicated. The default build of wX does not
include static libs, I will need to submit a PR for Homebrew to change
the default build to include both dynamic and static versions.
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.

1 participant