Skip to content

Commit 143f97d

Browse files
committed
changed absolut path to bash scripts using CMAKE_SOURCE_DIR to relative path with CMAKE_CURRENT_SOURCE_DIR.
1 parent 31bccd2 commit 143f97d

File tree

2 files changed

+46
-44
lines changed

2 files changed

+46
-44
lines changed

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ message(STATUS "Building CBMC version ${CBMC_VERSION}")
4646

4747
project(CBMC VERSION ${CBMC_VERSION})
4848

49+
set(CBMC_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
50+
4951
# when config.inc changes we’ll need to reconfigure to check if the version changed
5052
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/config.inc")
5153

src/cbmc/CMakeLists.txt

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,73 @@
11
# Library
22
file(GLOB_RECURSE sources "*.cpp" "*.h")
33
list(REMOVE_ITEM sources
4-
${CMAKE_CURRENT_SOURCE_DIR}/cbmc_main.cpp
5-
)
4+
${CMAKE_CURRENT_SOURCE_DIR}/cbmc_main.cpp
5+
)
66
add_library(cbmc-lib ${sources})
77

88
generic_includes(cbmc-lib)
99

1010
target_link_libraries(cbmc-lib
11-
analyses
12-
ansi-c
13-
assembler
14-
big-int
15-
cpp
16-
goto-checker
17-
goto-instrument-lib
18-
goto-programs
19-
goto-symex
20-
json
21-
json-symtab-language
22-
langapi
23-
linking
24-
pointer-analysis
25-
solvers
26-
statement-list
27-
util
28-
xml
29-
)
11+
analyses
12+
ansi-c
13+
assembler
14+
big-int
15+
cpp
16+
goto-checker
17+
goto-instrument-lib
18+
goto-programs
19+
goto-symex
20+
json
21+
json-symtab-language
22+
langapi
23+
linking
24+
pointer-analysis
25+
solvers
26+
statement-list
27+
util
28+
xml
29+
)
3030

3131
add_if_library(cbmc-lib bv_refinement)
3232
add_if_library(cbmc-lib jsil)
3333

3434
# Executable
3535
add_executable(cbmc cbmc_main.cpp)
3636
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
37-
# There is a cyclic dependency between analyses and ansi-c, which the
38-
# Makefile-based build system resolves by using --start-group, --end-group.
39-
# CMake lacks direct support (cf.
40-
# https://gitlab.kitware.com/cmake/cmake/-/issues/21511), so we ensure all
41-
# object files from libanalyses.a remain present.
42-
target_link_libraries(cbmc
43-
cbmc-lib
44-
-Wl,--whole-archive -Wl,${CMAKE_BINARY_DIR}/lib/libanalyses.a -Wl,--no-whole-archive
45-
)
37+
# There is a cyclic dependency between analyses and ansi-c, which the
38+
# Makefile-based build system resolves by using --start-group, --end-group.
39+
# CMake lacks direct support (cf.
40+
# https://gitlab.kitware.com/cmake/cmake/-/issues/21511), so we ensure all
41+
# object files from libanalyses.a remain present.
42+
target_link_libraries(cbmc
43+
cbmc-lib
44+
-Wl,--whole-archive -Wl,${CMAKE_BINARY_DIR}/lib/libanalyses.a -Wl,--no-whole-archive
45+
)
4646
else()
47-
target_link_libraries(cbmc cbmc-lib)
47+
target_link_libraries(cbmc cbmc-lib)
4848
endif()
4949
install(TARGETS cbmc DESTINATION ${CMAKE_INSTALL_BINDIR})
5050

5151
# Man page
5252
if(NOT WIN32)
5353
install(
54-
DIRECTORY ${CMAKE_SOURCE_DIR}/doc/man/
55-
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
56-
FILES_MATCHING PATTERN "cbmc*")
54+
DIRECTORY ${CMAKE_SOURCE_DIR}/doc/man/
55+
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
56+
FILES_MATCHING PATTERN "cbmc*")
5757
endif()
5858

5959
# bash completion
6060
if(NOT WIN32)
61-
add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/bash-autocomplete/cbmc.sh"
62-
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/bash-autocomplete/extract_switches.sh"
63-
DEPENDS $<TARGET_FILE:cbmc>
64-
)
61+
add_custom_command(OUTPUT "${CBMC_ROOT_DIR}/scripts/bash-autocomplete/cbmc.sh"
62+
COMMAND "${CBMC_ROOT_DIR}/scripts/bash-autocomplete/extract_switches.sh"
63+
DEPENDS $<TARGET_FILE:cbmc>
64+
)
6565
add_custom_target(cbmc.sh ALL
66-
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/bash-autocomplete/cbmc.sh"
67-
)
66+
DEPENDS "${CBMC_ROOT_DIR}/scripts/bash-autocomplete/cbmc.sh"
67+
)
6868
install(
69-
FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../scripts/bash-autocomplete/cbmc.sh
70-
DESTINATION etc/bash_completion.d
71-
RENAME cbmc
69+
FILES ${CBMC_ROOT_DIR}/scripts/bash-autocomplete/cbmc.sh
70+
DESTINATION etc/bash_completion.d
71+
RENAME cbmc
7272
)
73-
endif()
73+
endif()

0 commit comments

Comments
 (0)