-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
48 lines (39 loc) · 1.43 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
cmake_minimum_required(VERSION 3.13...3.16 FATAL_ERROR) # CMake version check
message("CMakeLists:synthesis-with-edge-fairness")
project(Fairsyn)
##############################################
# Choose between parallel (sylvan) and non-parallel (cudd)
if(NOT DEFINED MASCOT_PARALLEL)
set(MASCOT_PARALLEL 1)
endif()
# Create target and set properties
# Compile options
if(NOT DEFINED CMAKE_BUILD_TYPE)
message(STATUS "No mode selected. Using release mode as default.")
set(CMAKE_BUILD_TYPE "release")
endif()
set(CMAKE_VERBOSE_MAKEFILE ON) # show everything
add_link_options(-std=c++11 -pthread)
if(CMAKE_BUILD_TYPE MATCHES debug)
message(STATUS "Debug mode.")
add_link_options(-Wfatal-errors -Wall -Wextra)
elseif(CMAKE_BUILD_TYPE MATCHES release)
message(STATUS "Release mode.")
add_link_options(-O3)
else()
message(STATUS "Undefined mode.")
add_link_options(-O3)
endif()
# Build directory
set(CMAKE_BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
# Target
include_directories(src lib utils)
add_subdirectory(${genie_HOME} genie)
add_executable(main_fairsyn_EL src/main_fairsyn_EL.cc)
target_link_libraries(main_fairsyn_EL genie)
add_executable(main_fairsyn src/main_fairsyn.cc)
target_link_libraries(main_fairsyn genie)
add_executable(general_queue src/general_queue.cc)
target_link_libraries(general_queue genie)