Files
OpenDB/CMakeLists.txt
2020-11-02 06:09:10 -08:00

67 lines
2.1 KiB
CMake

############################################################################
########################### Project Setup ##################################
############################################################################
# Setting CMake version properly to ensure correct policies behavior
cmake_minimum_required(VERSION 3.14...3.16)
set(CMAKE_CXX_STANDARD 17)
# Setting up OpenDB project
project(OpenDB VERSION 0.0.1
LANGUAGES CXX)
# Configure build version
configure_file (
"${PROJECT_SOURCE_DIR}/include/opendb/version.hh.in"
"${PROJECT_BINARY_DIR}/include/opendb/version.hh"
)
find_package(TCL)
find_package(Boost)
############################################################################
################################# Targets ##################################
############################################################################
add_subdirectory(src/db)
add_subdirectory(src/defin)
add_subdirectory(src/defout)
add_subdirectory(src/lef)
add_subdirectory(src/lefin)
add_subdirectory(src/lefout)
add_subdirectory(src/def)
add_subdirectory(src/zutil)
add_subdirectory(src/zlib)
add_subdirectory(src/tm)
add_subdirectory(tests/cpp)
############################################################################
################################# SWIG #####################################
############################################################################
find_package(SWIG 3.0 REQUIRED)
include(${SWIG_USE_FILE})
option(BUILD_PYTHON "Build Python SWIG module" ON)
if(NOT OPENROAD_BUILD AND BUILD_PYTHON)
add_subdirectory(src/swig/python)
endif()
option(BUILD_TCL "Build TCL SWIG module" ON)
if(NOT OPENROAD_BUILD AND BUILD_TCL)
add_subdirectory(src/swig/tcl)
endif()
############################################################################
############################### DOXYGEN ####################################
############################################################################
find_package(Doxygen)
if (DOXYGEN_FOUND)
set(DOXYGEN_EXTRACT_STATIC YES)
set(DOXYGEN_REFERENCED_BY_RELATION YES)
set(DOXYGEN_REFERENCES_RELATION YES)
doxygen_add_docs(docs include)
endif()