Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Installs files directly into $PREFIX #59

Open
yurivict opened this issue Apr 2, 2023 · 2 comments
Open

Installs files directly into $PREFIX #59

yurivict opened this issue Apr 2, 2023 · 2 comments

Comments

@yurivict
Copy link

yurivict commented Apr 2, 2023

It installs these 2 files:

projectMSDL
projectMSDL.properties

projectMSDL should probably be in bin/.

@kblaschke
Copy link
Member

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
Copy link
Member

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants