mirror of
https://github.com/YosysHQ/yosys
synced 2026-07-14 19:25:40 +00:00
cmake: allow system fmt/tomlplusplus/boost for bundled deps
FetchContent now tries find_package() first for fmt, tomlplusplus and Boost.Regex, only falling back to the vendored copies when no system package is found. This lets distribution and package-manager builds (e.g. Homebrew) link against system libraries instead of the bundles, without changing the default behaviour for a plain source build.
This commit is contained in:
parent
2d1509d1bc
commit
cf773aaa13
1 changed files with 30 additions and 20 deletions
|
|
@ -9,33 +9,43 @@ add_subdirectory(sha1)
|
|||
add_subdirectory(subcircuit)
|
||||
block()
|
||||
set(BUILD_SHARED_LIBS OFF)
|
||||
set(CMAKE_FIND_PACKAGE_TARGETS_GLOBAL TRUE)
|
||||
include(FetchContent)
|
||||
set(FETCHCONTENT_FULLY_DISCONNECTED ON)
|
||||
|
||||
option(FMT_INSTALL OFF)
|
||||
FetchContent_Declare(
|
||||
fmt
|
||||
EXCLUDE_FROM_ALL
|
||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/fmt
|
||||
)
|
||||
FetchContent_MakeAvailable(fmt)
|
||||
find_package(fmt QUIET)
|
||||
if(NOT fmt_FOUND)
|
||||
FetchContent_Declare(
|
||||
fmt
|
||||
EXCLUDE_FROM_ALL
|
||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/fmt
|
||||
)
|
||||
FetchContent_MakeAvailable(fmt)
|
||||
endif()
|
||||
|
||||
FetchContent_Declare(
|
||||
tomlplusplus
|
||||
EXCLUDE_FROM_ALL
|
||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tomlplusplus
|
||||
)
|
||||
FetchContent_MakeAvailable(tomlplusplus)
|
||||
|
||||
FetchContent_Declare(
|
||||
boost_regex
|
||||
EXCLUDE_FROM_ALL
|
||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/boost_regex
|
||||
SOURCE_SUBDIR _no_build_
|
||||
)
|
||||
FetchContent_MakeAvailable(boost_regex)
|
||||
find_package(tomlplusplus QUIET)
|
||||
if(NOT tomlplusplus_FOUND)
|
||||
FetchContent_Declare(
|
||||
tomlplusplus
|
||||
EXCLUDE_FROM_ALL
|
||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tomlplusplus
|
||||
)
|
||||
FetchContent_MakeAvailable(tomlplusplus)
|
||||
endif()
|
||||
|
||||
if (NOT YOSYS_WITHOUT_SLANG)
|
||||
find_package(Boost QUIET COMPONENTS regex)
|
||||
if(NOT Boost_FOUND)
|
||||
FetchContent_Declare(
|
||||
boost_regex
|
||||
EXCLUDE_FROM_ALL
|
||||
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/boost_regex
|
||||
SOURCE_SUBDIR _no_build_
|
||||
)
|
||||
FetchContent_MakeAvailable(boost_regex)
|
||||
endif()
|
||||
|
||||
set(SLANG_USE_MIMALLOC OFF)
|
||||
add_subdirectory(slang)
|
||||
# Headers autodetect based on <boost/config.hpp> but when version
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue