cmake USE_CUDD option to disable it by default

This commit is contained in:
James Cherry 2021-01-04 09:22:15 -08:00
parent 0348fcfa3e
commit 9b28670b36
2 changed files with 24 additions and 20 deletions

View File

@ -28,6 +28,7 @@ project(STA VERSION 2.3.0
LANGUAGES CXX
)
option(USE_CUDD "Use CUDD BDD package")
option(CUDD_DIR "CUDD BDD package directory")
set(CMAKE_VERBOSE_MAKEFILE ON)
@ -381,27 +382,29 @@ find_package(Threads)
# Locate CUDD bdd package.
#
set(CUDD 0)
find_library(CUDD_LIB
NAME cudd
PATHS ${CUDD_DIR}
PATH_SUFFIXES lib lib/cudd
)
if (CUDD_LIB)
message(STATUS "CUDD library: ${CUDD_LIB}")
get_filename_component(CUDD_LIB_DIR "${CUDD_LIB}" PATH)
get_filename_component(CUDD_LIB_PARENT1 "${CUDD_LIB_DIR}" PATH)
find_file(CUDD_HEADER cudd.h
PATHS ${CUDD_LIB_PARENT1}/include ${CUDD_LIB_PARENT1}/include/cudd)
if (CUDD_HEADER)
get_filename_component(CUDD_INCLUDE "${CUDD_HEADER}" PATH)
message(STATUS "CUDD header: ${CUDD_HEADER}")
# CUDD referenced by StaConfig.hh.cmake
set(CUDD 1)
if (USE_CUDD)
find_library(CUDD_LIB
NAME cudd
PATHS ${CUDD_DIR}
PATH_SUFFIXES lib lib/cudd
)
if (CUDD_LIB)
message(STATUS "CUDD library: ${CUDD_LIB}")
get_filename_component(CUDD_LIB_DIR "${CUDD_LIB}" PATH)
get_filename_component(CUDD_LIB_PARENT1 "${CUDD_LIB_DIR}" PATH)
find_file(CUDD_HEADER cudd.h
PATHS ${CUDD_LIB_PARENT1}/include ${CUDD_LIB_PARENT1}/include/cudd)
if (CUDD_HEADER)
get_filename_component(CUDD_INCLUDE "${CUDD_HEADER}" PATH)
message(STATUS "CUDD header: ${CUDD_HEADER}")
# CUDD referenced by StaConfig.hh.cmake
set(CUDD 1)
else()
message(STATUS "CUDD header: not found")
endif()
else()
message(STATUS "CUDD header: not found")
message(STATUS "CUDD library: not found")
endif()
else()
message(STATUS "CUDD library: not found")
endif()
if("${SSTA}" STREQUAL "")

View File

@ -92,6 +92,7 @@ or [here](https://sourceforge.net/projects/cudd-mirror/).
Note that the file hierarchy of the CUDD installation changed with version 3.0.
Some changes to CMakeLists.txt are required to support older versions.
Use the USE_CUDD option to look for the cudd library.
Use the CUDD_DIR option to set the install directory if it is not in
one of the normal install directories.
@ -105,7 +106,7 @@ make
make install
cd <opensta>/build
cmake .. -DCUDD_DIR=$HOME/cudd
cmake .. -DUSE_CUDD -DCUDD_DIR=$HOME/cudd
```
The Zlib library is an optional. If CMake finds libz, OpenSTA can