3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-05-25 19:36:21 +00:00
yosys/cmake/YosysVerific.cmake
Catherine 5f1d2297aa Migrate build system to CMake
See #5895 for details.

This commit does not include CI or documentation changes.
2026-05-19 14:37:53 +00:00

48 lines
1.2 KiB
CMake

if (APPLE)
set(VERIFIC_LIB_SUFFIX -mac.a)
elseif (LINUX)
set(VERIFIC_LIB_SUFFIX -linux.a)
elseif (WIN32)
set(VERIFIC_LIB_SUFFIX -windows.a)
else()
set(VERIFIC_LIB_SUFFIX -NOTFOUND)
endif()
# Syntax:
#
# get_verific_components(<result>)
#
# Assigns variable `<result>` to a list of Verific components detected in `${YOSYS_VERIFIC_DIR}`.
#
function(get_verific_components result)
file(GLOB libraries
RELATIVE ${YOSYS_VERIFIC_DIR}
${YOSYS_VERIFIC_DIR}/*/*${VERIFIC_LIB_SUFFIX}
)
set(components)
foreach (library ${libraries})
cmake_path(GET library PARENT_PATH component)
list(APPEND components ${component})
endforeach()
set(${result} ${components})
return(PROPAGATE ${result})
endfunction()
# Syntax:
#
# get_verific_options(<include_dirs> <libraries> <components>...)
#
# Assigns variables `<include_dirs>` and `<libraries>` to lists required to use Verific
# `<components>`.
#
function(get_verific_options include_dirs libraries)
set(${include_dirs})
set(${libraries})
foreach (component ${ARGN})
list(APPEND ${include_dirs} ${YOSYS_VERIFIC_DIR}/${component})
list(APPEND ${libraries} ${YOSYS_VERIFIC_DIR}/${component}/${component}${VERIFIC_LIB_SUFFIX})
endforeach()
return(PROPAGATE ${include_dirs} ${libraries})
endfunction()