File tree Expand file tree Collapse file tree 8 files changed +36
-2
lines changed Expand file tree Collapse file tree 8 files changed +36
-2
lines changed Original file line number Diff line number Diff line change @@ -39,6 +39,8 @@ add_custom_command(OUTPUT "${version_inc}"
39
39
"-DHEADER_FILE=${version_inc} "
40
40
"-DLLVM_VC_REPOSITORY=${llvm_vc_repository} "
41
41
"-DLLVM_VC_REVISION=${llvm_vc_revision} "
42
+ "-DLLVM_FORCE_VC_REVISION=${LLVM_FORCE_VC_REVISION} "
43
+ "-DLLVM_FORCE_VC_REPOSITORY=${LLVM_FORCE_VC_REPOSITORY} "
42
44
-P "${generate_vcs_version_script} " )
43
45
44
46
# Mark the generated header as being generated.
Original file line number Diff line number Diff line change @@ -12,14 +12,16 @@ endif()
12
12
if (flang_vc AND LLVM_APPEND_VC_REV )
13
13
set (flang_source_dir ${FLANG_SOURCE_DIR} )
14
14
endif ()
15
-
15
+
16
16
# Create custom target to generate the VC revision include.
17
17
add_custom_command (OUTPUT "${version_inc} "
18
18
DEPENDS "${llvm_vc} " "${flang_vc} " "${generate_vcs_version_script} "
19
19
COMMAND ${CMAKE_COMMAND} "-DNAMES=\" LLVM;FLANG\" "
20
20
"-DLLVM_SOURCE_DIR=${llvm_source_dir} "
21
21
"-DFLANG_SOURCE_DIR=${flang_source_dir} "
22
22
"-DHEADER_FILE=${version_inc} "
23
+ "-DLLVM_FORCE_VC_REVISION=${LLVM_FORCE_VC_REVISION} "
24
+ "-DLLVM_FORCE_VC_REPOSITORY=${LLVM_FORCE_VC_REPOSITORY} "
23
25
-P "${generate_vcs_version_script} " )
24
26
25
27
# Mark the generated header as being generated.
Original file line number Diff line number Diff line change @@ -13,6 +13,8 @@ add_custom_command(OUTPUT "${version_inc}"
13
13
COMMAND ${CMAKE_COMMAND} "-DNAMES=LLD"
14
14
"-DLLD_SOURCE_DIR=${lld_source_dir} "
15
15
"-DHEADER_FILE=${version_inc} "
16
+ "-DLLVM_FORCE_VC_REVISION=${LLVM_FORCE_VC_REVISION} "
17
+ "-DLLVM_FORCE_VC_REPOSITORY=${LLVM_FORCE_VC_REPOSITORY} "
16
18
-P "${generate_vcs_version_script} " )
17
19
18
20
# Mark the generated header as being generated.
Original file line number Diff line number Diff line change @@ -17,6 +17,8 @@ add_custom_command(OUTPUT "${vcs_version_inc}"
17
17
COMMAND ${CMAKE_COMMAND} "-DNAMES=LLDB"
18
18
"-DLLDB_SOURCE_DIR=${lldb_source_dir} "
19
19
"-DHEADER_FILE=${vcs_version_inc} "
20
+ "-DLLVM_FORCE_VC_REVISION=${LLVM_FORCE_VC_REVISION} "
21
+ "-DLLVM_FORCE_VC_REPOSITORY=${LLVM_FORCE_VC_REPOSITORY} "
20
22
-P "${generate_vcs_version_script} " )
21
23
22
24
set_source_files_properties ("${vcs_version_inc} "
Original file line number Diff line number Diff line change @@ -325,6 +325,12 @@ include(VersionFromVCS)
325
325
option (LLVM_APPEND_VC_REV
326
326
"Embed the version control system revision in LLVM" ON )
327
327
328
+ set (LLVM_FORCE_VC_REVISION
329
+ "" CACHE STRING "Force custom VC revision for LLVM_APPEND_VC_REV" )
330
+
331
+ set (LLVM_FORCE_VC_REPOSITORY
332
+ "" CACHE STRING "Force custom VC repository for LLVM_APPEND_VC_REV" )
333
+
328
334
option (LLVM_TOOL_LLVM_DRIVER_BUILD "Enables building the llvm multicall tool" OFF )
329
335
330
336
set (PACKAGE_NAME LLVM )
Original file line number Diff line number Diff line change @@ -36,7 +36,14 @@ function(append_info name revision repository)
36
36
endfunction ()
37
37
38
38
foreach (name IN LISTS NAMES )
39
- if (${name} _VC_REPOSITORY AND ${name} _VC_REVISION )
39
+ if (LLVM_FORCE_VC_REVISION AND LLVM_FORCE_VC_REPOSITORY )
40
+ set (revision ${LLVM_FORCE_VC_REVISION} )
41
+ set (repository ${LLVM_FORCE_VC_REPOSITORY} )
42
+ elseif (LLVM_FORCE_VC_REVISION )
43
+ set (revision ${LLVM_FORCE_VC_REVISION} )
44
+ elseif (LLVM_FORCE_VC_REPOSITORY )
45
+ set (repository ${LLVM_FORCE_VC_REPOSITORY} )
46
+ elseif (${name} _VC_REPOSITORY AND ${name} _VC_REVISION )
40
47
set (revision ${${name}_VC_REVISION} )
41
48
set (repository ${${name}_VC_REPOSITORY} )
42
49
elseif (DEFINED ${name} _SOURCE_DIR )
Original file line number Diff line number Diff line change @@ -334,6 +334,15 @@ enabled sub-projects. Nearly all of these variable names begin with
334
334
need revision info can disable this option to avoid re-linking most binaries
335
335
after a branch switch. Defaults to ON.
336
336
337
+ **LLVM_FORCE_VC_REVISION **:STRING
338
+ Force a specific Git revision id rather than calling to git to determine it.
339
+ This is useful in environments where git is not available or non-functional
340
+ but the VC revision is available through other means.
341
+
342
+ **LLVM_FORCE_VC_REPOSITORY **:STRING
343
+ Set the git repository to include in version info rather than calling git to
344
+ determine it.
345
+
337
346
**LLVM_BUILD_32_BITS **:BOOL
338
347
Build 32-bit executables and libraries on 64-bit systems. This option is
339
348
available only on some 64-bit Unix systems. Defaults to OFF.
Original file line number Diff line number Diff line change @@ -28,13 +28,17 @@ if (fake_version_inc)
28
28
COMMAND ${CMAKE_COMMAND} "-DNAMES=LLVM"
29
29
"-DLLVM_SOURCE_DIR=${llvm_source_dir} "
30
30
"-DHEADER_FILE=${version_inc} "
31
+ "-DLLVM_FORCE_VC_REVISION=${LLVM_FORCE_VC_REVISION} "
32
+ "-DLLVM_FORCE_VC_REPOSITORY=${LLVM_FORCE_VC_REPOSITORY} "
31
33
-P "${generate_vcs_version_script} " )
32
34
else ()
33
35
add_custom_command (OUTPUT "${version_inc} "
34
36
DEPENDS "${llvm_vc} " "${generate_vcs_version_script} "
35
37
COMMAND ${CMAKE_COMMAND} "-DNAMES=LLVM"
36
38
"-DLLVM_SOURCE_DIR=${llvm_source_dir} "
37
39
"-DHEADER_FILE=${version_inc} "
40
+ "-DLLVM_FORCE_VC_REVISION=${LLVM_FORCE_VC_REVISION} "
41
+ "-DLLVM_FORCE_VC_REPOSITORY=${LLVM_FORCE_VC_REPOSITORY} "
38
42
-P "${generate_vcs_version_script} " )
39
43
endif ()
40
44
You can’t perform that action at this time.
0 commit comments