Commit Graph

9 Commits

Author SHA1 Message Date
35d3112463 Use correct casing 2022-05-29 15:29:54 +02:00
3ff81ad574 Remove unnecessary dependents 2022-05-29 15:29:54 +02:00
a02d6781a4 Fix FileScanner::scanGeneric for filesystems that dont set d_type
Signed-off-by: falkTX <falktx@falktx.com>
2022-03-28 12:32:35 +02: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
f7f74b11e3 Xcode cleanup, single mac installer, universal binary support (#461)
* Mac installer now contains both the app and Music plugin
* Major xcode projects cleanup
* Working universal binary build with xcode and installer (needs universal sdl2 to link against)
* Fix #460 - texture2D is renamed texture (#462)
2021-02-14 13:41:02 +02:00
8913b064c3 Fix #408: Parser can blow up if no [preset00] header (#450)
* Fix: Parser can blow up if no [preset00] header

* fix no debug mode

* Remove assert that is blowing up because it looks like this is sort of handled.

* Only do rdft() on powers of 2 samples

* Only do rdft() on powers of 2 samples

* Revert changes to PCM.cpp sampling, needs more thoughtful fixing
2021-02-12 10:52:19 +02:00
fd1d235a05 Fix various warnings (#436)
* Fix Wreorder warnings

* Fix various unused variable/parameter warnings

* Fix Wparentheses warnings

* Fix Wignored-qualifiers warning

* Fix uninitialized variable warnings

* Fix Wshadow warnings

* Fix Wsign-compare warnings

* Fix miscellaneous warnings
2020-11-26 11:05:40 +02:00
b7a04c0425 #396 check for fts.h more portably (#397)
* #396 check for fts.h more portably

* Xcode -DHAVE_FTS_H

* Xcode -DHAVE_FTS_H
2020-08-14 13:35:25 +03:00
e49720ecfa Preset subdirs (#385)
Scanning textures/presets dirs for textures and scanning preset dir for presets.
Scanning is now done recursively, so presets and textures can be organized into subdirectories instead of needing to be flattened into a single directory.

On POSIX systems makes use of [ftw](https://linux.die.net/man/3/ftw) which should be relatively efficient. Otherwise falls back to recursing with `dirent` (for windows).

Probably should have made an autoconf check for `ftw` instead of doing `#ifdef WIN32`. 

* Scan subdirectories in presets directory

* remove preset subdir config

* Recursively scan for textures too, add c++-17 compatibility

* Refactor directory scanning code so it's reused by texture loader and preset loader. Make cross-platform (maybe)

* filescanner in makefile

* extension filter for file loader

* make extensions match up'

* need string.h

* Add FileScanner.cpp to win build (maybe)

* scan all dirs

* #ifndef #ifdef is def fun

* bogus comment

* bleh

* bleh

* itunes plugin with c++17

* EyeTunes needs to know about the FileScanner

Co-authored-by: milkdropper.com <milkdropper.com@gmail.com>
Co-authored-by: milkdropper <59471060+milkdropper@users.noreply.github.com>
2020-07-28 22:01:56 +03:00