Commit graph

14 commits

Author SHA1 Message Date
Braden Obrzut
95e6bfcd8c Better support for vendoring
- Allow ZLIB::ZLIB target to be provided by a unified build
- Added ZMUSIC_INSTALL variable to allow disabling of install rules (mostly due to how install(EXPORT) works)
- Static libraries don't need dllimport/dllexport on Windows
- Fixed: INTERFACE include directory was missing from zmusic/zmusiclite targets when using with add_subdirectory
- use_fast_math CMake function updated to allow source files to be passed (for GZDoom/Raze)
2021-05-31 22:22:57 +02:00
Braden Obrzut
b3c4b55dab Overhaul CMakeLists to conform with modern CMake
- Prefer target properties instead of setting variables whenever possible.
  A zmusic-obj target now exists to represent the commonality between zmusic
  and zmusiclite.
- Factored out as much as possible from global settings to per target settings
  which will make it easier to support using ZMusic as a submodule. Moved
  helper functions into a ZUtility.cmake module.
- We now generate and install ZMusicConfig.cmake so find_package(ZMusic)
  will work either automatically or given ZMusic_DIR is set.
- CPack is enabled although some refinement is still needed.
- Requires CMake >= 3.13 which is newer than I would normally like, but given
  how no one like to refactor these things it may be better to deal with the
  short term pain of going a little aggressive on the requirement in order to
  avoid having to make things ugly. Especially given that these scripts have
  a tendency to be copy/pasted into sister projects. CMake itself has very few
  dependencies so users of old Linux distros should be able to easily compile
  a supported version of CMake.
- On Windows CMake >= 3.15 is required for redistributable results.
- Cleaned out bits that were copied from GZDoom but not relevant to ZMusic.
2021-02-16 01:38:10 -05:00
Cacodemon345
5bfa76c948 Add MIDS music format playback support 2020-09-14 00:58:12 +06:00
alexey.lysiuk
c1bf2f82a9 - fixed undefined CMAKE_INSTALL_... variables
https://forum.zdoom.org/viewtopic.php?t=68860&start=45#p1154952
2020-06-09 12:23:30 +03:00
alexey.lysiuk
823d9f5d7f - removed hardcoded include and lib directories from install target
This resolves #7
2020-05-30 11:29:38 +03:00
Cacodemon345
425ac9048d
Fix compilation on NetBSD (#8) 2020-05-30 11:26:23 +03:00
alexey.lysiuk
4719ad44d8 - added ABI version to soname
This fixes #4
2020-03-02 17:27:33 +01:00
alexey.lysiuk
edd802e655 - added ability to build static libraries
Dynamic libraries are still built by default
2020-02-09 12:30:29 +02:00
Christoph Oelckers
17d7942d02 - made the global interface c compatible. Added an empty C source so that incompatibilities immediately trigger compile errors.
- simplified the message printing interface to a single function.
2020-01-11 12:47:07 +01:00
alexey.lysiuk
e02e7fb1ca - enabled rpath explicitly on macOS 2020-01-07 13:14:56 +02:00
alexey.lysiuk
915335ae97 - added install target to CMake configuration 2020-01-04 17:23:19 +02:00
alexey.lysiuk
2422d06835 - removed dependency on SDL 2020-01-04 14:42:22 +01:00
Christoph Oelckers
c1bbdcc849 - conditionalize the configuration depending on available content, so that the lite variant also builds successfully. 2020-01-04 12:20:56 +01:00
Christoph Oelckers
a4eae42ec5 - initial commit 2020-01-02 17:52:30 +01:00