diff options
Diffstat (limited to 'cmake/FindWrapRt.cmake')
-rw-r--r-- | cmake/FindWrapRt.cmake | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/cmake/FindWrapRt.cmake b/cmake/FindWrapRt.cmake index 779d18d1a0..b394b062da 100644 --- a/cmake/FindWrapRt.cmake +++ b/cmake/FindWrapRt.cmake @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + # We can't create the same interface imported target multiple times, CMake will complain if we do # that. This can happen if the find_package call is done in multiple different subdirectories. if(TARGET WrapRt::WrapRt) @@ -18,17 +21,31 @@ if(LIBRT) endif() check_cxx_source_compiles(" -#include <unistd.h> #include <time.h> +#include <unistd.h> -int main(int argc, char *argv[]) { - timespec ts; clock_gettime(CLOCK_REALTIME, &ts); -}" HAVE_GETTIME) +int main(int, char **) { + struct timespec ts; + clock_gettime(CLOCK_REALTIME, &ts); + return 0; +} +" HAVE_GETTIME) -cmake_pop_check_state() +check_cxx_source_compiles(" +#include <sys/types.h> +#include <sys/mman.h> +#include <fcntl.h> + +int main(int, char **) { + shm_open(\"test\", O_RDWR | O_CREAT | O_EXCL, 0666); + shm_unlink(\"test\"); + return 0; +} +" HAVE_SHM_OPEN_SHM_UNLINK) +cmake_pop_check_state() -if(HAVE_GETTIME) +if(HAVE_GETTIME OR HAVE_SHM_OPEN_SHM_UNLINK) set(WrapRt_FOUND ON) add_library(WrapRt::WrapRt INTERFACE IMPORTED) if (LIBRT) |