From 0ae233ab23c560547bf85ce1346580966e799861 Mon Sep 17 00:00:00 2001 From: Jilin Zhou Date: Tue, 19 Feb 2019 08:05:55 -0500 Subject: [PATCH] [#766] add x-compile support for QNX SDP7 (#770) Since googletest already supports x-compilation for QNX, it is nice to have google benchmark support it too. Fixes #766 --- CMakeLists.txt | 4 ++++ src/internal_macros.h | 2 ++ src/sysinfo.cc | 2 ++ 3 files changed, 8 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index a6160092..d7ed57e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -183,6 +183,10 @@ else() add_definitions(-D_GNU_SOURCE=1) endif() + if (QNXNTO) + add_definitions(-D_QNX_SOURCE) + endif() + # Link time optimisation if (BENCHMARK_ENABLE_LTO) add_cxx_compiler_flag(-flto) diff --git a/src/internal_macros.h b/src/internal_macros.h index 5dbf4fd2..6adf00d0 100644 --- a/src/internal_macros.h +++ b/src/internal_macros.h @@ -70,6 +70,8 @@ #define BENCHMARK_OS_FUCHSIA 1 #elif defined (__SVR4) && defined (__sun) #define BENCHMARK_OS_SOLARIS 1 +#elif defined(__QNX__) +#define BENCHMARK_OS_QNX 1 #endif #if defined(__ANDROID__) && defined(__GLIBCXX__) diff --git a/src/sysinfo.cc b/src/sysinfo.cc index c0c07e5e..55953a05 100644 --- a/src/sysinfo.cc +++ b/src/sysinfo.cc @@ -389,6 +389,8 @@ std::string GetSystemName() { #else // defined(BENCHMARK_OS_WINDOWS) #ifdef BENCHMARK_OS_MACOSX //Mac Doesnt have HOST_NAME_MAX defined #define HOST_NAME_MAX 64 +#elif defined(BENCHMARK_OS_QNX) +#define HOST_NAME_MAX 154 #endif char hostname[HOST_NAME_MAX]; int retVal = gethostname(hostname, HOST_NAME_MAX);