summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmake/FindPPS.cmake19
-rw-r--r--src/corelib/CMakeLists.txt2
-rw-r--r--src/corelib/configure.cmake4
-rwxr-xr-xutil/cmake/configurejson2cmake.py1
4 files changed, 24 insertions, 2 deletions
diff --git a/cmake/FindPPS.cmake b/cmake/FindPPS.cmake
new file mode 100644
index 0000000000..b1e418f227
--- /dev/null
+++ b/cmake/FindPPS.cmake
@@ -0,0 +1,19 @@
+# Find the PPS library
+
+# Will make the target PPS::PPS available when found.
+
+find_library(PPS_LIBRARY NAMES "pps")
+find_path(PPS_INCLUDE_DIR NAMES "sys/pps.h" DOC "The PPS Include path")
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(PPS DEFAULT_MSG PPS_INCLUDE_DIR PPS_LIBRARY)
+
+mark_as_advanced(PPS_INCLUDE_DIR PPS_LIBRARY)
+
+if(PPS_FOUND)
+ add_library(__PPS IMPORTED)
+ target_link_libraries(__PPS INTERFACE ${PPS_LIBRARY})
+ target_include_directories(__PPS INTERFACE ${PPS_INCLUDE_DIR})
+
+ add_library(PPS::PPS ALIAS __PPS)
+endif()
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt
index c56b003137..8c8c033859 100644
--- a/src/corelib/CMakeLists.txt
+++ b/src/corelib/CMakeLists.txt
@@ -508,7 +508,7 @@ extend_target(Core CONDITION QNX AND QT_FEATURE_qqnx_pps
kernel/qppsattributeprivate_p.h
kernel/qppsobject.cpp kernel/qppsobject_p.h
kernel/qppsobjectprivate_p.h
- LIBRARIES pps
+ LIBRARIES PPS::PPS
)
## clock_gettime:
diff --git a/src/corelib/configure.cmake b/src/corelib/configure.cmake
index a8acac8f81..5770882bc8 100644
--- a/src/corelib/configure.cmake
+++ b/src/corelib/configure.cmake
@@ -22,6 +22,8 @@ find_package(WrapRt)
set_package_properties(WrapRt PROPERTIES TYPE OPTIONAL)
find_package(PCRE2)
set_package_properties(PCRE2 PROPERTIES TYPE REQUIRED)
+find_package(PPS)
+set_package_properties(PPS PROPERTIES TYPE OPTIONAL)
#### Tests
@@ -460,7 +462,7 @@ qt_feature("poll_select" PUBLIC PRIVATE
qt_feature_definition("poll_select" "QT_NO_NATIVE_POLL")
qt_feature("qqnx_pps" PRIVATE
LABEL "PPS"
- CONDITION libs.pps OR FIXME
+ CONDITION PPS_FOUND
EMIT_IF QNX
)
qt_feature("renameat2" PRIVATE
diff --git a/util/cmake/configurejson2cmake.py b/util/cmake/configurejson2cmake.py
index 03902f1648..e0335a0e52 100755
--- a/util/cmake/configurejson2cmake.py
+++ b/util/cmake/configurejson2cmake.py
@@ -73,6 +73,7 @@ def map_library(lib: str) -> Union[str, LibraryMapping, List[str]]:
'openssl_headers': LibraryMapping(package="OpenSSL", resultVariable="OPENSSL_INCLUDE_DIR", appendFoundSuffix=False),
'pcre2': ['PCRE2', 'REQUIRED'],
'posix_iconv': None,
+ 'pps': 'PPS',
'sun_iconv': None,
'udev': 'Libudev',
'vulkan': 'Vulkan',