Skip to content

Commit 46406bc

Browse files
CMake instructions for Cudd
1 parent f310308 commit 46406bc

File tree

2 files changed

+154
-1
lines changed

2 files changed

+154
-1
lines changed

scripts/cudd-3.0.0-CMakeLists.txt

+137
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
cmake_minimum_required(VERSION 3.10)
2+
project(cudd_3_0_0)
3+
4+
set(CMAKE_CXX_STANDARD 11)
5+
6+
include_directories(.)
7+
include_directories(cplusplus)
8+
include_directories(cudd)
9+
include_directories(dddmp)
10+
include_directories(epd)
11+
include_directories(mtr)
12+
include_directories(nanotrav)
13+
include_directories(st)
14+
include_directories(util)
15+
16+
add_executable(cudd_3_0_0
17+
cplusplus/cuddObj.cc
18+
cplusplus/cuddObj.hh
19+
cplusplus/testmulti.cc
20+
cplusplus/testobj.cc
21+
cudd/cudd.h
22+
cudd/cuddAddAbs.c
23+
cudd/cuddAddApply.c
24+
cudd/cuddAddFind.c
25+
cudd/cuddAddInv.c
26+
cudd/cuddAddIte.c
27+
cudd/cuddAddNeg.c
28+
cudd/cuddAddWalsh.c
29+
cudd/cuddAndAbs.c
30+
cudd/cuddAnneal.c
31+
cudd/cuddApa.c
32+
cudd/cuddAPI.c
33+
cudd/cuddApprox.c
34+
cudd/cuddBddAbs.c
35+
cudd/cuddBddCorr.c
36+
cudd/cuddBddIte.c
37+
cudd/cuddBridge.c
38+
cudd/cuddCache.c
39+
cudd/cuddCheck.c
40+
cudd/cuddClip.c
41+
cudd/cuddCof.c
42+
cudd/cuddCompose.c
43+
cudd/cuddDecomp.c
44+
cudd/cuddEssent.c
45+
cudd/cuddExact.c
46+
cudd/cuddExport.c
47+
cudd/cuddGenCof.c
48+
cudd/cuddGenetic.c
49+
cudd/cuddGroup.c
50+
cudd/cuddHarwell.c
51+
cudd/cuddInit.c
52+
cudd/cuddInt.h
53+
cudd/cuddInteract.c
54+
cudd/cuddLCache.c
55+
cudd/cuddLevelQ.c
56+
cudd/cuddLinear.c
57+
cudd/cuddLiteral.c
58+
cudd/cuddMatMult.c
59+
cudd/cuddPriority.c
60+
cudd/cuddRead.c
61+
cudd/cuddRef.c
62+
cudd/cuddReorder.c
63+
cudd/cuddSat.c
64+
cudd/cuddSign.c
65+
cudd/cuddSolve.c
66+
cudd/cuddSplit.c
67+
cudd/cuddSubsetHB.c
68+
cudd/cuddSubsetSP.c
69+
cudd/cuddSymmetry.c
70+
cudd/cuddTable.c
71+
cudd/cuddUtil.c
72+
cudd/cuddWindow.c
73+
cudd/cuddZddCount.c
74+
cudd/cuddZddFuncs.c
75+
cudd/cuddZddGroup.c
76+
cudd/cuddZddIsop.c
77+
cudd/cuddZddLin.c
78+
cudd/cuddZddMisc.c
79+
cudd/cuddZddPort.c
80+
cudd/cuddZddReord.c
81+
cudd/cuddZddSetop.c
82+
cudd/cuddZddSymm.c
83+
cudd/cuddZddUtil.c
84+
cudd/testcudd.c
85+
cudd/testextra.c
86+
dddmp/dddmp.h
87+
dddmp/dddmpBinary.c
88+
dddmp/dddmpConvert.c
89+
dddmp/dddmpDbg.c
90+
dddmp/dddmpInt.h
91+
dddmp/dddmpLoad.c
92+
dddmp/dddmpLoadCnf.c
93+
dddmp/dddmpNodeAdd.c
94+
dddmp/dddmpNodeBdd.c
95+
dddmp/dddmpNodeCnf.c
96+
dddmp/dddmpStoreAdd.c
97+
dddmp/dddmpStoreBdd.c
98+
dddmp/dddmpStoreCnf.c
99+
dddmp/dddmpStoreMisc.c
100+
dddmp/dddmpUtil.c
101+
dddmp/testdddmp.c
102+
epd/epd.c
103+
epd/epd.h
104+
epd/epdInt.h
105+
mtr/mtr.h
106+
mtr/mtrBasic.c
107+
mtr/mtrGroup.c
108+
mtr/mtrInt.h
109+
mtr/testmtr.c
110+
nanotrav/bnet.c
111+
nanotrav/bnet.h
112+
nanotrav/chkMterm.c
113+
nanotrav/main.c
114+
nanotrav/ntr.c
115+
nanotrav/ntr.h
116+
nanotrav/ntrBddTest.c
117+
nanotrav/ntrHeap.c
118+
nanotrav/ntrMflow.c
119+
nanotrav/ntrShort.c
120+
nanotrav/ntrZddTest.c
121+
st/st.c
122+
st/st.h
123+
st/testst.c
124+
util/cpu_stats.c
125+
util/cpu_time.c
126+
util/cstringstream.c
127+
util/cstringstream.h
128+
util/datalimit.c
129+
util/pathsearch.c
130+
util/pipefork.c
131+
util/prtime.c
132+
util/safe_mem.c
133+
util/strsav.c
134+
util/texpand.c
135+
util/ucbqsort.c
136+
util/util.h
137+
config.h)

src/util/CMakeLists.txt

+17-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
11
file(GLOB_RECURSE sources "*.cpp" "*.h")
22

3-
include_directories(${CBMC_SOURCE_DIR}/../cudd-3.0.0/)
3+
if(DEFINED CMAKE_USE_CUDD)
4+
include("${CBMC_SOURCE_DIR}/../cmake/DownloadProject.cmake")
5+
message(STATUS "Downloading Cudd-3.0.0")
6+
download_project(PROJ cudd
7+
URL https://sourceforge.net/projects/cudd-mirror/files/cudd-3.0.0.tar.gz/download
8+
PATCH_COMMAND patch -p1 -i ${CBMC_SOURCE_DIR}/../scripts/cudd-3.0.0-patch
9+
COMMAND cmake -E copy ${CBMC_SOURCE_DIR}/../scripts/cudd-3.0.0-CMakeLists.txt CMakeLists.txt
10+
)
11+
add_subdirectory(${cudd_SOURCE_DIR} ${cudd_BINARY_DIR})
12+
include_directories(${cudd_SOURCE_DIR})
13+
add_compile_options(-DHAS_CUDD)
14+
list(REMOVE_ITEM sources "${CBMC_SOURCE_DIR}/util/guard.cpp")
15+
else()
16+
message(STATUS "Skipping Cudd-3.0.0")
17+
list(REMOVE_ITEM sources "${CBMC_SOURCE_DIR}/util/guard_bdd.cpp")
18+
list(REMOVE_ITEM sources "${CBMC_SOURCE_DIR}/util/guard_bdd.h")
19+
endif()
420

521
# based on https://cmake.org/pipermail/cmake/2010-July/038015.html
622
find_package(Git)

0 commit comments

Comments
 (0)