diff options
author | Brad King <brad.king@kitware.com> | 2015-03-09 20:32:43 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-03-09 20:35:08 (GMT) |
commit | 458c9e95dee1f6c5a6e5b537a544a8a7c8c56d10 (patch) | |
tree | 6709326d4500702a70852b8f78ad3965898fb0fa | |
parent | 99575c9ac114e6f5d388e1ee7b9a3f788d773c9e (diff) | |
download | CMake-458c9e95dee1f6c5a6e5b537a544a8a7c8c56d10.zip CMake-458c9e95dee1f6c5a6e5b537a544a8a7c8c56d10.tar.gz CMake-458c9e95dee1f6c5a6e5b537a544a8a7c8c56d10.tar.bz2 |
UseSWIG: Avoid if() auto-dereferene in quoted arguments
Protect against variables named "CSHARP", "PERL", "PYTHON", or "UNKNOWN"
when CMP0054 is not set to NEW.
Reported-by: Tuukka Pasanen <tuukka@iocaste.ilmi.fi>
-rw-r--r-- | Modules/UseSWIG.cmake | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake index bab1b21..7939b1f 100644 --- a/Modules/UseSWIG.cmake +++ b/Modules/UseSWIG.cmake @@ -76,16 +76,16 @@ macro(SWIG_MODULE_INITIALIZE name language) if (";${CMAKE_SWIG_FLAGS};" MATCHES ";-noproxy;") set (SWIG_MODULE_${name}_NOPROXY TRUE) endif () - if("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "UNKNOWN") + if("x${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "xUNKNOWN") message(FATAL_ERROR "SWIG Error: Language \"${language}\" not found") - elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PYTHON" AND NOT SWIG_MODULE_${name}_NOPROXY) + elseif("x${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "xPYTHON" AND NOT SWIG_MODULE_${name}_NOPROXY) # swig will produce a module.py containing an 'import _modulename' statement, # which implies having a corresponding _modulename.so (*NIX), _modulename.pyd (Win32), # unless the -noproxy flag is used set(SWIG_MODULE_${name}_REAL_NAME "_${name}") - elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PERL") + elseif("x${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "xPERL") set(SWIG_MODULE_${name}_EXTRA_FLAGS "-shadow") - elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "CSHARP") + elseif("x${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "xCSHARP") # This makes sure that the name used in the generated DllImport # matches the library name created by CMake set(SWIG_MODULE_${name}_EXTRA_FLAGS "-dllimport;${name}") |