mirror of
https://github.com/YosysHQ/yosys
synced 2026-07-14 19:25:40 +00:00
CMake: cxxopts: support building with distro-packaged dependency
Many linux distros (e.g., Fedora) strongly discourage bundling or
vendoring dependencies. Many of them also include a `cxxopts-devel`
package. This patch adds support for un-vendoring `cxxopts` by:
1. `libs/cxxopts` vendored submodule build conditional on
`YOSYS_WITH_PKG_DEPS == OFF`
2. use implicit `<cxxopts.hpp>` instead of explicit hard-coded
path to vendored header file
3. conditionally provide additional implicit include path to
`cxxopts.hpp` and library dependency for `kernel/CMakeLists.txt`
Note that the current existing behavior remains the default.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
This commit is contained in:
parent
619b8edeb8
commit
45ecf0c419
3 changed files with 6 additions and 3 deletions
|
|
@ -89,9 +89,10 @@ yosys_core(kernel
|
|||
yw.cc
|
||||
yw.h
|
||||
INCLUDE_DIRS
|
||||
$<$<NOT:$<BOOL:${YOSYS_WITH_PKG_DEPS}>>:${CMAKE_CURRENT_SOURCE_DIR}/libs/cxxopts/include/>
|
||||
${pybind11_INCLUDE_DIR}
|
||||
LIBRARIES
|
||||
cxxopts
|
||||
$<$<NOT:$<BOOL:${YOSYS_WITH_PKG_DEPS}>>:cxxopts>
|
||||
$<${YOSYS_ENABLE_PLUGINS}:${Dlfcn_LIBRARIES}>
|
||||
$<${YOSYS_ENABLE_ZLIB}:PkgConfig::zlib>
|
||||
$<${YOSYS_ENABLE_READLINE}:PkgConfig::readline>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#include "kernel/hashlib.h"
|
||||
#include "libs/sha1/sha1.h"
|
||||
#define CXXOPTS_VECTOR_DELIMITER '\0'
|
||||
#include "libs/cxxopts/include/cxxopts.hpp"
|
||||
#include <cxxopts.hpp>
|
||||
#include <iostream>
|
||||
#include <chrono>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
add_subdirectory(bigint)
|
||||
add_subdirectory(cxxopts)
|
||||
if (NOT YOSYS_WITH_PKG_DEPS)
|
||||
add_subdirectory(cxxopts)
|
||||
endif()
|
||||
add_subdirectory(dlfcn-win32)
|
||||
add_subdirectory(ezsat)
|
||||
add_subdirectory(fst)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue