summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/FindPkgConfig/FindPkgConfig_SYSTEM_PATH.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/RunCMake/FindPkgConfig/FindPkgConfig_SYSTEM_PATH.cmake')
-rw-r--r--Tests/RunCMake/FindPkgConfig/FindPkgConfig_SYSTEM_PATH.cmake42
1 files changed, 42 insertions, 0 deletions
diff --git a/Tests/RunCMake/FindPkgConfig/FindPkgConfig_SYSTEM_PATH.cmake b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_SYSTEM_PATH.cmake
new file mode 100644
index 0000000..e58cefb
--- /dev/null
+++ b/Tests/RunCMake/FindPkgConfig/FindPkgConfig_SYSTEM_PATH.cmake
@@ -0,0 +1,42 @@
+find_package(PkgConfig REQUIRED)
+
+set(ROOT "${CMAKE_CURRENT_BINARY_DIR}/root")
+string(REPLACE " " "\\ " ESCAPED_ROOT "${ROOT}")
+set(LIB_DIR "${ROOT}/lib")
+set(INCLUDE_DIR "${ROOT}/include")
+set(PKGCONFIG_DIR "${LIB_DIR}/pkgconfig")
+
+file(WRITE "${PKGCONFIG_DIR}/zot.pc" "
+prefix=${ESCAPED_ROOT}
+libdir=\${prefix}/lib
+includedir=\${prefix}/include
+
+Name: Zot
+Description: Dummy package to test LIBRARY_DIR support
+Version: 1.0
+Libs: -L\${libdir} -lzot
+Cflags: -I\${includedir}
+")
+
+# Create a "library" file to find in libdir.
+set(CMAKE_FIND_LIBRARY_PREFIXES "prefix-")
+set(CMAKE_FIND_LIBRARY_SUFFIXES "-suffix")
+file(WRITE "${LIB_DIR}/prefix-zot-suffix")
+
+# 'pkg-config --libs' drops -L flags in PKG_CONFIG_SYSTEM_LIBRARY_PATH by default.
+set(ENV{PKG_CONFIG_SYSTEM_LIBRARY_PATH} "${LIB_DIR}")
+# 'pkg-config --cflags' drops -I flags in PKG_CONFIG_SYSTEM_INCLUDE_PATH by default.
+set(ENV{PKG_CONFIG_SYSTEM_INCLUDE_PATH} "${INCLUDE_DIR}")
+
+# 'pkgconf --libs' also drops -L flags in LIBRARY_PATH by default.
+set(ENV{LIBRARY_PATH} "${LIB_DIR}")
+# 'pkgconf --cflags' also drops -I flags in CPATH by default.
+set(ENV{CPATH} "${INCLUDE_DIR}")
+
+set(ENV{PKG_CONFIG_PATH} "${PKGCONFIG_DIR}")
+pkg_check_modules(ZOT REQUIRED zot)
+
+message(STATUS "ZOT_LIBRARIES='${ZOT_LIBRARIES}'")
+message(STATUS "ZOT_LINK_LIBRARIES='${ZOT_LINK_LIBRARIES}'")
+message(STATUS "ZOT_LDFLAGS='${ZOT_LDFLAGS}'")
+message(STATUS "ZOT_CFLAGS='${ZOT_CFLAGS}'")