diff options
| author | Martin Hořeňovský | 2025-09-22 15:12:28 +0200 |
|---|---|---|
| committer | Martin Hořeňovský | 2025-09-22 15:36:46 +0200 |
| commit | 9048c24fa7c6b568d52f76cbf06bbd62b7f83556 (patch) | |
| tree | 5257d7727a2b615277d58e5a4ccebb71e80a2019 /src | |
| parent | 8ed8c431c601c7b303dbfe7eb412a63f1641b812 (diff) | |
| download | catch3-9048c24fa7c6b568d52f76cbf06bbd62b7f83556.tar.gz | |
Improve QNX support
This cherry-picks the source changes from PR made by @pkleymonov-qnx,
without including the build path changes that are irrelevant unless
we can add a QNX target to our CI.
Close #2953
Diffstat (limited to 'src')
| -rw-r--r-- | src/catch2/internal/catch_console_colour.cpp | 6 | ||||
| -rw-r--r-- | src/catch2/internal/catch_debugger.cpp | 2 | ||||
| -rw-r--r-- | src/catch2/internal/catch_debugger.hpp | 2 | ||||
| -rw-r--r-- | src/catch2/internal/catch_platform.hpp | 3 |
4 files changed, 10 insertions, 3 deletions
diff --git a/src/catch2/internal/catch_console_colour.cpp b/src/catch2/internal/catch_console_colour.cpp index 514fc6b6..948c4cb6 100644 --- a/src/catch2/internal/catch_console_colour.cpp +++ b/src/catch2/internal/catch_console_colour.cpp @@ -161,7 +161,11 @@ namespace { #endif // Windows/ ANSI/ None -#if defined( CATCH_PLATFORM_LINUX ) || defined( CATCH_PLATFORM_MAC ) || defined( __GLIBC__ ) || defined(__FreeBSD__) +#if defined( CATCH_PLATFORM_LINUX ) \ + || defined( CATCH_PLATFORM_MAC ) \ + || defined( __GLIBC__ ) \ + || defined( __FreeBSD__ ) \ + || defined( CATCH_PLATFORM_QNX ) # define CATCH_INTERNAL_HAS_ISATTY # include <unistd.h> #endif diff --git a/src/catch2/internal/catch_debugger.cpp b/src/catch2/internal/catch_debugger.cpp index bd3be172..da22c7fd 100644 --- a/src/catch2/internal/catch_debugger.cpp +++ b/src/catch2/internal/catch_debugger.cpp @@ -69,7 +69,7 @@ #endif } // namespace Catch -#elif defined(CATCH_PLATFORM_LINUX) +#elif defined(CATCH_PLATFORM_LINUX) || defined(CATCH_PLATFORM_QNX) #include <fstream> #include <string> diff --git a/src/catch2/internal/catch_debugger.hpp b/src/catch2/internal/catch_debugger.hpp index 515ec763..997f4406 100644 --- a/src/catch2/internal/catch_debugger.hpp +++ b/src/catch2/internal/catch_debugger.hpp @@ -49,7 +49,7 @@ namespace Catch { #define CATCH_TRAP() __asm__(".inst 0xde01") #endif -#elif defined(CATCH_PLATFORM_LINUX) +#elif defined(CATCH_PLATFORM_LINUX) || defined(CATCH_PLATFORM_QNX) // If we can use inline assembler, do it because this allows us to break // directly at the location of the failing check instead of breaking inside // raise() called from it, i.e. one stack frame below. diff --git a/src/catch2/internal/catch_platform.hpp b/src/catch2/internal/catch_platform.hpp index b653a58c..ba4717f0 100644 --- a/src/catch2/internal/catch_platform.hpp +++ b/src/catch2/internal/catch_platform.hpp @@ -25,6 +25,9 @@ #elif defined(linux) || defined(__linux) || defined(__linux__) # define CATCH_PLATFORM_LINUX +#elif defined(__QNX__) +# define CATCH_PLATFORM_QNX + #elif defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER) || defined(__MINGW32__) # define CATCH_PLATFORM_WINDOWS |