aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt13
-rw-r--r--openal.pc.in1
2 files changed, 13 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 07454f15..69e5528c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1261,8 +1261,19 @@ SET(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
SET(bindir "\${exec_prefix}/${CMAKE_INSTALL_BINDIR}")
SET(includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
SET(PACKAGE_VERSION "${LIB_VERSION}")
+SET(PKG_CONFIG_CFLAGS )
+SET(PKG_CONFIG_PRIVATE_LIBS )
IF(LIBTYPE STREQUAL "STATIC")
- SET(PKG_CONFIG_CFLAGS -DAL_LIBTYPE_STATIC ${PKG_CONFIG_CFLAGS})
+ SET(PKG_CONFIG_CFLAGS -DAL_LIBTYPE_STATIC)
+ FOREACH(FLAG ${LINKER_FLAGS} ${EXTRA_LIBS} ${MATH_LIB})
+ # If this is already a linker flag, or is a full path+file, add it
+ # as-is. Otherwise, it's a name intended to be dressed as -lname.
+ IF(FLAG MATCHES "^-.*" OR EXISTS "${FLAG}")
+ SET(PKG_CONFIG_PRIVATE_LIBS "${PKG_CONFIG_PRIVATE_LIBS} ${FLAG}")
+ ELSE()
+ SET(PKG_CONFIG_PRIVATE_LIBS "${PKG_CONFIG_PRIVATE_LIBS} -l${FLAG}")
+ ENDIF()
+ ENDFOREACH()
ENDIF()
# End configuration
diff --git a/openal.pc.in b/openal.pc.in
index 8bdd4f3b..dfa6f573 100644
--- a/openal.pc.in
+++ b/openal.pc.in
@@ -8,4 +8,5 @@ Description: OpenAL is a cross-platform 3D audio API
Requires: @PKG_CONFIG_REQUIRES@
Version: @PACKAGE_VERSION@
Libs: -L${libdir} -l@LIBNAME@ @PKG_CONFIG_LIBS@
+Libs.private:@PKG_CONFIG_PRIVATE_LIBS@
Cflags: -I${includedir} -I${includedir}/AL @PKG_CONFIG_CFLAGS@