frontend-sdl2 icon indicating copy to clipboard operation
frontend-sdl2 copied to clipboard

Installs files directly into $PREFIX

Open yurivict opened this issue 2 years ago • 2 comments
trafficstars

It installs these 2 files:

projectMSDL
projectMSDL.properties

projectMSDL should probably be in bin/.

yurivict avatar Apr 02 '23 21:04 yurivict

Yes, the install part is only a placeholder for testing. When we're nearing a proper release date, all the specific installation layouts for all the supported operating systems will be added. If you need the files somewhere else, for now you'll need to patch install.cmake to use the paths you require.

There's currently no ETA for this to happen, as we're focusing on the core library to make it more compatible with Milkdrop. When that's done, work will continue on implementing a new UI in this application, add a few other requested features and lastly, get install paths and packaging scripts ready for use.

I'll keep this issue open as WIP, so if other users see this issue, this will hopefully answer why it's like that as of now.

kblaschke avatar Apr 03 '23 17:04 kblaschke

Now that the libprojectM 4.1 release is clsoe, I'll soon resume working on the SDL2 frontend. I'll drop a few more pieces of information on how the packaging will work out for this app:

Windows

  • Installs program executable, base config and the projectM DLL in the base directory, and default presets/textures as subdirs.
  • Packaging configurations will include ZIP, MSI (via WIX) and NSIS to create convenient installers.
  • User configuration is placed in %APPDATA%\projectMSDL

Linux

  • Uses GNU/POSIX prefixes for all files, e.g. installs executables in bin, libraries in lib[64] and additional resources like base config, presets and textures into share/projectMSDL/.
  • The default packaging configuration will not include presets, textures or the libprojectM library, as Linux package maintainers want to split this into several packages for better dependency management.
  • Standalone packaging configurations will include TGZ, TBZ2, DEB and RPM and contain all needed files.
  • User configuration is placed in ${XDG_CONFIG_HOME}/projectMSDL (which is ${HOME}/.config/projectMSDL in most cases)

macOS

  • Creates an app bundle with the standard macOS layout. The bundle will contain everything needed to run projectMSDL, including presets, textures and the default config file.
  • Packaging configurations will include ZIP, TGZ, Drag'n'Drop (DMG) and ProductBuild PKG installers.
  • User configuration is placed in ~/Library/Application Support/projectMSDL.

All packaging will be done via CPack. In additional to the above, all paths in the final install dir can also be customized via CMake variables. This allows users to adapt the installation layout to more specific needs.

Note that on macOS, code signing will be required to run the application without getting a Gatekeeper warning. To properly sign (and possibly notarize) the bundle, a paid Apple Developer subscription is required!

kblaschke avatar Nov 27 '23 10:11 kblaschke