@@ -549,29 +549,32 @@ add_library(STDEXEC::system_context ALIAS system_context)
549549target_link_libraries (system_context PUBLIC stdexec )
550550
551551
552- if (CMAKE_CROSSCOMPILING )
553- CHECK_INCLUDE_FILE_CXX ("linux/io_uring.h" STDEXEC_FOUND_IO_URING )
554- else ()
555- include (CheckCXXSourceRuns )
556- CHECK_CXX_SOURCE_RUNS (
557- "
558- #include <linux/io_uring.h>
559- #include <sys/syscall.h>
560- #include <unistd.h>
561-
562- #include <cstdlib>
563-
564- int main()
565- {
566- io_uring_params a = {};
567- return syscall(__NR_io_uring_setup, 1, &a) != -1
568- ? EXIT_SUCCESS
569- : EXIT_FAILURE;
570- }
571- "
572- STDEXEC_FOUND_IO_URING )
552+ option (STDEXEC_ENABLE_IO_URING "Enable the use of the io_uring scheduler on Linux" OFF )
553+
554+ if (STDEXEC_ENABLE_IO_URING)
555+ if (CMAKE_CROSSCOMPILING )
556+ CHECK_INCLUDE_FILE_CXX ("linux/io_uring.h" STDEXEC_ENABLE_IO_URING )
557+ else ()
558+ include (CheckCXXSourceRuns )
559+ CHECK_CXX_SOURCE_RUNS (
560+ "
561+ #include <linux/io_uring.h>
562+ #include <sys/syscall.h>
563+ #include <unistd.h>
564+
565+ #include <cstdlib>
566+
567+ int main()
568+ {
569+ io_uring_params a = {};
570+ return syscall(__NR_io_uring_setup, 1, &a) != -1
571+ ? EXIT_SUCCESS
572+ : EXIT_FAILURE;
573+ }
574+ "
575+ STDEXEC_ENABLE_IO_URING )
576+ endif ()
573577endif ()
574- option (STDEXEC_ENABLE_IO_URING "Enable the use of the io_uring scheduler on Linux" ${STDEXEC_FOUND_IO_URING} )
575578
576579option (STDEXEC_BUILD_DOCS "Build stdexec documentation" OFF )
577580option (STDEXEC_BUILD_EXAMPLES "Build stdexec examples" ON )
0 commit comments