|
1 | 1 | # Copyright (c) 2023 Sebastian Pipping <[email protected]> |
2 | 2 | # Licensed under GPL v3 or later |
3 | 3 |
|
4 | | -cmake_minimum_required(VERSION 3.6) |
5 | | -# CMake features used that need more than CMake 3.0: |
6 | | -# - pkg_get_variable needs >=3.4 |
7 | | -# - pkg_check_modules([..] IMPORTED_TARGET [..]) needs >=3.6 |
| 4 | +cmake_minimum_required(VERSION 3.21) |
8 | 5 |
|
9 | | -project(libvisual-projectm VERSION 2.1.1) |
| 6 | +project(libvisual-projectm |
| 7 | + LANGUAGES C CXX |
| 8 | + VERSION 4.1.5 |
| 9 | +) |
10 | 10 |
|
11 | 11 | include(FindPkgConfig) |
12 | 12 |
|
13 | 13 | pkg_check_modules(LIBVISUAL libvisual-0.4 REQUIRED IMPORTED_TARGET) |
14 | 14 | pkg_get_variable(LIBVISUAL_PLUGINS_BASE_DIR libvisual-0.4 pluginsbasedir) |
15 | 15 | set(LIBVISUAL_ACTOR_PLUGINS_DIR "${LIBVISUAL_PLUGINS_BASE_DIR}/actor") |
16 | 16 |
|
17 | | -pkg_check_modules(LIBPROJECTM libprojectM REQUIRED IMPORTED_TARGET) |
18 | | -pkg_get_variable(LIBPROJECTM_PREFIX libprojectM prefix) |
| 17 | +find_package(projectM4 REQUIRED COMPONENTS Playlist) |
19 | 18 |
|
20 | | -add_library(projectM_libvisual MODULE |
21 | | - src/actor_projectM.cpp |
22 | | - src/ConfigFile.cpp |
23 | | - src/ConfigFile.h |
24 | | - src/lvtoprojectM.h |
25 | | - ) |
| 19 | +add_library(actor_projectM SHARED MODULE |
| 20 | + src/actor_projectM.cpp |
| 21 | + src/ConfigFile.cpp |
| 22 | + src/ConfigFile.h |
| 23 | +) |
26 | 24 |
|
27 | | -target_compile_definitions(projectM_libvisual |
28 | | - PRIVATE |
29 | | - PACKAGE_VERSION="${PROJECT_VERSION}" |
30 | | - PROJECTM_PREFIX="${LIBPROJECTM_PREFIX}" |
31 | | - ) |
| 25 | +target_compile_definitions(actor_projectM |
| 26 | + PRIVATE |
| 27 | + PACKAGE_VERSION="${PROJECT_VERSION}" |
| 28 | +) |
32 | 29 |
|
33 | | -target_link_libraries(projectM_libvisual |
34 | | - PUBLIC |
35 | | - PkgConfig::LIBPROJECTM |
36 | | - PkgConfig::LIBVISUAL |
37 | | - ) |
| 30 | +target_link_libraries(actor_projectM |
| 31 | + PUBLIC |
| 32 | + PkgConfig::LIBVISUAL |
| 33 | + libprojectM::playlist |
| 34 | +) |
38 | 35 |
|
39 | | -install(TARGETS projectM_libvisual |
40 | | - LIBRARY DESTINATION "${LIBVISUAL_ACTOR_PLUGINS_DIR}" |
41 | | - ) |
| 36 | +# Don't add "lib" prefix, keep name as-is. |
| 37 | +set_target_properties(actor_projectM PROPERTIES |
| 38 | + PREFIX "" |
| 39 | +) |
| 40 | + |
| 41 | +install(TARGETS actor_projectM |
| 42 | + LIBRARY DESTINATION "${LIBVISUAL_ACTOR_PLUGINS_DIR}" |
| 43 | +) |
| 44 | + |
| 45 | +get_property(IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) |
42 | 46 |
|
43 | 47 | message(STATUS "Configuration:") |
44 | | -message(STATUS " CMAKE_BUILD_TYPE: \"${CMAKE_BUILD_TYPE}\"") |
| 48 | +if(IS_MULTI_CONFIG) |
| 49 | + message(STATUS " CMAKE_CONFIGURATION_TYPES: \"${CMAKE_CONFIGURATION_TYPES}\"") |
| 50 | +else() |
| 51 | + message(STATUS " CMAKE_BUILD_TYPE: \"${CMAKE_BUILD_TYPE}\"") |
| 52 | +endif() |
45 | 53 | message(STATUS " CMAKE_INSTALL_PREFIX: \"${CMAKE_INSTALL_PREFIX}\"") |
46 | | -message(STATUS " LIBPROJECTM_PREFIX: \"${LIBPROJECTM_PREFIX}\"") |
| 54 | +message(STATUS " PROJECTM_VERSION: \"${projectM4_VERSION}\"") |
47 | 55 | message(STATUS " LIBVISUAL_ACTOR_PLUGINS_DIR: \"${LIBVISUAL_ACTOR_PLUGINS_DIR}\"") |
48 | 56 | message(STATUS " LIBVISUAL_PLUGINS_BASE_DIR: \"${LIBVISUAL_PLUGINS_BASE_DIR}\"") |
0 commit comments