From 9c0acdbc455924204f90c355011ae25d8ca36c59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Wed, 30 Aug 2017 15:01:49 +0200 Subject: [PATCH] Fix -isystem flag handling The system includes must be passed to GCC compiler as 2 flags: "-isystem" "/example/include", not as a single one "-isystem /example/include". Otherwise the path is ignored. Fixes https://github.com/sakra/cotire/issues/133. --- CMake/cotire.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMake/cotire.cmake b/CMake/cotire.cmake index 62cd23d..c34a97e 100644 --- a/CMake/cotire.cmake +++ b/CMake/cotire.cmake @@ -922,7 +922,9 @@ function (cotire_add_includes_to_cmd _cmdVar _language _includesVar _systemInclu list (FIND ${_systemIncludesVar} "${_include}" _index) endif() if (_index GREATER -1) - list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_SYSTEM_FLAG_${_language}}${CMAKE_INCLUDE_FLAG_SEP_${_language}}${_include}") + # Pass -isystem as a separated flag, not as "-isystem ". + string(STRIP "${CMAKE_INCLUDE_SYSTEM_FLAG_${_language}}" _include_system_flag) + list (APPEND ${_cmdVar} "${_include_system_flag}" "${_include}") else() list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_FLAG_${_language}}${CMAKE_INCLUDE_FLAG_SEP_${_language}}${_include}") endif()