-
Notifications
You must be signed in to change notification settings - Fork 2
/
CMakeLists.txt
108 lines (80 loc) · 3.94 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
cmake_minimum_required(VERSION 3.15)
project (bdd_benchmarks
VERSION 1
DESCRIPTION "A collection of comparable BDD Benchmarks"
)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_C_STANDARD 17)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Default build type: Release" FORCE)
endif()
# ============================================================================ #
# Compiler settings
# ============================================================================ #
message(STATUS "")
message(STATUS "CMake build configuration for BDD Benchmarks")
message(STATUS " OS: ${CMAKE_SYSTEM_NAME}")
message(STATUS " Compiler: ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
message(STATUS " | C Flags: ${CMAKE_C_FLAGS}")
message(STATUS " | CXX Flags: ${CMAKE_CXX_FLAGS}")
message(STATUS " | EXE Linker Flags: ${CMAKE_EXE_LINKER_FLAGS}")
message(STATUS " Options:")
option(BDD_BENCHMARK_GRENDEL "Build for Grendel cluster" OFF)
message(STATUS " | Grendel: ${BDD_BENCHMARK_GRENDEL}")
option(BDD_BENCHMARK_INCL_INIT "Include initialisation time in total" OFF)
message(STATUS " | Incl. Init: ${BDD_BENCHMARK_INCL_INIT}")
option(BDD_BENCHMARK_STATS "Build with printing of verbose statistics (ruins time measurements)" OFF)
message(STATUS " | Statistics: ${BDD_BENCHMARK_STATS}")
if (BDD_BENCHMARK_STATS)
message(WARN " | NOTE: THIS MAKES ANY REPORTED TIME MEASUREMENTS NOT REPRESENTATIVE!")
endif(BDD_BENCHMARK_STATS)
option(BDD_BENCHMARK_WAIT "Wait to exit program until enter has been pressed." OFF)
message(STATUS " | Waiting: ${BDD_BENCHMARK_WAIT}")
message(STATUS "")
# ============================================================================ #
# External
# ============================================================================ #
# ---------------------------------------------------------------------------- #
# BDD Packages
# Adiar Package (Steffan Sølvsten - Aarhus University, Denmark)
if (BDD_BENCHMARK_STATS)
set(ADIAR_STATS ON)
endif(BDD_BENCHMARK_STATS)
add_subdirectory (external/adiar adiar EXCLUDE_FROM_ALL)
# BuDDy Package (Jørn Lind-Nielsen - Copenhagen University, Denmark)
set(BUDDY_EXAMPLES OFF)
if (BDD_BENCHMARK_STATS)
set(BUDDY_STATS ON)
endif(BDD_BENCHMARK_STATS)
add_subdirectory (external/buddy buddy EXCLUDE_FROM_ALL)
# Cal Package (Jagesh Sanghavi, Rajeev Ranjan et al. - University of California, United States of America)
add_subdirectory (external/cal cal EXCLUDE_FROM_ALL)
# CUDD Package (Fabio Somenzi - University of Colorado Boulder, United States of America)
add_subdirectory(external/cudd cudd EXCLUDE_FROM_ALL)
# Biodivine/LibBDD (Samuel Pastva et al. - Institute of Science and Technology Austria)
add_subdirectory(external/lib-bdd-ffi lib-bdd-ffi EXCLUDE_FROM_ALL)
# OxiDD (Nils Husung et al. - Saarland University, Germany and Eindhoven University of Technology, The Netherlands)
add_subdirectory(external/oxidd oxidd EXCLUDE_FROM_ALL)
# Sylvan Package (Tom van Dijk - University of Twente, Netherlands)
if (BDD_BENCHMARK_STATS)
set(SYLVAN_STATS ON)
endif(BDD_BENCHMARK_STATS)
add_subdirectory (external/sylvan sylvan EXCLUDE_FROM_ALL)
# ---------------------------------------------------------------------------- #
# BLIF parser
add_subdirectory (external/blifparse libblifparse EXCLUDE_FROM_ALL)
# Boost
find_package(Boost REQUIRED)
# XML parser
add_subdirectory (external/pugixml pugixml EXCLUDE_FROM_ALL)
# ============================================================================ #
# Benchmarks
# ============================================================================ #
add_subdirectory (src)
# ============================================================================ #
# Formatting
# ============================================================================ #
include(cmake/clang-cxx-dev-tools.cmake)