70 lines
2.3 KiB
CMake
70 lines
2.3 KiB
CMake
cmake_minimum_required(VERSION 3.12)
|
|
|
|
include(cmake/read_api_version.cmake)
|
|
read_api_version(MPG123_VERSION)
|
|
|
|
project(mpg123 VERSION ${MPG123_VERSION} LANGUAGES C ASM)
|
|
set(CMAKE_C_STANDARD 99)
|
|
|
|
option(BUILD_LIBOUT123 "build libout123 (prerequisite for included programs)" ON)
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
|
|
message(WARNING "Output module is not implemented for '${CMAKE_SYSTEM_NAME}' platform.")
|
|
message(WARNING "To prevent build errors 'BUILD_LIBOUT123' option is set to OFF.")
|
|
set(BUILD_LIBOUT123 OFF)
|
|
endif()
|
|
|
|
include(cmake/search_libs.cmake)
|
|
include(CMakePackageConfigHelpers)
|
|
include(GNUInstallDirs)
|
|
|
|
set(PACKAGE_VERSION ${PROJECT_VERSION})
|
|
add_subdirectory("src")
|
|
|
|
install(
|
|
EXPORT targets
|
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}"
|
|
NAMESPACE MPG123::)
|
|
|
|
configure_package_config_file(
|
|
mpg123-config.cmake.in mpg123-config.cmake
|
|
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
|
|
write_basic_package_version_file(
|
|
mpg123-config-version.cmake COMPATIBILITY AnyNewerVersion)
|
|
|
|
install(
|
|
FILES
|
|
"${CMAKE_CURRENT_BINARY_DIR}/mpg123-config.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/mpg123-config-version.cmake"
|
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
|
|
|
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
|
set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
|
|
set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}")
|
|
set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
|
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../../libmpg123.pc.in" libmpg123.pc @ONLY)
|
|
if(BUILD_LIBOUT123)
|
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../../libout123.pc.in" libout123.pc @ONLY)
|
|
endif()
|
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../../libsyn123.pc.in" libsyn123.pc @ONLY)
|
|
|
|
install(
|
|
FILES
|
|
"${CMAKE_CURRENT_BINARY_DIR}/libmpg123.pc"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/libsyn123.pc"
|
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|
|
if(BUILD_LIBOUT123)
|
|
install(
|
|
FILES
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/../../man1/mpg123.1"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/../../man1/out123.1"
|
|
DESTINATION "${CMAKE_INSTALL_MANDIR}")
|
|
|
|
install(
|
|
FILES
|
|
"${CMAKE_CURRENT_BINARY_DIR}/libout123.pc"
|
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|
|
install(
|
|
FILES
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/../../man1/out123.1"
|
|
DESTINATION "${CMAKE_INSTALL_MANDIR}")
|
|
endif()
|