summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/UnityBuild/unitybuild_skip.cmake
blob: 74524ad2746ed94f617cb112c31d5c257b9fc40c (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
project(unitybuild_skip C)

set(srcs "")
foreach(s RANGE 1 8)
  set(src "${CMAKE_CURRENT_BINARY_DIR}/s${s}.c")
  file(WRITE "${src}" "int s${s}(void) { return 0; }\n")
  list(APPEND srcs "${src}")
endforeach()

add_library(tgt SHARED ${srcs})

set_target_properties(tgt PROPERTIES UNITY_BUILD ON)

set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/s1.c
  PROPERTIES GENERATED ON)

set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/s2.c
  PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)

set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/s3.c
  PROPERTIES COMPILE_OPTIONS "val")

set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/s4.c
  PROPERTIES COMPILE_DEFINITIONS "val")

set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/s5.c
  PROPERTIES COMPILE_FLAGS "val")

set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/s6.c
  PROPERTIES INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}")