Set library base name once in top-level CMakeLists.txt.

Will avoid making errors in future versions. Include dirs still are hard-coded, as they partially exist as paths in the source tree.
This commit is contained in:
Kai Blaschke
2023-10-06 12:51:22 +02:00
parent ce56c3ed09
commit 483b32d546
3 changed files with 13 additions and 10 deletions

View File

@ -33,6 +33,9 @@ project(libprojectM
# functions. Adding new function should be okay if documented.
set(PROJECTM_SO_VERSION "4")
# Base filename of all installed libraries. Also used as package name in pkgconfig.
set(PROJECTM_LIBRARY_BASE_OUTPUT_NAME "projectM-${PROJECT_VERSION_MAJOR}")
# The actual (full) library version of projectM
set(PROJECTM_LIB_VERSION "${CMAKE_PROJECT_VERSION}")

View File

@ -115,7 +115,7 @@ set_target_properties(projectM PROPERTIES
VERSION "${PROJECTM_LIB_VERSION}"
SOVERSION "${PROJECTM_SO_VERSION}"
FOLDER libprojectM
OUTPUT_NAME projectM-4
OUTPUT_NAME ${PROJECTM_LIBRARY_BASE_OUTPUT_NAME}
)
if(BUILD_SHARED_LIBS)
@ -135,7 +135,7 @@ else()
)
set_target_properties(projectM PROPERTIES
OUTPUT_NAME $<IF:$<PLATFORM_ID:Windows>,libprojectM-4,projectM-4>
OUTPUT_NAME $<IF:$<PLATFORM_ID:Windows>,lib${PROJECTM_LIBRARY_BASE_OUTPUT_NAME},${PROJECTM_LIBRARY_BASE_OUTPUT_NAME}>
FOLDER libprojectM
)
endif()
@ -251,11 +251,11 @@ if(ENABLE_INSTALL)
endforeach()
endif()
set(PKGCONFIG_PACKAGE_NAME "projectM-4")
set(PKGCONFIG_PACKAGE_NAME "${PROJECTM_LIBRARY_BASE_OUTPUT_NAME}")
set(PKGCONFIG_PACKAGE_DESCRIPTION "projectM Music Visualizer")
set(PKGCONFIG_PACKAGE_REQUIREMENTS_ALL "opengl")
generate_pkg_config_files(projectM projectM-4)
generate_pkg_config_files(projectM ${PROJECTM_LIBRARY_BASE_OUTPUT_NAME})
endif()

View File

@ -43,7 +43,7 @@ set_target_properties(projectM_playlist PROPERTIES
SOVERSION "${PROJECTM_SO_VERSION}"
EXPORT_NAME playlist
FOLDER libprojectM
OUTPUT_NAME projectM-4-playlist
OUTPUT_NAME ${PROJECTM_LIBRARY_BASE_OUTPUT_NAME}-playlist
)
target_include_directories(projectM_playlist
@ -75,7 +75,7 @@ else()
)
set_target_properties(projectM_playlist PROPERTIES
OUTPUT_NAME $<IF:$<PLATFORM_ID:Windows>,libprojectM-4-playlist,projectM-4-playlist>
OUTPUT_NAME $<IF:$<PLATFORM_ID:Windows>,lib${PROJECTM_LIBRARY_BASE_OUTPUT_NAME}-playlist,${PROJECTM_LIBRARY_BASE_OUTPUT_NAME}-playlist>
FOLDER libprojectM
)
endif()
@ -149,12 +149,12 @@ if(ENABLE_INSTALL)
if(UNIX)
include(GeneratePkgConfigFiles)
set(PKGCONFIG_PACKAGE_NAME "projectM-4-playlist")
set(PKGCONFIG_PACKAGE_NAME "${PROJECTM_LIBRARY_BASE_OUTPUT_NAME}-playlist")
set(PKGCONFIG_PACKAGE_DESCRIPTION "projectM Playlist Library")
set(PKGCONFIG_PACKAGE_REQUIREMENTS_RELEASE "projectM-4")
set(PKGCONFIG_PACKAGE_REQUIREMENTS_DEBUG "projectM-4-debug")
set(PKGCONFIG_PACKAGE_REQUIREMENTS_RELEASE "${PROJECTM_LIBRARY_BASE_OUTPUT_NAME}")
set(PKGCONFIG_PACKAGE_REQUIREMENTS_DEBUG "${PROJECTM_LIBRARY_BASE_OUTPUT_NAME}-debug")
generate_pkg_config_files(projectM_playlist projectM-4-playlist)
generate_pkg_config_files(projectM_playlist ${PROJECTM_LIBRARY_BASE_OUTPUT_NAME}-playlist)
endif()
endif()