2025-02-12 07:18:02 -06:00
|
|
|
cmake_minimum_required(VERSION 3.13)
|
|
|
|
project(yosys LANGUAGES CXX C)
|
|
|
|
set(YOSYS_VER "0.50+1")
|
|
|
|
|
2025-02-13 01:57:01 -06:00
|
|
|
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
|
|
|
|
2025-02-12 07:18:02 -06:00
|
|
|
include(CheckCXXCompilerFlag)
|
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
|
|
|
|
set(CMAKE_C_STANDARD 99)
|
|
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
|
|
set(CMAKE_C_EXTENSIONS OFF)
|
|
|
|
|
|
|
|
find_package(FLEX 2.6 REQUIRED)
|
|
|
|
find_package(BISON 3.0 REQUIRED)
|
|
|
|
find_package(Python3 3.5 REQUIRED COMPONENTS Interpreter)
|
2025-02-13 01:57:01 -06:00
|
|
|
find_package(ZLIB REQUIRED)
|
|
|
|
find_package(Readline REQUIRED)
|
|
|
|
#find_package(Editline REQUIRED)
|
|
|
|
find_package(TCL 8.6 REQUIRED)
|
2025-02-12 07:18:02 -06:00
|
|
|
|
|
|
|
add_executable(yosys)
|
|
|
|
#target_include_directories(yosys PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
#target_include_directories(yosys PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
#target_compile_definitions(yosys PRIVATE _YOSYS_)
|
|
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
add_compile_definitions(_YOSYS_)
|
2025-02-13 01:57:01 -06:00
|
|
|
add_compile_definitions(YOSYS_ENABLE_READLINE)
|
|
|
|
#add_compile_definitions(YOSYS_ENABLE_EDITLINE)
|
|
|
|
|
|
|
|
add_compile_definitions(YOSYS_ENABLE_TCL)
|
|
|
|
target_include_directories(yosys PRIVATE ${TCL_INCLUDE_PATH})
|
2025-02-12 07:18:02 -06:00
|
|
|
|
|
|
|
add_subdirectory(kernel)
|
|
|
|
add_subdirectory(libs)
|
2025-02-12 09:10:36 -06:00
|
|
|
|
2025-02-12 07:18:02 -06:00
|
|
|
add_subdirectory(frontends/aiger)
|
|
|
|
add_subdirectory(frontends/aiger2)
|
|
|
|
add_subdirectory(frontends/ast)
|
|
|
|
add_subdirectory(frontends/blif)
|
|
|
|
add_subdirectory(frontends/json)
|
|
|
|
add_subdirectory(frontends/liberty)
|
|
|
|
add_subdirectory(frontends/rpc)
|
|
|
|
add_subdirectory(frontends/rtlil)
|
|
|
|
add_subdirectory(frontends/verilog)
|
2025-02-12 09:10:36 -06:00
|
|
|
|
2025-02-12 07:36:04 -06:00
|
|
|
add_subdirectory(backends/aiger)
|
|
|
|
add_subdirectory(backends/aiger2)
|
|
|
|
add_subdirectory(backends/blif)
|
|
|
|
add_subdirectory(backends/btor)
|
|
|
|
add_subdirectory(backends/cxxrtl)
|
2025-02-12 07:18:02 -06:00
|
|
|
add_subdirectory(backends/edif)
|
2025-02-12 07:36:04 -06:00
|
|
|
add_subdirectory(backends/firrtl)
|
|
|
|
add_subdirectory(backends/functional)
|
|
|
|
add_subdirectory(backends/intersynth)
|
|
|
|
add_subdirectory(backends/jny)
|
|
|
|
add_subdirectory(backends/json)
|
|
|
|
add_subdirectory(backends/rtlil)
|
|
|
|
add_subdirectory(backends/simplec)
|
|
|
|
add_subdirectory(backends/smt2)
|
|
|
|
add_subdirectory(backends/smv)
|
|
|
|
add_subdirectory(backends/spice)
|
|
|
|
add_subdirectory(backends/table)
|
|
|
|
add_subdirectory(backends/verilog)
|
2025-02-12 09:10:36 -06:00
|
|
|
|
2025-02-12 07:18:02 -06:00
|
|
|
add_subdirectory(passes/cmds)
|
2025-02-12 07:48:41 -06:00
|
|
|
add_subdirectory(passes/equiv)
|
|
|
|
add_subdirectory(passes/fsm)
|
2025-02-12 09:10:36 -06:00
|
|
|
add_subdirectory(passes/hierarchy)
|
2025-02-12 07:48:41 -06:00
|
|
|
add_subdirectory(passes/memory)
|
|
|
|
add_subdirectory(passes/opt)
|
2025-02-12 10:53:12 -06:00
|
|
|
add_subdirectory(passes/pmgen)
|
2025-02-12 07:48:41 -06:00
|
|
|
add_subdirectory(passes/proc)
|
|
|
|
add_subdirectory(passes/sat)
|
2025-02-12 07:18:02 -06:00
|
|
|
add_subdirectory(passes/techmap)
|
2025-02-12 07:48:41 -06:00
|
|
|
add_subdirectory(passes/tests)
|
2025-02-12 09:10:36 -06:00
|
|
|
|
|
|
|
add_subdirectory(techlibs/achronix)
|
|
|
|
add_subdirectory(techlibs/anlogic)
|
2025-02-12 07:18:02 -06:00
|
|
|
add_subdirectory(techlibs/common)
|
2025-02-12 09:10:36 -06:00
|
|
|
add_subdirectory(techlibs/coolrunner2)
|
|
|
|
add_subdirectory(techlibs/easic)
|
|
|
|
add_subdirectory(techlibs/ecp5)
|
|
|
|
add_subdirectory(techlibs/efinix)
|
|
|
|
add_subdirectory(techlibs/fabulous)
|
|
|
|
add_subdirectory(techlibs/gatemate)
|
|
|
|
add_subdirectory(techlibs/gowin)
|
|
|
|
add_subdirectory(techlibs/greenpak4)
|
|
|
|
add_subdirectory(techlibs/ice40)
|
|
|
|
add_subdirectory(techlibs/intel)
|
|
|
|
add_subdirectory(techlibs/intel_alm)
|
|
|
|
add_subdirectory(techlibs/lattice)
|
|
|
|
add_subdirectory(techlibs/microchip)
|
|
|
|
add_subdirectory(techlibs/nanoxplore)
|
|
|
|
add_subdirectory(techlibs/nexus)
|
|
|
|
add_subdirectory(techlibs/quicklogic)
|
|
|
|
add_subdirectory(techlibs/sf2)
|
|
|
|
add_subdirectory(techlibs/xilinx)
|
2025-02-12 07:18:02 -06:00
|
|
|
|
2025-02-13 01:57:01 -06:00
|
|
|
target_link_libraries(yosys PRIVATE ZLIB::ZLIB)
|
|
|
|
target_link_libraries(yosys PRIVATE ${READLINE_LIBRARY})
|
|
|
|
#target_link_libraries(yosys PRIVATE ${EDITLINE_LIBRARY})
|
|
|
|
target_link_libraries(yosys PRIVATE ${TCL_LIBRARY})
|