From a5118909ad4bc0e5fe63e86ed02a4fb08abb5ec6 Mon Sep 17 00:00:00 2001 From: Sascha Kratky Date: Sat, 17 Mar 2018 13:46:53 +0100 Subject: [PATCH] use native paths for output under Windows --- CMake/cotire.cmake | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/CMake/cotire.cmake b/CMake/cotire.cmake index d0947f2..569af42 100644 --- a/CMake/cotire.cmake +++ b/CMake/cotire.cmake @@ -889,7 +889,7 @@ function (cotire_init_compile_cmd _cmdVar _language _compilerLauncher _compilerE if (NOT _compilerArg1) set (_compilerArg1 ${CMAKE_${_language}_COMPILER_ARG1}) endif() - if (WIN32 AND CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel") + if (WIN32) file (TO_NATIVE_PATH "${_compilerExe}" _compilerExe) endif() string (STRIP "${_compilerArg1}" _compilerArg1) @@ -1249,7 +1249,7 @@ function (cotire_scan_includes _includesVar) return() endif() # add source files to be scanned - if (WIN32 AND "${_option_COMPILER_ID}" MATCHES "MSVC|Intel") + if (WIN32) foreach (_sourceFile ${_existingSourceFiles}) file (TO_NATIVE_PATH "${_sourceFile}" _sourceFileNative) list (APPEND _cmd "${_sourceFileNative}") @@ -1260,7 +1260,7 @@ function (cotire_scan_includes _includesVar) if (COTIRE_VERBOSE) message (STATUS "execute_process: ${_cmd}") endif() - if (_option_COMPILER_ID MATCHES "MSVC") + if (MSVC_IDE OR _option_COMPILER_ID MATCHES "MSVC") # cl.exe messes with the output streams unless the environment variable VS_UNICODE_OUTPUT is cleared unset (ENV{VS_UNICODE_OUTPUT}) endif() @@ -1496,7 +1496,12 @@ function (cotire_generate_prefix_header _prefixFile) if (_unparsedLines) if (COTIRE_VERBOSE OR _scanResult OR NOT _selectedHeaders) list (LENGTH _unparsedLines _skippedLineCount) - message (STATUS "${_skippedLineCount} line(s) skipped, see ${_unparsedLinesFile}") + if (WIN32) + file (TO_NATIVE_PATH "${_unparsedLinesFile}" _unparsedLinesLogPath) + else() + file (RELATIVE_PATH _unparsedLinesLogPath "${CMAKE_BINARY_DIR}" "${_unparsedLinesFile}") + endif() + message (STATUS "${_skippedLineCount} line(s) skipped, see ${_unparsedLinesLogPath}") endif() string (REPLACE ";" "\n" _unparsedLines "${_unparsedLines}") endif() @@ -1875,7 +1880,7 @@ function (cotire_precompile_prefix_header _prefixFile _pchFile _hostFile) if (COTIRE_VERBOSE) message (STATUS "execute_process: ${_cmd}") endif() - if (_option_COMPILER_ID MATCHES "MSVC") + if (MSVC_IDE OR _option_COMPILER_ID MATCHES "MSVC") # cl.exe messes with the output streams unless the environment variable VS_UNICODE_OUTPUT is cleared unset (ENV{VS_UNICODE_OUTPUT}) elseif (_option_COMPILER_ID MATCHES "GNU|Clang")