diff options
author | Alexander Neundorf <neundorf@kde.org> | 2009-06-28 09:59:42 (GMT) |
---|---|---|
committer | Alexander Neundorf <neundorf@kde.org> | 2009-06-28 09:59:42 (GMT) |
commit | 93169dbd564ec3225c2c94d00627aaff8192b991 (patch) | |
tree | 675b0e41a3b802732b7ddf5dcc88f8b33bc125b8 /Modules | |
parent | 45652bc20b8a54056a5f68d2e239fb553d7c4500 (diff) | |
download | CMake-93169dbd564ec3225c2c94d00627aaff8192b991.zip CMake-93169dbd564ec3225c2c94d00627aaff8192b991.tar.gz CMake-93169dbd564ec3225c2c94d00627aaff8192b991.tar.bz2 |
BUG: recognize system include paths also when the languages are set to
something different from "C", by resetting them to "C" (#9122)
Alex
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/CMakeFindEclipseCDT4.cmake | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/Modules/CMakeFindEclipseCDT4.cmake b/Modules/CMakeFindEclipseCDT4.cmake index db466fc..e7444bc 100644 --- a/Modules/CMakeFindEclipseCDT4.cmake +++ b/Modules/CMakeFindEclipseCDT4.cmake @@ -25,6 +25,21 @@ MACRO(_DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang _result) ENDIF( "${_gccOutput}" MATCHES "> search starts here[^\n]+\n *(.+) *\n *End of (search) list" ) ENDMACRO(_DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang) +# Save the current LC_ALL, LC_MESSAGES, and LANG environment variables and set them +# to "C" that way GCC's "search starts here" text is in English and we can grok it. +SET(_orig_lc_all $ENV{LC_ALL}) +SET(_orig_lc_messages $ENV{LC_MESSAGES}) +SET(_orig_lang $ENV{LANG}) +IF(_orig_lc_all) + SET(ENV{LC_ALL} C) +ENDIF(_orig_lc_all) +IF(_orig_lc_messages) + SET(ENV{LC_MESSAGES} C) +ENDIF(_orig_lc_messages) +IF(_orig_lang) + SET(ENV{LANG} C) +ENDIF(_orig_lang) + # Now check for C IF ("${CMAKE_C_COMPILER_ID}" MATCHES GNU AND NOT CMAKE_ECLIPSE_C_SYSTEM_INCLUDE_DIRS) _DETERMINE_GCC_SYSTEM_INCLUDE_DIRS(c _dirs) @@ -37,3 +52,13 @@ IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES GNU AND NOT CMAKE_ECLIPSE_CXX_SYSTEM_IN SET(CMAKE_ECLIPSE_CXX_SYSTEM_INCLUDE_DIRS "${_dirs}" CACHE INTERNAL "CXX compiler system include directories") ENDIF ("${CMAKE_CXX_COMPILER_ID}" MATCHES GNU AND NOT CMAKE_ECLIPSE_CXX_SYSTEM_INCLUDE_DIRS) +# Restore original LC_ALL, LC_MESSAGES, and LANG +IF(_orig_lc_all) + SET(ENV{LC_ALL} ${_orig_lc_all}) +ENDIF(_orig_lc_all) +IF(_orig_lc_messages) + SET(ENV{LC_MESSAGES} ${_orig_lc_messages}) +ENDIF(_orig_lc_messages) +IF(_orig_lang) + SET(ENV{LANG} ${_orig_lang}) +ENDIF(_orig_lang) |