@@ -11,59 +11,32 @@ else()
11
11
set (UUID_INCLUDE "${UUID_INCLUDE_DIRS} " )
12
12
endif ()
13
13
14
- # Figure out if we can track VC revisions.
15
- # FIXME: Copied from Clang.
16
- function (find_first_existing_file out_var)
17
- foreach (file ${ARGN} )
18
- if (EXISTS "${file} " )
19
- set (${out_var} "${file} " PARENT_SCOPE)
20
- return ()
21
- endif ()
22
- endforeach ()
23
- endfunction ()
14
+ function (generate_revision_inc revision_inc_var name dir)
15
+ find_first_existing_vc_file("${dir} " ${name} _vc)
24
16
25
- macro (find_first_existing_vc_file out_var path )
26
- find_first_existing_file(${out_var}
27
- "${path} /.git/logs/HEAD" # Git
28
- "${path} /.svn/wc.db" # SVN 1.7
29
- "${path} /.svn/entries" # SVN 1.6
30
- )
31
- endmacro ()
17
+ # Create custom target to generate the VC revision include.
18
+ set (version_inc "${CMAKE_CURRENT_BINARY_DIR} /${name} Revision.inc" )
32
19
33
- set (generate_vcs_version_script "${LLVM_MAIN_SRC_DIR} /cmake/modules/GenerateVersionFromVCS.cmake" )
20
+ set (generate_vcs_version_script "${LLVM_MAIN_SRC_DIR} /cmake/modules/GenerateVersionFromVCS.cmake" )
34
21
35
- function (generate_revision_inc revision_inc_var name dir)
36
- find_first_existing_vc_file(dep_file "${dir} " )
37
- # Create custom target to generate the VC revision include.
38
- set (revision_inc "${CMAKE_CURRENT_BINARY_DIR} /${name} Revision.inc" )
39
- string (TOUPPER ${name} upper_name)
40
- if (DEFINED dep_file)
41
- add_custom_command (OUTPUT "${revision_inc} "
42
- DEPENDS "${dep_file} " "${generate_vcs_version_script} "
43
- COMMAND
44
- ${CMAKE_COMMAND} "-DNAMES=${upper_name} "
45
- "-D${upper_name} _SOURCE_DIR=${dir} "
46
- "-DHEADER_FILE=${revision_inc} "
47
- -P "${generate_vcs_version_script} " )
48
- else ()
49
- # Generate an empty Revision.inc file if we are not using git or SVN.
50
- file (WRITE "${revision_inc} " "" )
51
- endif ()
22
+ add_custom_command (OUTPUT "${version_inc} "
23
+ DEPENDS "${${name} _vc}" "${generate_vcs_version_script} "
24
+ COMMAND ${CMAKE_COMMAND} "-DNAMES=$<UPPER_CASE:${name} >"
25
+ "-D$<UPPER_CASE:${name} >_SOURCE_DIR=${dir} "
26
+ "-DHEADER_FILE=${version_inc} "
27
+ -P "${generate_vcs_version_script} " )
52
28
53
29
# Mark the generated header as being generated.
54
- set_source_files_properties ("${revision_inc } "
30
+ set_source_files_properties ("${version_inc } "
55
31
PROPERTIES GENERATED TRUE
56
32
HEADER_FILE_ONLY TRUE )
57
- set (${revision_inc_var} ${revision_inc } PARENT_SCOPE)
33
+ set (${revision_inc_var} ${version_inc } PARENT_SCOPE)
58
34
endfunction ()
59
35
60
36
generate_revision_inc(llvm_revision_inc LLVM "${LLVM_MAIN_SRC_DIR} " )
61
37
generate_revision_inc(clang_revision_inc Clang "${CLANG_MAIN_SRC_DIR} " )
62
38
generate_revision_inc(swift_revision_inc Swift "${SWIFT_SOURCE_DIR} " )
63
39
64
- set (version_inc_files
65
- ${llvm_revision_inc} ${clang_revision_inc} ${swift_revision_inc} )
66
-
67
40
add_swift_host_library(swiftBasic STATIC
68
41
AnyValue.cpp
69
42
Cache .cpp
@@ -95,7 +68,10 @@ add_swift_host_library(swiftBasic STATIC
95
68
Unicode.cpp
96
69
UUID.cpp
97
70
Version .cpp
98
- ${version_inc_files}
71
+
72
+ ${llvm_revision_inc}
73
+ ${clang_revision_inc}
74
+ ${swift_revision_inc}
99
75
100
76
# Platform-specific TaskQueue implementations
101
77
Unix /TaskQueue.inc
0 commit comments