summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/MSVCDefaultFlags/CMP0197-common.cmake
blob: ad6fed035213d0ebcfe8860856a1bbe1cbcaed88 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
enable_language(C)

# Make sure the compile command is not hidden.
string(REPLACE "${CMAKE_START_TEMP_FILE}" "" CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE}")
string(REPLACE "${CMAKE_END_TEMP_FILE}" "" CMAKE_C_LINK_EXECUTABLE "${CMAKE_C_LINK_EXECUTABLE}")

cmake_policy(GET CMP0197 cmp0197)
foreach(t EXE SHARED MODULE STATIC)
  if(cmp0197 STREQUAL "NEW")
    if("${CMAKE_${t}_LINKER_FLAGS}" MATCHES "([/-][Mm][Aa][Cc][Hh][Ii][Nn][Ee]:)")
      message(SEND_ERROR "CMAKE_${t}_LINKER_FLAGS has '${CMAKE_MATCH_1}' under NEW behavior")
    endif()
  else()
    if(NOT " ${CMAKE_${t}_LINKER_FLAGS} " MATCHES "[ ,]/machine:[A-Za-z0-9_]+ ")
      message(SEND_ERROR "CMAKE_${t}_LINKER_FLAGS does not have '/machine:' under OLD behavior")
    endif()
  endif()
endforeach()

add_executable(main main.c)