projectM-visualizer / frontend-sdl-cpp

Standalone application based on libSDL that turns your desktop audio into awesome visuals. Available on most platforms supported by both libprojectM and libSDL.
GNU General Public License v3.0
66 stars 35 forks source link

CMake Error By not providing "FindlibprojectM.cmake" in CMAKE_MODULE_PATH this project... #47

Closed tomachinz closed 2 years ago

tomachinz commented 2 years ago

Hello, on Linux Mint 21, I think I need to install a library, I guess I ran outa steam after I...

apt install libsdl2-dev libpoco-dev cmake
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libpoco-dev is already the newest version (1.11.0-3).
cmake is already the newest version (3.22.1-1ubuntu1.22.04.1).
libsdl2-dev is already the newest version (2.0.20+dfsg-2ubuntu1.22.04.1).
The following packages were automatically installed and are no longer required:
kpeople-vcard libfakekey0 libkf5pulseaudioqt3 libqt5quickparticles5 libssl1.0.0 qml-module-org-kde-people qml-module-qtquick-particles2 sshfs
Use 'sudo apt autoremove' to remove them.
0 to upgrade, 0 to newly install, 0 to remove and 6 not to upgrade.
tom@putin:~/Github/frontend-sdl2$ sudo apt install libprojectm
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libprojectm
tom@putin:~/Github/frontend-sdl2$

and also make says

make
-- The C compiler identification is GNU 11.3.0
-- The CXX compiler identification is GNU 11.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:40 (find_package):
By not providing "FindlibprojectM.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"libprojectM", but CMake did not find one.

Could not find a package configuration file provided by "libprojectM" with
any of the following names:

libprojectMConfig.cmake
libprojectm-config.cmake

Add the installation prefix of "libprojectM" to CMAKE_PREFIX_PATH or set
"libprojectM_DIR" to a directory containing one of the above files.  If
"libprojectM" provides a separate development package or SDK, be sure it
has been installed.

-- Configuring incomplete, errors occurred!
See also "/home/tom/Github/frontend-sdl2/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found. Stop.

Many thanks in advance if you are able please to send me on the right path!.. a pathway full of milky drops and thangs.

kblaschke commented 2 years ago

This is only the frontend application, it doesn't contain the actual projectM core library. You have to build it separately, then point the build of frontend-sdl2 to the install location. I suggest checking out commit 62cecb3 of the core library, as this is the last one that works with the current state of this app (many API changes going on, that's why).

Build it according to the Wiki, and install it somewhere in your dev/home dir. No need to install system-wide. You can also choose to build the static library, so libprojectM will be embedded in your application.

After installing the built library, use -DCMAKE_PREFIX_PATH=/path/to/libprojectm/install in the frontend-sdl2 configuration command to point CMake to your local library. To use the static libprojectM library, also add -DPROJECTM_LINKAGE=static to the CMake parameters. Then it should work.

If you have further issues or questions, please feel free to comment here or join our Discord server.