forked from OSchip/llvm-project
[CMAKE] Move version control macros to AddLLVM.cmake so they can be reused by clang, etc.
Summary: Move version control macros, find_first_existing_file and find_first_existing_vc_file to AddLLVM.cmake so they can be reused by sub projects like clang. Differential Revision: https://reviews.llvm.org/D36971 llvm-svn: 312419
This commit is contained in:
parent
275bb5a14e
commit
76d02cebab
|
@ -1499,3 +1499,36 @@ function(setup_dependency_debugging name)
|
|||
set(sandbox_command "sandbox-exec -p '(version 1) (allow default) ${deny_attributes_gen} ${deny_intrinsics_gen}'")
|
||||
set_target_properties(${name} PROPERTIES RULE_LAUNCH_COMPILE ${sandbox_command})
|
||||
endfunction()
|
||||
|
||||
# Figure out if we can track VC revisions.
|
||||
function(find_first_existing_file out_var)
|
||||
foreach(file ${ARGN})
|
||||
if(EXISTS "${file}")
|
||||
set(${out_var} "${file}" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
macro(find_first_existing_vc_file out_var path)
|
||||
find_program(git_executable NAMES git git.exe git.cmd)
|
||||
# Run from a subdirectory to force git to print an absolute path.
|
||||
execute_process(COMMAND ${git_executable} rev-parse --git-dir
|
||||
WORKING_DIRECTORY ${path}/cmake
|
||||
RESULT_VARIABLE git_result
|
||||
OUTPUT_VARIABLE git_dir
|
||||
ERROR_QUIET)
|
||||
if(git_result EQUAL 0)
|
||||
string(STRIP "${git_dir}" git_dir)
|
||||
set(${out_var} "${git_dir}/logs/HEAD")
|
||||
# some branchless cases (e.g. 'repo') may not yet have .git/logs/HEAD
|
||||
if (NOT EXISTS "${git_dir}/logs/HEAD")
|
||||
file(WRITE "${git_dir}/logs/HEAD" "")
|
||||
endif()
|
||||
else()
|
||||
find_first_existing_file(${out_var}
|
||||
"${path}/.svn/wc.db" # SVN 1.7
|
||||
"${path}/.svn/entries" # SVN 1.6
|
||||
)
|
||||
endif()
|
||||
endmacro()
|
||||
|
|
|
@ -1,36 +1,3 @@
|
|||
# Figure out if we can track VC revisions.
|
||||
function(find_first_existing_file out_var)
|
||||
foreach(file ${ARGN})
|
||||
if(EXISTS "${file}")
|
||||
set(${out_var} "${file}" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
macro(find_first_existing_vc_file out_var path)
|
||||
find_program(git_executable NAMES git git.exe git.cmd)
|
||||
# Run from a subdirectory to force git to print an absolute path.
|
||||
execute_process(COMMAND ${git_executable} rev-parse --git-dir
|
||||
WORKING_DIRECTORY ${path}/cmake
|
||||
RESULT_VARIABLE git_result
|
||||
OUTPUT_VARIABLE git_dir
|
||||
ERROR_QUIET)
|
||||
if(git_result EQUAL 0)
|
||||
string(STRIP "${git_dir}" git_dir)
|
||||
set(${out_var} "${git_dir}/logs/HEAD")
|
||||
# some branchless cases (e.g. 'repo') may not yet have .git/logs/HEAD
|
||||
if (NOT EXISTS "${git_dir}/logs/HEAD")
|
||||
file(WRITE "${git_dir}/logs/HEAD" "")
|
||||
endif()
|
||||
else()
|
||||
find_first_existing_file(${out_var}
|
||||
"${path}/.svn/wc.db" # SVN 1.7
|
||||
"${path}/.svn/entries" # SVN 1.6
|
||||
)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
find_first_existing_vc_file(llvm_vc "${LLVM_MAIN_SRC_DIR}")
|
||||
|
||||
# The VC revision include that we want to generate.
|
||||
|
|
Loading…
Reference in New Issue