File tree 2 files changed +24
-1
lines changed
2 files changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -61,7 +61,16 @@ target_link_libraries(cprover-api-cpp
61
61
# Here we prepare a space-separated list of cmake generators that will resolved in absolute paths.
62
62
set (DEPENDENCY_TARGETS "" )
63
63
foreach (dep ${LIBRARY_DEPENDENCIES} )
64
- list (APPEND DEPENDENCY_TARGETS "$<TARGET_FILE:${dep} >" )
64
+ if (TARGET ${dep} )
65
+ list (APPEND DEPENDENCY_TARGETS "$<TARGET_FILE:${dep} >" )
66
+ else ()
67
+ find_library (dep_path ${dep} )
68
+ string (REGEX REPLACE "[.]so$" ".a" dep_static_path ${dep_path} )
69
+ if (NOT EXISTS "${dep_static_path} " )
70
+ message (FATAL_ERROR "libcprover-cpp cannot be linked as dependency ${dep_path} does not have a static correspondent file (${dep_static_path} )" )
71
+ endif ()
72
+ list (APPEND DEPENDENCY_TARGETS ${dep_static_path} )
73
+ endif ()
65
74
endforeach (dep LIBRARY_DEPENDENCIES)
66
75
string (REPLACE ";" " " DEPENDENCY_TARGETS "${DEPENDENCY_TARGETS} " )
67
76
Original file line number Diff line number Diff line change @@ -87,6 +87,20 @@ foreach(SOLVER ${sat_impl})
87
87
target_sources (solvers PRIVATE ${minisat2_source} )
88
88
89
89
target_link_libraries (solvers minisat2-condensed)
90
+ elseif ("${SOLVER} " STREQUAL "system-minisat2" )
91
+ include (CheckIncludeFileCXX)
92
+ # if/when we move to CMake 3.12 (or later) we could also check for the
93
+ # library via CMAKE_REQUIRED_LIBRARIES
94
+ find_path (minisat_header_found "minisat/simp/SimpSolver.h" )
95
+ if (minisat_header_found)
96
+ message (STATUS "Building solvers with minisat2 (${minisat_header_found} )" )
97
+ target_compile_definitions (solvers PUBLIC SATCHECK_MINISAT2 HAVE_MINISAT2)
98
+ target_sources (solvers PRIVATE ${minisat2_source} )
99
+ target_include_directories (solvers PRIVATE ${minisat_header_found} )
100
+ target_link_libraries (solvers minisat)
101
+ else ()
102
+ message (FATAL_ERROR "Unable to find header file for preinstalled minisat2" )
103
+ endif ()
90
104
elseif ("${SOLVER} " STREQUAL "glucose" )
91
105
message (STATUS "Building solvers with glucose" )
92
106
You can’t perform that action at this time.
0 commit comments