summaryrefslogtreecommitdiff
path: root/Tests/RunCMake/VS10Project/CustomCommandParallel-check.cmake
blob: 4c8ad0007f544ebdae7dbcf8591b32dab42063f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
set(vcProjectFile "${RunCMake_TEST_BINARY_DIR}/foo.vcxproj")
if(NOT EXISTS "${vcProjectFile}")
  set(RunCMake_TEST_FAILED "Project file ${vcProjectFile} does not exist.")
  return()
endif()

set(found_CustomBuild_cmp0147_new 0)
set(found_CustomBuild_cmp0147_old 0)
set(found_CustomBuild_CMakeLists 0)
set(found_BuildInParallel_cmp0147_new 0)
set(found_BuildInParallel_cmp0147_old 0)
set(found_BuildInParallel_CMakeLists 0)
set(in_CustomBuild "")
file(STRINGS "${vcProjectFile}" lines)
foreach(line IN LISTS lines)
  if(line MATCHES [[<CustomBuild Include=".*\\cmp0147-old\.txt\.rule">]])
    set(found_CustomBuild_cmp0147_old 1)
    set(in_CustomBuild "cmp0147_old")
  endif()
  if(line MATCHES [[<CustomBuild Include=".*\\cmp0147-new\.txt\.rule">]])
    set(found_CustomBuild_cmp0147_new 1)
    set(in_CustomBuild "cmp0147_new")
  endif()
  if(line MATCHES [[<CustomBuild Include=".*\\CMakeLists\.txt">]])
    set(found_CustomBuild_CMakeLists 1)
    set(in_CustomBuild "CMakeLists")
  endif()
  if(line MATCHES [[</CustomBuild>]])
    set(in_CustomBuild "")
  endif()
  if(line MATCHES [[<BuildInParallel .*>true</BuildInParallel>]] AND in_CustomBuild)
    set(found_BuildInParallel_${in_CustomBuild} 1)
  endif()
endforeach()
if(NOT found_CustomBuild_cmp0147_new)
  string(APPEND RunCMake_TEST_FAILED "CustomBuild for cmp0147-new.txt.rule not found in\n  ${vcProjectFile}\n")
endif()
if(NOT found_CustomBuild_cmp0147_old)
  string(APPEND RunCMake_TEST_FAILED "CustomBuild for cmp0147-old.txt.rule not found in\n  ${vcProjectFile}\n")
endif()
if(NOT found_CustomBuild_CMakeLists)
  string(APPEND RunCMake_TEST_FAILED "CustomBuild for CMakeLists.txt not found in\n  ${vcProjectFile}\n")
endif()
if(NOT found_BuildInParallel_cmp0147_new)
  string(APPEND RunCMake_TEST_FAILED "BuildInParallel for cmp0147-new.txt.rule not found in\n  ${vcProjectFile}\n")
endif()
if(found_BuildInParallel_cmp0147_old)
  string(APPEND RunCMake_TEST_FAILED "BuildInParallel for cmp0147-old.txt.rule incorrectly found in\n  ${vcProjectFile}\n")
endif()
if(found_BuildInParallel_CMakeLists)
  string(APPEND RunCMake_TEST_FAILED "BuildInParallel for CMakeLists.txt incorrectly found in\n  ${vcProjectFile}\n")
endif()