summaryrefslogtreecommitdiff
path: root/Tests/RunCMake/add_subdirectory/ExcludeFromAll/check.cmake
blob: 14ec4827ff21eae0757bf5d649bde9a4a0bc25fd (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
# Use globbing to check if exes / libs were built because determining
# exactly where these files will live inside a CMake -P script is
# pretty challenging.

file(READ "${RunCMake_TEST_BINARY_DIR}/main.txt" main_exe)
file(READ "${RunCMake_TEST_BINARY_DIR}/bar.txt" bar_lib)
file(READ "${RunCMake_TEST_BINARY_DIR}/baz.txt" baz_lib)

set(found_main FALSE)
file(GLOB_RECURSE files
  LIST_DIRECTORIES FALSE
  RELATIVE "${RunCMake_TEST_BINARY_DIR}"
  "${RunCMake_TEST_BINARY_DIR}/*")
foreach (file IN LISTS files)
  if (file MATCHES "${main_exe}")
    set(found_main TRUE)
  endif()
endforeach()
if (NOT found_main)
  set(RunCMake_TEST_FAILED "'main' missing from ${RunCMake_TEST_BINARY_DIR}")
endif()

set(found_bar FALSE)
set(found_baz FALSE)
file(GLOB_RECURSE files
  LIST_DIRECTORIES FALSE
  RELATIVE "${RunCMake_TEST_BINARY_DIR}/ExcludeFromAll"
  "${RunCMake_TEST_BINARY_DIR}/ExcludeFromAll/*")
foreach (file IN LISTS files)
  if (file MATCHES "${bar_lib}")
    set(found_bar TRUE)
  endif()
  if (file MATCHES "${baz_lib}")
    set(found_baz TRUE)
  endif()
endforeach()
if (found_bar)
  set(RunCMake_TEST_FAILED
    "'bar' was not excluded from ${RunCMake_TEST_BINARY_DIR}/ExcludeFromAll")
endif()
if (NOT found_baz)
  set(RunCMake_TEST_FAILED
    "'baz' missing from ${RunCMake_TEST_BINARY_DIR}/ExcludeFromAll")
endif()