summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/NinjaPrivateDeps/RunCMakeTest.cmake
blob: e821185f0d52ec10488056fb090ad7e8329b0800 (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
include(RunCMake)

function(compile_source test target)
  if (RunCMake_GENERATOR_IS_MULTI_CONFIG)
    set(config "Debug/")
  endif()
  set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${test}-build)
  set(RunCMake_TEST_NO_CLEAN 1)
  run_cmake_command(${test}-Build-${target}-Source ${CMAKE_COMMAND} --build .
    --target CMakeFiles/Hello_${target}.dir/${config}hello.cpp${CMAKE_C_OUTPUT_EXTENSION})
endfunction()

function(compile_target test target)
  set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/${test}-build)
  set(RunCMake_TEST_NO_CLEAN 1)
  run_cmake_command(${test}-Build-${target} ${CMAKE_COMMAND} --build .
    --target Hello_${target})
endfunction()

run_cmake(CMP0154-OLD)
compile_source(CMP0154-OLD PrivateFileSet)
compile_source(CMP0154-OLD EmptyFileSet)

run_cmake(CMP0154-NEW)
compile_source(CMP0154-NEW PrivateFileSet)
compile_target(CMP0154-NEW PrivateFileSet)
compile_source(CMP0154-NEW PublicFileSet)
compile_source(CMP0154-NEW NoFileSet)
compile_source(CMP0154-NEW EmptyFileSet)
compile_target(CMP0154-NEW EmptyFileSet)