cmake simplify finding TCL lib
This commit is contained in:
parent
8b97fab7fb
commit
03a7ef3686
|
|
@ -504,6 +504,10 @@ add_custom_command(OUTPUT ${STA_TCL_INIT}
|
|||
#
|
||||
################################################################
|
||||
|
||||
find_package(TCL)
|
||||
message(STATUS "TCL lib: ${TCL_LIB}")
|
||||
message(STATUS "TCL header: ${TCL_HEADER}")
|
||||
|
||||
# Zlib
|
||||
include(FindZLIB)
|
||||
# Translate cmake bool to StaConfig.h ifdef bool
|
||||
|
|
@ -562,69 +566,6 @@ configure_file(${STA_HOME}/util/StaConfig.hh.cmake
|
|||
${STA_HOME}/util/StaConfig.hh
|
||||
)
|
||||
|
||||
|
||||
################################################################
|
||||
#
|
||||
# Locate TCL library.
|
||||
#
|
||||
# Note that the cmake findTcl module is hopeless for OSX
|
||||
# because there doesn't appear to be a way to override
|
||||
# searching OSX system directories before unix directories.
|
||||
|
||||
set(TCL_POSSIBLE_NAMES tcl87 tcl8.7
|
||||
tcl86 tcl8.6
|
||||
tcl85 tcl8.5
|
||||
tcl84 tcl8.4
|
||||
tcl83 tcl8.3
|
||||
tcl82 tcl8.2
|
||||
)
|
||||
|
||||
# tcl lib path guesses.
|
||||
if (NOT TCL_LIB_PATHS)
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
set(TCL_LIB_PATHS /usr/local/lib)
|
||||
set(TCL_NO_DEFAULT_PATH TRUE)
|
||||
endif()
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(TCL_LIB_PATHS /usr/lib
|
||||
/usr/local/lib
|
||||
)
|
||||
set(TCL_NO_DEFAULT_PATH FALSE)
|
||||
endif()
|
||||
|
||||
if (NOT TCL_LIB)
|
||||
# bagbiter cmake doesn't have a way to pass NO_DEFAULT_PATH as a parameter.
|
||||
if (TCL_NO_DEFAULT_PATH)
|
||||
find_library(TCL_LIB
|
||||
NAMES tcl ${TCL_POSSIBLE_NAMES}
|
||||
PATHS ${TCL_LIB_PATHS}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
else()
|
||||
find_library(TCL_LIB
|
||||
NAMES tcl ${TCL_POSSIBLE_NAMES}
|
||||
PATHS ${TCL_LIB_PATHS}
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
message(STATUS "TCL lib: ${TCL_LIB}")
|
||||
|
||||
get_filename_component(TCL_LIB_DIR "${TCL_LIB}" PATH)
|
||||
get_filename_component(TCL_LIB_PARENT1 "${TCL_LIB_DIR}" PATH)
|
||||
get_filename_component(TCL_LIB_PARENT2 "${TCL_LIB_PARENT1}" PATH)
|
||||
|
||||
# Locate tcl.h
|
||||
if (NOT TCL_HEADER)
|
||||
find_file(TCL_HEADER tcl.h
|
||||
PATHS ${TCL_LIB_PARENT1} ${TCL_LIB_PARENT2}
|
||||
PATH_SUFFIXES include include/tcl
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
endif()
|
||||
message(STATUS "TCL header: ${TCL_HEADER}")
|
||||
get_filename_component(TCL_HEADER_DIR "${TCL_HEADER}" PATH)
|
||||
include_directories(SYSTEM ${TCL_HEADER_DIR})
|
||||
|
||||
################################################################
|
||||
|
||||
set(STA_INCLUDE_DIRS
|
||||
|
|
@ -670,7 +611,10 @@ add_library(OpenSTA
|
|||
${BISON_VerilogParser_OUTPUTS}
|
||||
)
|
||||
|
||||
target_include_directories(OpenSTA PUBLIC ${STA_INCLUDE_DIRS})
|
||||
target_include_directories(OpenSTA
|
||||
PUBLIC ${STA_INCLUDE_DIRS}
|
||||
SYSTEM ${TCL_HEADER_DIR}
|
||||
)
|
||||
|
||||
target_compile_features(OpenSTA
|
||||
PUBLIC cxx_auto_type
|
||||
|
|
|
|||
Loading…
Reference in New Issue