diff options
author | Cristian Adam <cristian.adam@gmail.com> | 2018-12-03 22:18:43 (GMT) |
---|---|---|
committer | Cristian Adam <cristian.adam@gmail.com> | 2018-12-03 22:18:43 (GMT) |
commit | 243b7c40d44df2c8b1cb0dc55e2a11b15d9e6f5d (patch) | |
tree | 7a4d048fdf004b8f9aed2d5a4422a63ed28ff418 /Modules/CMakeDetermineCCompiler.cmake | |
parent | 985a57a1c1ca6989524805bb3e91a222906f88ca (diff) | |
download | CMake-243b7c40d44df2c8b1cb0dc55e2a11b15d9e6f5d.zip CMake-243b7c40d44df2c8b1cb0dc55e2a11b15d9e6f5d.tar.gz CMake-243b7c40d44df2c8b1cb0dc55e2a11b15d9e6f5d.tar.bz2 |
QNX: Compiler and feature detection fixes
Tested compiler detection with the QNX 7.0 list of compiler targets:
* gcc_ntoaarch64le
* gcc_ntoaarch64le_cxx
* gcc_ntoarmv7le
* gcc_ntoarmv7le_cxx
* gcc_ntox86_cxx
* gcc_ntoaarch64le_gpp
* gcc_ntox86_64_gpp
* gcc_ntoarmv7le_gpp
* gcc_ntox86_64_cxx
* gcc_ntox86
* gcc_ntox86_gpp
* gcc_ntox86_64
This commit fixes some of the problems described in:
https://cristianadam.eu/20181202/a-better-qnx-cmake-toolchain-file/
Diffstat (limited to 'Modules/CMakeDetermineCCompiler.cmake')
-rw-r--r-- | Modules/CMakeDetermineCCompiler.cmake | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Modules/CMakeDetermineCCompiler.cmake b/Modules/CMakeDetermineCCompiler.cmake index 17706ea..1a0d8a6 100644 --- a/Modules/CMakeDetermineCCompiler.cmake +++ b/Modules/CMakeDetermineCCompiler.cmake @@ -136,7 +136,7 @@ endif () # "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-" if (CMAKE_CROSSCOMPILING AND NOT _CMAKE_TOOLCHAIN_PREFIX) - if(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_C_COMPILER_ID MATCHES "Clang") + if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang|QCC") get_filename_component(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME) if (COMPILER_BASENAME MATCHES "^(.+-)(clang|g?cc)(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$") set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1}) @@ -145,7 +145,7 @@ if (CMAKE_CROSSCOMPILING AND NOT _CMAKE_TOOLCHAIN_PREFIX) set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_C_COMPILER_TARGET}-) endif() elseif(COMPILER_BASENAME MATCHES "qcc(\\.exe)?$") - if(CMAKE_C_COMPILER_TARGET MATCHES "gcc_nto([^_le]+)(le)?") + if(CMAKE_C_COMPILER_TARGET MATCHES "gcc_nto([a-z0-9]+_[0-9]+|[^_le]+)(le)?") set(_CMAKE_TOOLCHAIN_PREFIX nto${CMAKE_MATCH_1}-) endif() endif () |