Refactored and added a few smaller things requested by users or just being broken:
Fix hard SIGABRT crash if OpenGL wasn't properly initialized on projectM instance creation (caused by std::string being created from nullptr).
Add version header and API methods to get build/run time versions of libprojectM. Using the header defines will give the version an application was built against, wile the new API function will return the actual projectM library version. For static builds, both should be the same.
Create proper pkg-config file for libprojectM and libprojectM_playlist and add (most) required flags and libraries.
Set default symbol visibility to hidden. This will hide all symbols except those prefixed with PROJECTM_EXPORT.
Reduce header footprint of optional C++ API files and export C++ symbols properly. The classes ProjectM and PCM will then be marked as visible/declspec dllexport in the shared library.
Refactored and added a few smaller things requested by users or just being broken:
ProjectM
andPCM
will then be marked as visible/declspec dllexport in the shared library.Will fix #643.