[Cmake-commits] [cmake-commits] king committed CMakeLists.txt 1.15 1.16

cmake-commits at cmake.org cmake-commits at cmake.org
Mon Oct 5 14:39:30 EDT 2009


Update of /cvsroot/CMake/CMake/Tests/Preprocess
In directory public:/mounts/ram/cvs-serv21474/Tests/Preprocess

Modified Files:
	CMakeLists.txt 
Log Message:
Fix Preprocess test for Intel on Windows

We need to leave out the '%' character from tests with the Intel
compiler.  Since '%' needs to be written '%%' in NMake when not using a
response file but just '%' when using a response file, we just skip the
character for now.  It works with MSVC in NMake only because that
compiler expects '%%' inside response files, which do get used.


Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CMake/CMake/Tests/Preprocess/CMakeLists.txt,v
retrieving revision 1.15
retrieving revision 1.16
diff -C 2 -d -r1.15 -r1.16
*** CMakeLists.txt	13 Jul 2009 20:58:24 -0000	1.15
--- CMakeLists.txt	5 Oct 2009 18:39:28 -0000	1.16
***************
*** 118,123 ****
  
  set(EXPR_OP1 "/")
! if(NOT MSVC OR PP_NMAKE)
!   # MSVC cl: %
    # When the cl compiler is invoked from the command line then % must
    # be written %% (to distinguish from %ENV% syntax).  However cl does
--- 118,124 ----
  
  set(EXPR_OP1 "/")
! if((NOT MSVC OR PP_NMAKE) AND
!    NOT "${CMAKE_C_COMPILER_ID}" MATCHES "^(Intel)$")
!   # MSVC cl, Intel icl: %
    # When the cl compiler is invoked from the command line then % must
    # be written %% (to distinguish from %ENV% syntax).  However cl does
***************
*** 129,135 ****
    # file.  Supporting other make tools would require CMake to generate
    # response files explicitly for each object file.
    set(STRING_EXTRA "${STRING_EXTRA}%")
    set(EXPR_OP1 "%")
! endif(NOT MSVC OR PP_NMAKE)
  
  # General: \"
--- 130,141 ----
    # file.  Supporting other make tools would require CMake to generate
    # response files explicitly for each object file.
+   #
+   # When the icl compiler is invoked from the command line then % must
+   # be written just '%'.  However nmake requires '%%' except when using
+   # response files.  Currently we have no way to affect escaping based
+   # on whether flags go in a response file, so we just have to skip it.
    set(STRING_EXTRA "${STRING_EXTRA}%")
    set(EXPR_OP1 "%")
! endif()
  
  # General: \"



More information about the Cmake-commits mailing list