Skip to content

Commit 5e3dada

Browse files
committed
Update libvisual_projectM to projectM 4
1 parent 7c80008 commit 5e3dada

File tree

3 files changed

+337
-443
lines changed

3 files changed

+337
-443
lines changed

CMakeLists.txt

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,56 @@
11
# Copyright (c) 2023 Sebastian Pipping <[email protected]>
22
# Licensed under GPL v3 or later
33

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)
85

9-
project(libvisual-projectm VERSION 2.1.1)
6+
project(libvisual-projectm
7+
LANGUAGES C CXX
8+
VERSION 4.1.5
9+
)
1010

1111
include(FindPkgConfig)
1212

1313
pkg_check_modules(LIBVISUAL libvisual-0.4 REQUIRED IMPORTED_TARGET)
1414
pkg_get_variable(LIBVISUAL_PLUGINS_BASE_DIR libvisual-0.4 pluginsbasedir)
1515
set(LIBVISUAL_ACTOR_PLUGINS_DIR "${LIBVISUAL_PLUGINS_BASE_DIR}/actor")
1616

17-
pkg_check_modules(LIBPROJECTM libprojectM REQUIRED IMPORTED_TARGET)
18-
pkg_get_variable(LIBPROJECTM_PREFIX libprojectM prefix)
17+
find_package(projectM4 REQUIRED COMPONENTS Playlist)
1918

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+
)
2624

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+
)
3229

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+
)
3835

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)
4246

4347
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()
4553
message(STATUS " CMAKE_INSTALL_PREFIX: \"${CMAKE_INSTALL_PREFIX}\"")
46-
message(STATUS " LIBPROJECTM_PREFIX: \"${LIBPROJECTM_PREFIX}\"")
54+
message(STATUS " PROJECTM_VERSION: \"${projectM4_VERSION}\"")
4755
message(STATUS " LIBVISUAL_ACTOR_PLUGINS_DIR: \"${LIBVISUAL_ACTOR_PLUGINS_DIR}\"")
4856
message(STATUS " LIBVISUAL_PLUGINS_BASE_DIR: \"${LIBVISUAL_PLUGINS_BASE_DIR}\"")

0 commit comments

Comments
 (0)