@@ -70,10 +70,15 @@ foreach(SOLVER ${sat_impl})
7070 # to 2 times)
7171 download_project(PROJ minisat2
7272 URL http://ftp.debian.org/debian/pool/main/m/minisat2/minisat2_2.2.1.orig.tar.gz
73- PATCH_COMMAND patch -p1 -i ${CBMC_SOURCE_DIR} /scripts/minisat-2.2.1-patch
74- COMMAND cmake -E copy ${CBMC_SOURCE_DIR} /scripts/minisat2_CMakeLists.txt CMakeLists.txt
73+ PATCH_COMMAND cmake -E copy ${CBMC_SOURCE_DIR} /scripts/minisat2_CMakeLists.txt CMakeLists.txt
7574 URL_MD5 27faa19ee0508660bd6fb7f894646d42
76- )
75+ )
76+ if (NOT EXISTS ${minisat2_SOURCE_DIR} /minisat/core/Solver.cc.orig)
77+ message (STATUS "Patching minisat-2.2.1" )
78+ execute_process (
79+ COMMAND patch -N -p1 -i ${CBMC_SOURCE_DIR} /scripts/minisat-2.2.1-patch
80+ WORKING_DIRECTORY ${minisat2_SOURCE_DIR} )
81+ endif ()
7782
7883 add_subdirectory (${minisat2_SOURCE_DIR} ${minisat2_BINARY_DIR} )
7984
@@ -103,10 +108,15 @@ foreach(SOLVER ${sat_impl})
103108
104109 download_project(PROJ glucose
105110 URL https://github.com/BrunoDutertre/glucose-syrup/archive/0bb2afd3b9baace6981cbb8b4a1c7683c44968b7.tar.gz
106- PATCH_COMMAND patch -p1 -i ${CBMC_SOURCE_DIR} /scripts/glucose-syrup-patch
107- COMMAND cmake -E copy ${CBMC_SOURCE_DIR} /scripts/glucose_CMakeLists.txt CMakeLists.txt
111+ PATCH_COMMAND cmake -E copy ${CBMC_SOURCE_DIR} /scripts/glucose_CMakeLists.txt CMakeLists.txt
108112 URL_MD5 7c539c62c248b74210aef7414787323a
109113 )
114+ if (NOT EXISTS ${glucose_SOURCE_DIR} /core/SolverTypes.h.orig)
115+ message (STATUS "Patching glucose" )
116+ execute_process (
117+ COMMAND patch -N -p1 -i ${CBMC_SOURCE_DIR} /scripts/glucose-syrup-patch
118+ WORKING_DIRECTORY ${glucose_SOURCE_DIR} )
119+ endif ()
110120
111121 add_subdirectory (${glucose_SOURCE_DIR} ${glucose_BINARY_DIR} )
112122
@@ -122,11 +132,16 @@ foreach(SOLVER ${sat_impl})
122132
123133 download_project(PROJ cadical
124134 URL https://github.com/arminbiere/cadical/archive/rel-2.0.0.tar.gz
125- PATCH_COMMAND patch -p1 -i ${CBMC_SOURCE_DIR} /scripts/cadical-2.0.0-patch
126- COMMAND cmake -E copy ${CBMC_SOURCE_DIR} /scripts/cadical_CMakeLists.txt CMakeLists.txt
135+ PATCH_COMMAND cmake -E copy ${CBMC_SOURCE_DIR} /scripts/cadical_CMakeLists.txt CMakeLists.txt
127136 COMMAND ./configure
128137 URL_MD5 9fc2a66196b86adceb822a583318cc35
129138 )
139+ if (NOT EXISTS ${cadical_SOURCE_DIR} /scripts/make-build -header.sh.orig)
140+ message (STATUS "Patching cadical-2.0.0" )
141+ execute_process (
142+ COMMAND patch -N -p1 -i ${CBMC_SOURCE_DIR} /scripts/cadical-2.0.0-patch
143+ WORKING_DIRECTORY ${cadical_SOURCE_DIR} )
144+ endif ()
130145
131146 add_subdirectory (${cadical_SOURCE_DIR} ${cadical_BINARY_DIR} )
132147
@@ -145,10 +160,14 @@ foreach(SOLVER ${sat_impl})
145160
146161 download_project(PROJ cadical
147162 URL https://github.com/arminbiere/cadical/archive/rel-2.0.0.tar.gz
148- PATCH_COMMAND patch -p1 -i ${CBMC_SOURCE_DIR} /scripts/cadical-2.0.0-patch
149- COMMAND ./configure
150163 URL_MD5 9fc2a66196b86adceb822a583318cc35
151164 )
165+ if (NOT EXISTS ${cadical_SOURCE_DIR} /scripts/make-build -header.sh.orig)
166+ message (STATUS "Patching cadical-2.0.0" )
167+ execute_process (
168+ COMMAND patch -N -p1 -i ${CBMC_SOURCE_DIR} /scripts/cadical-2.0.0-patch
169+ WORKING_DIRECTORY ${cadical_SOURCE_DIR} )
170+ endif ()
152171
153172 message (STATUS "Building CaDiCaL" )
154173 execute_process (COMMAND make WORKING_DIRECTORY ${cadical_SOURCE_DIR} )
0 commit comments