xref: /llvm-project/lldb/source/Version/CMakeLists.txt (revision 247b7d068497de085b7fd66c6531034afa9709f0)
1if(LLDB_VERSION_STRING)
2  set(LLDB_FULL_VERSION_STRING ${LLDB_VERSION_STRING})
3endif()
4
5# Configure the VCSVersion.inc file.
6set(vcs_version_inc "${CMAKE_CURRENT_BINARY_DIR}/VCSVersion.inc")
7set(generate_vcs_version_script "${LLVM_CMAKE_DIR}/GenerateVersionFromVCS.cmake")
8
9find_first_existing_vc_file("${LLDB_SOURCE_DIR}" lldb_vc)
10
11if(lldb_vc AND LLVM_APPEND_VC_REV)
12  set(lldb_source_dir ${LLDB_SOURCE_DIR})
13endif()
14
15add_custom_command(OUTPUT "${vcs_version_inc}"
16  DEPENDS "${lldb_vc}" "${generate_vcs_version_script}"
17  COMMAND ${CMAKE_COMMAND} "-DNAMES=LLDB"
18                           "-DLLDB_SOURCE_DIR=${lldb_source_dir}"
19                           "-DHEADER_FILE=${vcs_version_inc}"
20                           "-DLLVM_FORCE_VC_REVISION=${LLVM_FORCE_VC_REVISION}"
21                           "-DLLVM_FORCE_VC_REPOSITORY=${LLVM_FORCE_VC_REPOSITORY}"
22                           -P "${generate_vcs_version_script}")
23
24set_source_files_properties("${vcs_version_inc}"
25  PROPERTIES GENERATED TRUE
26             HEADER_FILE_ONLY TRUE)
27
28# Configure the Version.inc file.
29set(version_inc "${LLDB_BINARY_DIR}/include/lldb/Version/Version.inc")
30
31configure_file(
32  ${LLDB_SOURCE_DIR}/include/lldb/Version/Version.inc.in
33  ${version_inc})
34
35set_source_files_properties("${version_inc}"
36  PROPERTIES GENERATED TRUE
37             HEADER_FILE_ONLY TRUE)
38
39include_directories(${CMAKE_CURRENT_BINARY_DIR})
40
41add_lldb_library(lldbVersion NO_PLUGIN_DEPENDENCIES
42  Version.cpp
43  ${vcs_version_inc}
44  ${version_inc})
45