Commit Graph

21 Commits

Author SHA1 Message Date
6639a8252a Update CMake build instructions
Signed-off-by: Kai Blaschke <kai.blaschke@kb-dev.net>
2025-10-27 11:22:57 +01:00
1b7c7c844c Fix ninja package name in BUILDING.md
Debian and Ubuntu package the Ninja build system as `ninja-build` not `ninja`.
2025-01-04 19:36:41 +00:00
184766b2c8 pkgconfig fixes 2024-02-02 15:08:04 +01:00
170f054860 Remove no longer used LLVM support code. 2024-02-02 15:08:04 +01:00
2f14cc1972 Updated 'Windows' section of the BUILDING docs 2023-11-16 15:01:37 -06:00
70132f18e6 Updated build instructions. 2023-09-19 18:38:43 +02:00
4b3226ac3a Added projectM-Eval as submodule, flipped rendering stuff around a bit more. 2023-09-11 10:19:48 +02:00
d97feb22f6 Entirely removed native presets.
The native presets did not build anymore due to refactorings, cause other build issues on Windows (e.g. require linking to psapi.lib) and would need a complete makeover anyway.
2022-09-18 13:32:58 +02:00
3dd19d6c63 Removed Visual Studio project files. Please use CMake instead.
One exception: EyeTune still has its own solution, as it's a UWP app and not yet ported to CMake.

Also removed the AppVeyor build config as it was broken for a long time. Updated documentation so it no longer states devs can use the pre-made solution files.
2021-11-25 21:43:28 +01:00
8aaf51c04d Updated build documentation, removing all references to autotools. 2021-11-25 21:42:23 +01:00
d973f69a2e link 2021-08-17 21:59:08 +03:00
b2f7c29f4c doc 2021-08-17 21:55:32 +03:00
83a08f3a6c Add CMake build system files (only as "autotools" replacement for now) (#487)
* Initial set of CMake files with options and some targets.

* Added all targets to build libprojectM shared/static libraries.

* Updated currently unused (and seemingly unfinished) SDL-based JACK visualizer to use SDL2.

* Converted more targets to CMake and added install directives.

New targets:
- Presets
- Test application
- Pulseaudio/Qt visualizer
- JACK/Qt visualizer
- JACK/SDL2 visualizer

* Added libvisual plug-in target. Changed default install paths to relative.

* Use debug suffix for libraries by default, but make it configurable.

* Added target for projectMSDL application.

* Added CMake code for the ENABLE_THREADING switch, install desktop, icon, manpage and pkgconfig files.

Also added some dependency version output to the post-configuration summary and made Qt switch implicit based on Pulsaudio/JACK UI selection.

* Added CMake package config files and exported targets. Some restructuring of libprojectM targets.

Kept pkgconfig module name for CMake.

* Add -name parameter to RCC command in existing autotools Makefile.

Fixes symbol name mismatch with CMake auto-generated resources which always add the QRC file basename as resource name.

* Display an author warning that CMake files aren't production ready yet.

* Prefer system GLM library, with fallback to bundled version if not available.

Removed the option to use the system library in favor of automated detection.

* Link correct OpenGL libraries, the previous ones were Linux-specific, with GLVND not being required.

* Recreate config.h as generated by autoheader, even if most defines weren't used.

Will also force-include the file on all platforms.

* Add option to build native preset libraries, disabled by default.

* Only install "tests" presets if building the test suite.

* Fix linking LLVM libraries to libprojectM.

Wasn't inherited anymore due to changing MilkdropPresetFactory library type to OBJECT.

* Use INTERFACE IMPORTED libraries in find scripts, set minimum CMake version to 3.19.

* Added missing config.h template and renamed to config.h.cmake.in, was in the .gitignore list.

* Added Windows-specific CMake configuration and some related code changes.

These changes enable building for Windows with both Visual Studio and Ninja project generators. Installation and packaging for Windows is not yet supported. Source groups, filters and support for embedded debug symbols will be added later.

* Link required CoreFoundation framework on MacOS.

* Work around SDL2 include dir issue (upstream SDL bug #4004) by removing "/SDL2" from the path.

* Fix existing Windows build by moving bundled GLEW files into "GL" subdir.

* Place libprojectM-related targets in a "libprojectM" folder in IDEs supporting it, e.g. Visual Studio.

* Fix displaying whether system GLM is used or not in config summary.

* Disable threading support on Windows unless we don't rely solely on pthreads anymore.

* Add version check for SDL2 (>=2.0.5).

* Complete overhaul of build instructions, adding CMake build and use instructions.

* Added check for OpenMP support and fixed a compiler error in OMPTL.

Also moved compiler warning checks to features.cmake and added the DEBUG define for debug builds.

* Added a quick start guide for building on Debian and Ubuntu.

* Lower minimum required CMake version to 3.14.

Co-authored-by: Kai Blaschke <kai.blaschke@gdata.de>
2021-06-04 16:48:20 +03:00
9a75697da4 Update BUILDING.md 2020-07-31 10:34:40 +03:00
f2ca861b08 More helpful ubuntu build instructions (#383)
* testing bionic on travis

* table cleanup

* Test building on travis without libsdl1

* test

* Try to parse version for travis script

* disable addons/apt

* gl1-mesa-dev

* bleh

* revert

* hopefully more portable hack

* Don't require user to provide libglm

* dist vendor
2020-07-28 22:04:59 +03:00
e51b2c7d63 Don't require user to provide libglm (#387)
* Don't require user to provide libglm

* dist vendor

* Remove GLM requirement, add vendor headers.

Co-authored-by: milkdropper.com <milkdropper.com@gmail.com>
2020-07-27 22:56:40 +03:00
3302a15f77 BUILDING.md: clean-up & upd docs (#247)
* BUILDING.md: rm tautology & move phrase to relevant place

* BUILDING.md: mv place build info after dependency info & add subsection

`autogen.sh` is in strange state, it consists only of `autoreconf --install`,
and thanks for doing everything right. Also it spews `\n` verbatim,
because person was writing/testing it on mac. Standartizing it in later proposal.

* BUILDING.md: upd deps info to universal documentaion

It is impossible to provide&keep the deps list/names for all OSes.

Also different `configure` options require different dependencies provided.

To provide the main documentation on why and what is needed is more important
then a bunch of partial one-liner examples.

& the differences between systems and package names are minimal.

So better describe the required dependencies in terms of Debian/Ubuntu,
and allow maintainers to fiqure-out their OS-specific variants.

* BUILDING.md: Android: upd commands to be a commands block

* BUILDING.md: mv Windows down, to logically group all *nix info

* BUILDING.md: mv sec Additional info on deps to be after main info on deps

* BUILDING.md: upd text properly outlining command & lib names

* BUILDING.md: Deps: Jack: add mention of libqt5opengl5

Since it uses Qt, so also `libqt5opengl5`.

* BUILDING.md: Additonal info: upd libglm

Co-Authored-By: Mischa Spiegelmock <me@mish.dev>

* BUILDING.md: Building: upd ./configure comments

Co-Authored-By: Mischa Spiegelmock <me@mish.dev>
2019-10-07 09:35:57 +03:00
4074fd138a Update BUILDING.md 2019-04-26 09:28:57 -04:00
db4da3f1e9 Use real input on Win/SDL (#194)
* Remove FAKE_AUDIO define on Windows

* Update documentation for Windows

* Update readme info for Windows, extract building guide to BUILDING.md
2019-04-16 18:28:24 +03:00
608173e848 Glew and FTGL cleanup 2018-09-23 13:37:06 +02:00
b377e5f734 How2build 2018-09-03 00:06:08 +03:00