Skip to content

Commit ce546b2

Browse files
author
Colin Guthrie
committed
build-sys: Provide a simple CMake Config setup (similar to pkgconfig)
I'd rather not have to do this, as I don't really see the point in duplicating what is done in pkgconfig, but this is likely the easiest way to avoid nasty hacks.
1 parent 034006e commit ce546b2

4 files changed

+37
-0
lines changed

Makefile.am

+3
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ pkgconfig_DATA += \
5151
libpulse-mainloop-glib.pc
5252
endif
5353

54+
cmakedir = $(libdir)/cmake/PulseAudio
55+
cmake_DATA = PulseAudioConfig.cmake PulseAudioConfigVersion.cmake
56+
5457
homepage: all dist doxygen
5558
test -d $$HOME/homepage/private
5659
mkdir -p $$HOME/homepage/private/projects/pulseaudio $$HOME/homepage/private/projects/pulseaudio/doxygen

PulseAudioConfig.cmake.in

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
set(PULSEAUDIO_FOUND TRUE)
2+
3+
set(PULSEAUDIO_VERSION_MAJOR @PA_MAJOR@)
4+
set(PULSEAUDIO_VERSION_MINOR @PA_MINOR@)
5+
set(PULSEAUDIO_VERSION @PA_MAJOR@.@PA_MINOR@)
6+
set(PULSEAUDIO_VERSION_STRING "@PA_MAJOR@.@PA_MINOR@")
7+
8+
find_path(PULSEAUDIO_INCLUDE_DIR pulse/pulseaudio.h HINTS "@PA_INCDIR@")
9+
find_library(PULSEAUDIO_LIBRARY NAMES pulse libpulse HINTS "@PA_LIBDIR@")
10+
ifelse(@HAVE_GLIB20@, 1, dnl
11+
find_library(PULSEAUDIO_MAINLOOP_LIBRARY NAMES pulse-mainloop-glib libpulse-mainloop-glib HINTS "@PA_LIBDIR@")
12+
)dnl

PulseAudioConfigVersion.cmake.in

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
set(PACKAGE_VERSION @PA_MAJOR@.@PA_MINOR@)
2+
3+
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" )
4+
set(PACKAGE_VERSION_COMPATIBLE FALSE)
5+
else("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" )
6+
set(PACKAGE_VERSION_COMPATIBLE TRUE)
7+
if( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}")
8+
set(PACKAGE_VERSION_EXACT TRUE)
9+
endif( "${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}")
10+
endif("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}" )
11+

configure.ac

+11
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,7 @@ AS_IF([test "x$enable_glib2" = "xyes" && test "x$HAVE_GLIB20" = "x0"],
779779

780780
AC_SUBST(GLIB20_CFLAGS)
781781
AC_SUBST(GLIB20_LIBS)
782+
AC_SUBST(HAVE_GLIB20)
782783
AM_CONDITIONAL([HAVE_GLIB20], [test "x$HAVE_GLIB20" = x1])
783784
AS_IF([test "x$HAVE_GLIB20" = "x1"], AC_DEFINE([HAVE_GLIB], 1, [Have GLIB?]))
784785

@@ -1263,6 +1264,16 @@ AC_CONFIG_FILES([src/default.pa:src/daemon/default.pa.in],
12631264
AC_CONFIG_FILES([src/system.pa:src/daemon/system.pa.in],
12641265
[m4 src/system.pa > src/system.pa.gen && mv src/system.pa.gen src/system.pa])
12651266

1267+
# CMake related ProjectConfig files
1268+
PA_LIBDIR="$libdir"
1269+
AX_DEFINE_DIR(PA_LIBDIR, PA_LIBDIR, [PulseAudio library dir])
1270+
PA_INCDIR="$includedir"
1271+
AX_DEFINE_DIR(PA_INCDIR, PA_INCDIR, [PulseAudio include dir])
1272+
1273+
AC_CONFIG_FILES([PulseAudioConfig.cmake:PulseAudioConfig.cmake.in],
1274+
[m4 PulseAudioConfig.cmake > PulseAudioConfig.cmake.gen && mv PulseAudioConfig.cmake.gen PulseAudioConfig.cmake])
1275+
AC_CONFIG_FILES([PulseAudioConfigVersion.cmake])
1276+
12661277
AC_OUTPUT
12671278

12681279
# ==========================================================================

0 commit comments

Comments
 (0)