* Add options to enable sanitizers
* Specify them as debugging options
* Apply suggestions made by Dom
* Fix linking issues
There were linking issues, most likely because we were
applying the sanitizer flags to unnecessary targets that
are part of the build. Now, we only focus on adding the
compiler flags to lmmsobjs as a PUBLIC dependency,
and selectively choose what targets we need to apply
the linker flags to as PRIVATE dependencies.
* Add UBSan
* Add status messages
* Remove GNU as supported compiler for MSan
* Revert to using add_<compile|link>_options again
* Fix sanitizer linkage within veal and cmt libraries
I suspect that our sanitizer flags were removed for these two CMake
targets. Instead of setting the properties directly, we call
target_compile_options and target_link_options
instead.
* Remove TODO comment
* Revert "Fix sanitizer linkage within veal and cmt libraries"
This reverts commit b04dce8d8c.
* Use CMAKE_<LANG>_FLAGS_<CONFIG> and apply fixes
* Remove quotes
* Add support for additional flags
* Disable vptr for UBSan
* Print "Debug using" in status for clarity
* Wrap ${supported_compilers} and ${status_flag} in quotes
* Replace semicolons with spaces in additional_flags
* Remove platform check for no-undefined flag
The platform check was added as an attempt
to make this branch compile with the veal
and cmt libraries. However, it seems to work
without it, so the problem must've been something
else occuring in these files.
* Undo change to FP exceptions status message
* Use spaces instead of tabs
* Remove -no-undefined flag for cmt and veal libraries
LMMS
What is LMMS?
LMMS is a free cross-platform alternative to commercial programs like FL Studio®, which allow you to produce music with your computer. This includes the creation of melodies and beats, the synthesis and mixing of sounds, and arranging of samples. You can have fun with your MIDI-keyboard and much more; all in a user-friendly and modern interface.
Homepage
Downloads/Releases
Developer Wiki
Artist & User Wiki/Documentation
Sound Demos
LMMS Sharing Platform Share your songs!
Features
- Song-Editor for composing songs
- Pattern-Editor for creating beats and patterns
- An easy-to-use Piano-Roll for editing patterns and melodies
- A Mixer with unlimited mixer channels and arbitrary number of effects
- Many powerful instrument and effect-plugins out of the box
- Full user-defined track-based automation and computer-controlled automation sources
- Compatible with many standards such as SoundFont2, VST(i), LADSPA, GUS Patches, and full MIDI support
- MIDI file importing and exporting
Building
See Compiling LMMS on our wiki for information on how to build LMMS.
Join LMMS-development
If you are interested in LMMS, its programming, artwork, testing, writing demo songs, (and improving this README...) or something like that, you're welcome to participate in the development of LMMS!
Information about what you can do and how can be found in the wiki.
Before coding a new big feature, please always file an issue for your idea and suggestions about your feature and about the intended implementation on GitHub, or ask in one of the tech channels on Discord and wait for replies! Maybe there are different ideas, improvements, or hints, or maybe your feature is not welcome/needed at the moment.