CMake: Find librt
Change-Id: Ibc39ba7a385146cd0428b78e12a793f0ddbfae91 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
This commit is contained in:
parent
df2975236d
commit
bebbb41030
27
cmake/FindWrapRt.cmake
Normal file
27
cmake/FindWrapRt.cmake
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
include(CheckCXXSourceCompiles)
|
||||||
|
|
||||||
|
find_library(LIBRT rt)
|
||||||
|
|
||||||
|
set(_libraries "${CMAKE_REQUIRED_LIBRARIES}")
|
||||||
|
if(LIBRT_FOUND)
|
||||||
|
list(APPEND CMAKE_REQUIRED_LIBRARIES "${LIBRT}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
check_cxx_source_compiles("
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
|
int main(int argc, char *argv[]) {
|
||||||
|
timespec ts; clock_gettime(CLOCK_REALTIME, &ts);
|
||||||
|
}" HAVE_GETTIME)
|
||||||
|
|
||||||
|
set(CMAKE_REQUIRED_LIBRARIES "${_libraries}")
|
||||||
|
unset(_libraries)
|
||||||
|
|
||||||
|
add_library(WrapRt INTERFACE)
|
||||||
|
if (LIBRT_FOUND)
|
||||||
|
target_link_libraries(WrapRt INTERFACE "${LIBRT}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(WrapRt_FOUND "${HAVE_GETTIME}")
|
||||||
|
|
@ -231,6 +231,7 @@ add_qt_module(Core
|
|||||||
tools/qvsnprintf.cpp
|
tools/qvsnprintf.cpp
|
||||||
LIBRARIES
|
LIBRARIES
|
||||||
WrapDoubleConversion
|
WrapDoubleConversion
|
||||||
|
WrapRt
|
||||||
tinycbor Threads::Threads ZLIB::ZLIB
|
tinycbor Threads::Threads ZLIB::ZLIB
|
||||||
QtHarfBuzz
|
QtHarfBuzz
|
||||||
PUBLIC_LIBRARIES Qt::Platform
|
PUBLIC_LIBRARIES Qt::Platform
|
||||||
|
@ -18,6 +18,8 @@ find_package(Libsystemd)
|
|||||||
set_package_properties(Libsystemd PROPERTIES TYPE OPTIONAL)
|
set_package_properties(Libsystemd PROPERTIES TYPE OPTIONAL)
|
||||||
find_package(Atomic)
|
find_package(Atomic)
|
||||||
set_package_properties(Atomic PROPERTIES TYPE OPTIONAL)
|
set_package_properties(Atomic PROPERTIES TYPE OPTIONAL)
|
||||||
|
find_package(WrapRt)
|
||||||
|
set_package_properties(WrapRt PROPERTIES TYPE OPTIONAL)
|
||||||
find_package(PCRE2)
|
find_package(PCRE2)
|
||||||
set_package_properties(PCRE2 PROPERTIES TYPE REQUIRED)
|
set_package_properties(PCRE2 PROPERTIES TYPE REQUIRED)
|
||||||
|
|
||||||
@ -340,7 +342,7 @@ closelog();
|
|||||||
|
|
||||||
qt_feature("clock_gettime" PRIVATE
|
qt_feature("clock_gettime" PRIVATE
|
||||||
LABEL "clock_gettime()"
|
LABEL "clock_gettime()"
|
||||||
CONDITION UNIX AND libs.librt OR FIXME
|
CONDITION UNIX AND WrapRt_FOUND
|
||||||
)
|
)
|
||||||
qt_feature("clock_monotonic" PUBLIC
|
qt_feature("clock_monotonic" PUBLIC
|
||||||
LABEL "POSIX monotonic clock"
|
LABEL "POSIX monotonic clock"
|
||||||
|
@ -67,6 +67,7 @@ def map_library(lib: str) -> Union[str, LibraryMapping, List[str]]:
|
|||||||
'libpng': 'PNG',
|
'libpng': 'PNG',
|
||||||
'libpng': 'PNG',
|
'libpng': 'PNG',
|
||||||
'libproxy': 'libproxy',
|
'libproxy': 'libproxy',
|
||||||
|
'librt': 'WrapRt',
|
||||||
'libudev': 'Libudev',
|
'libudev': 'Libudev',
|
||||||
'opengl': LibraryMapping(package="OpenGL", resultVariable="OpenGL_OpenGL"),
|
'opengl': LibraryMapping(package="OpenGL", resultVariable="OpenGL_OpenGL"),
|
||||||
'openssl_headers': LibraryMapping(package="OpenSSL", resultVariable="OPENSSL_INCLUDE_DIR", appendFoundSuffix=False),
|
'openssl_headers': LibraryMapping(package="OpenSSL", resultVariable="OPENSSL_INCLUDE_DIR", appendFoundSuffix=False),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user