Skip to content

Commit 7f0696f

Browse files
committed
Added CBMC_VERSION defines to CMake configuration
1 parent ac02bbc commit 7f0696f

File tree

11 files changed

+57
-0
lines changed

11 files changed

+57
-0
lines changed

CMakeLists.txt

+18
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,24 @@ if(${enable_cbmc_tests})
3838
enable_testing()
3939
endif()
4040

41+
find_package(Git)
42+
if(GIT_FOUND)
43+
message(STATUS "Found Git executable: ${GIT_EXECUTABLE}")
44+
execute_process(
45+
COMMAND "${GIT_EXECUTABLE}" "describe" "--tags" "--always" "--long"
46+
OUTPUT_VARIABLE git_repo_version
47+
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
48+
OUTPUT_STRIP_TRAILING_WHITESPACE
49+
)
50+
else()
51+
message(WARNING "Git is not installed, cannot generate git version string")
52+
endif()
53+
if(git_repo_version)
54+
set(GIT_INFO ${git_repo_version})
55+
else()
56+
set(GIT_INFO "n/a")
57+
endif()
58+
4159
add_subdirectory(src)
4260
add_subdirectory(regression)
4361
add_subdirectory(unit)

jbmc/src/janalyzer/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,7 @@ target_link_libraries(janalyzer-lib
2424
# Executable
2525
add_executable(janalyzer janalyzer_main.cpp)
2626
target_link_libraries(janalyzer janalyzer-lib)
27+
28+
target_compile_definitions(janalyzer-lib
29+
PRIVATE "-DCBMC_VERSION=\"${CBMC_RELEASE} (${GIT_INFO})\""
30+
)

jbmc/src/jbmc/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,7 @@ target_link_libraries(jbmc-lib
2929
# Executable
3030
add_executable(jbmc jbmc_main.cpp)
3131
target_link_libraries(jbmc jbmc-lib)
32+
33+
target_compile_definitions(jbmc-lib
34+
PRIVATE "-DCBMC_VERSION=\"${CBMC_RELEASE} (${GIT_INFO})\""
35+
)

jbmc/src/jdiff/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,7 @@ target_link_libraries(jdiff-lib
2626
# Executable
2727
add_executable(jdiff jdiff_main.cpp)
2828
target_link_libraries(jdiff jdiff-lib)
29+
30+
target_compile_definitions(jdiff-lib
31+
PRIVATE "-DCBMC_VERSION=\"${CBMC_RELEASE} (${GIT_INFO})\""
32+
)

src/cbmc/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,7 @@ add_if_library(cbmc-lib jsil)
3131
# Executable
3232
add_executable(cbmc cbmc_main.cpp)
3333
target_link_libraries(cbmc cbmc-lib)
34+
35+
target_compile_definitions(cbmc-lib
36+
PRIVATE "-DCBMC_VERSION=\"${CBMC_RELEASE} (${GIT_INFO})\""
37+
)

src/clobber/CMakeLists.txt

+3
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,6 @@ add_if_library(clobber-lib bv_refinement)
3030
add_executable(clobber clobber_main.cpp)
3131
target_link_libraries(clobber clobber-lib)
3232

33+
target_compile_definitions(clobber-lib
34+
PRIVATE "-DCBMC_VERSION=\"${CBMC_RELEASE} (${GIT_INFO})\""
35+
)

src/goto-analyzer/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,7 @@ add_if_library(goto-analyzer-lib jsil)
2626
# Executable
2727
add_executable(goto-analyzer goto_analyzer_main.cpp)
2828
target_link_libraries(goto-analyzer goto-analyzer-lib)
29+
30+
target_compile_definitions(goto-analyzer-lib
31+
PRIVATE "-DCBMC_VERSION=\"${CBMC_RELEASE} (${GIT_INFO})\""
32+
)

src/goto-cc/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,7 @@ else()
3434
COMMAND "${CMAKE_COMMAND}" -E create_symlink
3535
goto-cc $<TARGET_FILE_DIR:goto-cc>/goto-gcc)
3636
endif()
37+
38+
target_compile_definitions(goto-cc-lib
39+
PRIVATE "-DCBMC_VERSION=\"${CBMC_RELEASE} (${GIT_INFO})\""
40+
)

src/goto-diff/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,7 @@ add_if_library(goto-diff-lib jsil)
2828
# Executable
2929
add_executable(goto-diff goto_diff_main.cpp)
3030
target_link_libraries(goto-diff goto-diff-lib)
31+
32+
target_compile_definitions(goto-diff-lib
33+
PRIVATE "-DCBMC_VERSION=\"${CBMC_RELEASE} (${GIT_INFO})\""
34+
)

src/goto-instrument/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,7 @@ add_if_library(goto-instrument-lib glpk)
3232
# Executable
3333
add_executable(goto-instrument goto_instrument_main.cpp)
3434
target_link_libraries(goto-instrument goto-instrument-lib)
35+
36+
target_compile_definitions(goto-instrument-lib
37+
PRIVATE "-DCBMC_VERSION=\"${CBMC_RELEASE} (${GIT_INFO})\""
38+
)

src/memory-models/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,7 @@ add_library(mmcc
1111
generic_includes(mmcc)
1212

1313
target_link_libraries(mmcc util)
14+
15+
target_compile_definitions(mmcc
16+
PRIVATE "-DCBMC_VERSION=\"${CBMC_RELEASE} (${GIT_INFO})\""
17+
)

0 commit comments

Comments
 (0)