Hi,

I have this patch:

diff --git a/Modules/Platform/QNX.cmake b/Modules/Platform/QNX.cmake
index 8d45360..58ec112 100644
--- a/Modules/Platform/QNX.cmake
+++ b/Modules/Platform/QNX.cmake
@@ -1,12 +1,10 @@
 set(QNXNTO 1)
 
-# Revise
-# The QNX GCC does not seem to have -isystem so remove the flag.
-set(CMAKE_INCLUDE_SYSTEM_FLAG_C)
-set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
-# ... Nor does the driver support appropriate flags to create depfiles.
-set(CMAKE_DEPFILE_FLAGS_C)
-set(CMAKE_DEPFILE_FLAGS_CXX)
+set(CMAKE_INCLUDE_SYSTEM_FLAG_C "-Wp,-isystem,")
+set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX "-Wp,-isystem,")
+
+set(CMAKE_DEPFILE_FLAGS_C "-Wc,-MMD,<DEPFILE>,-MT,<OBJECT>,-MF,<DEPFILE>")
+set(CMAKE_DEPFILE_FLAGS_CXX "-Wc,-MMD,<DEPFILE>,-MT,<OBJECT>,-
MF,<DEPFILE>")
 
Following the docs here:

 http://www.qnx.com/developers/docs/6.3.2/neutrino/utilities/q/qcc.html

 -W phase,arg[,arg ...] 

qcc invokes cc1plus, not gcc, which is why the DEPFILE needs to be specified 
twice.

This patch assumes that the compiler specified is 'QCC' or 'qcc', but the 
common toolchain file in the wild is this one:

 https://trac.lcsr.jhu.edu/cisst/attachment/wiki/qnx/Toolchain-QNX-6.4.1.cmake

Instead of using the QCC or qcc compiler drivers, it uses the GCC drivers. 
My patch to the QNX.cmake file obviously makes that toolchain file break.

The solution would seem to be to create a new compiler id 'QCC' and put 
these flag values and CMAKE_${lang}_COMPILE_OPTIONS_TARGET into it.

Any thoughts on that?

Thanks,

Steve.


--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to