Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
92c22f4
Added support for dcmac integration in linker.
hpc-aulmamei May 14, 2025
823a24d
Fixed a compilation bug.
hpc-aulmamei Jun 11, 2025
c76eade
First iteration of changes. ioctl, pcie register
hpc-aulmamei Jun 13, 2025
e91ae6d
Added error print.
hpc-aulmamei Jun 13, 2025
61c95d2
Updated module device table.
hpc-aulmamei Jun 13, 2025
287d2e6
Reverted to non bound driver.
hpc-aulmamei Jun 13, 2025
cda722a
Updated discover_and_add_devices
hpc-aulmamei Jun 13, 2025
747ba91
Added bar read.
hpc-aulmamei Jun 13, 2025
0f3b8ec
Fixed struct positioning.
hpc-aulmamei Jun 13, 2025
28b4e26
Added bar write.
hpc-aulmamei Jun 13, 2025
45f1919
Fixed bug in bar read
hpc-aulmamei Jun 13, 2025
110a6f7
Added bar write.
hpc-aulmamei Jun 16, 2025
c0d3e40
Fixed bug in bar write
hpc-aulmamei Jun 16, 2025
e81ee06
added resources/dcmac directory, added empty dcmac.tcl file
serbuvlad Jun 17, 2025
d78e404
Merge pull request #27 from serbuvlad/1-dmarc-integration
hpc-aulmamei Jun 17, 2025
da28afb
Integrate DCMAC logic supporting 200G interfaces (#28)
mariodruiz Jun 24, 2025
abefb38
Added ioctl and bar access. TODO: qdma mastering
hpc-aulmamei Jun 30, 2025
23b60ae
Added DCMAC example with two interfaces.
hpc-aulmamei Jul 21, 2025
342c2ee
DCMAC and related infrastructure driver
mariodruiz Jul 21, 2025
d1aa4b3
Add requirements.txt
mariodruiz Jul 21, 2025
16a1cbd
Merge pull request #35 from mariodruiz/network-drive
hpc-aulmamei Jul 22, 2025
0536e2c
Initial slash_driver/vrt version
serbuvlad Sep 11, 2025
dd01d81
Added Doxygen comments and documentation for libvrtd and libvrtdpp
serbuvlad Sep 17, 2025
38c30d3
Added copyright headers to files
serbuvlad Sep 17, 2025
c4e4584
Updated noc export tcl to not cause VSEC error. This is a temporary f…
hpc-aulmamei Jul 8, 2025
e436009
Changed slash_driver to slash for naming
serbuvlad Oct 1, 2025
f8e2d89
Added vrtd documentation
serbuvlad Oct 1, 2025
b8952bb
added preliminary support for mock device in vrt
serbuvlad Oct 22, 2025
f7353ef
qdma driver work
serbuvlad Nov 18, 2025
12a69a5
Added qdma to vrtd
serbuvlad Nov 18, 2025
dd4b840
readthedocs
quetric May 16, 2025
25a611d
Add doc root page
quetric May 19, 2025
90d3504
Add VRT Doxy to RTD
quetric May 19, 2025
5798fb7
Fix doxy html path
quetric May 19, 2025
43ebccf
Doxy RTD
quetric May 19, 2025
a114869
Changed package.py to support deb install without V80 card present.
hpc-aulmamei May 19, 2025
1968a50
Updated driver Makefile to support loading without V80 present.
hpc-aulmamei May 19, 2025
f60e119
Updated aved patch to support building vivado project.
hpc-aulmamei May 19, 2025
4677231
Fix Doxy path
quetric May 19, 2025
dcdf3f2
Contribution guidelines
quetric May 20, 2025
5c35983
Update CONTRIBUTING.md
quetric May 20, 2025
9894e75
Added support for generation of base pdi.
hpc-aulmamei May 29, 2025
0a9c97d
Fixed minor bug where the lock file will not be deleted.
hpc-aulmamei May 30, 2025
d2c7b22
Fix cahcing in multi-user systems using XDG dirs
serbuvlad May 20, 2025
e2a270c
Fixed build for base pdi without noc solution present. Fixed build de…
hpc-aulmamei Jun 3, 2025
aec7b98
Fixed missing script copy.
hpc-aulmamei Jun 5, 2025
0dc40fc
Add CI test for driver and linker build (#25)
quetric Jun 12, 2025
ac36f6e
Updated noc export tcl to not cause VSEC error. This is a temporary f…
hpc-aulmamei Jul 8, 2025
e4215d6
Fixed vsec table error in AMI.
hpc-aulmamei Sep 2, 2025
7a530e5
Fixed bug in build.py for noc export
hpc-aulmamei Aug 19, 2025
21377d1
Added delay to toggle_sbr for smi.
hpc-aulmamei Sep 2, 2025
79f6f6f
Added RHEL support for driver
hpc-aulmamei Sep 5, 2025
fb8bb1b
Add warning in README
quetric Sep 3, 2025
0fc3de3
Updated driver for compatibility with RHEL
hpc-aulmamei Sep 5, 2025
e73dec7
Updated driver for compatibility with RHEL
hpc-aulmamei Sep 5, 2025
b9cde75
Updated driver.
hpc-aulmamei Sep 6, 2025
d10c174
Updated driver.
hpc-aulmamei Sep 6, 2025
5203396
Updated setup_queues.sh to include path for qdma tools.
hpc-aulmamei Sep 8, 2025
6f9f72e
Updated package script to support rpm generation.
hpc-aulmamei Sep 8, 2025
5893bfa
Added tcl injection to run_pre.tcl and run_post.tcl
serbuvlad Oct 24, 2025
0c82bdc
Removed duplicate initialization from bash script
serbuvlad Oct 25, 2025
788987a
WIP: New linker
hpc-aulmamei Dec 15, 2025
084a4f9
QDMA bug fix
serbuvlad Dec 17, 2025
1cc2db8
Moved linker to root directory. Added address generation.
hpc-aulmamei Dec 28, 2025
2fed838
Moved dcmac to linker "
hpc-aulmamei Dec 28, 2025
4e4c1b4
Merge branch 'dev' into dev
hpc-aulmamei Dec 28, 2025
3f03b2c
Merge pull request #1 from serbuvlad/dev
hpc-aulmamei Dec 28, 2025
5d47e63
Merge branch 'dev' of github.com:Xilinx/SLASH into dev
hpc-aulmamei Dec 28, 2025
6097d7d
Merge branch 'dev' of github.com:hpc-aulmamei/SLASH into dev
hpc-aulmamei Dec 28, 2025
96aced1
Updated design files. Added create_project script which takes output …
hpc-aulmamei Dec 29, 2025
2214450
Removed unused .venv
hpc-aulmamei Dec 30, 2025
196c341
Removed pycache
hpc-aulmamei Dec 30, 2025
709180a
Small changes in slash base.
hpc-aulmamei Jan 3, 2026
f7a1813
Added project generation tcl files.
hpc-aulmamei Jan 5, 2026
dd59842
Added pblock constraints
hpc-aulmamei Jan 5, 2026
bac0077
Updated slash and service layer tcl templates
hpc-aulmamei Jan 5, 2026
488205a
Added support for hls kernel data width allignment for modules connec…
hpc-aulmamei Jan 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,4 @@ Thumbs.db
!build_all.sh

.clang-format
.cache
3 changes: 1 addition & 2 deletions deploy/base_pdi/tcl/export_noc.tcl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
deploy/base_pdi/build.py# ##################################################################################################
# ##################################################################################################
# The MIT License (MIT)
# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
#
Expand All @@ -22,6 +22,5 @@ set build_dir "build"
open_project $build_dir/prj.xpr
open_run synth_1
set_property lock true [get_noc_net_routes -of [get_noc_logical_paths -filter {initial_boot == 1}]]
set_property lock true [get_noc_net_routes -of [get_noc_logical_paths -of [get_noc_logical_instances *n?u128*]]]
write_noc_solution -file noc_sol.ncr
exit
5 changes: 3 additions & 2 deletions deploy/package/package.py
Original file line number Diff line number Diff line change
Expand Up @@ -244,8 +244,9 @@ def write_debian_scripts(debian_dir):
fi
for dev in /dev/pcie_hotplug*; do
if [ -e "$dev" ]; then
chmod 666 "$dev" || true
chown root:users "$dev" || true
chmod 666 "$dev" || echo "Warning: Failed to set permissions for $dev"
chown root:users "$dev" || echo "Warning: Failed to change owner for $dev"
echo "Set permissions for $dev"
fi
done
EOF
Expand Down
10 changes: 10 additions & 0 deletions driver/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Kernel module build artifacts
*.o
*.ko
*.mod
*.mod.c
*.mod.o
*.cmd
Module.symvers
modules.order
compile_commands_driver.json
82 changes: 82 additions & 0 deletions driver/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
#/**
# * Copyright (C) 2025 Advanced Micro Devices, Inc. All rights reserved.
# * This program is free software; you can redistribute it and/or modify it under the terms of the
# * GNU General Public License as published by the Free Software Foundation; version 2.
# *
# * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
# * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# * General Public License for more details.
# *
# * You should have received a copy of the GNU General Public License along with this program; if
# * not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# * 02110-1301, USA.
# */


MODULE := slash

KDIR ?= /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

QDMA_DRV_ROOT := ../submodules/qdma_drv/QDMA/linux-kernel/driver

obj-m := $(MODULE).o
$(MODULE)-objs := $(MODULE)_main.o $(MODULE)_ctldev.o $(MODULE)_pcie.o $(MODULE)_dmabuf.o $(MODULE)_hotplug.o $(MODULE)_qdma.o
ccflags-y += \
-I$(src)/libslash/include \
-I$(src)/libslash/include/slash/uapi \
-I$(src)/$(QDMA_DRV_ROOT)/libqdma \
-I$(src)/$(QDMA_DRV_ROOT)/libqdma/qdma_access \
-I$(src)/$(QDMA_DRV_ROOT)/libqdma/qdma_access/eqdma_cpm5_access \
-I$(src)/$(QDMA_DRV_ROOT)/libqdma/qdma_access/eqdma_soft_access \
-I$(src)/$(QDMA_DRV_ROOT)/libqdma/qdma_access/qdma_cpm4_access \
-I$(src)/$(QDMA_DRV_ROOT)/libqdma/qdma_access/qdma_soft_access


LIBQDMA_OBJS := \
$(QDMA_DRV_ROOT)/libqdma/qdma_mbox.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_intr.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_st_c2h.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_thread.o \
$(QDMA_DRV_ROOT)/libqdma/libqdma_export.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_context.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_sriov.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_platform.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_descq.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_regs.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_debugfs.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_debugfs_dev.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_debugfs_queue.o \
$(QDMA_DRV_ROOT)/libqdma/libqdma_config.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_device.o \
$(QDMA_DRV_ROOT)/libqdma/xdev.o \
$(QDMA_DRV_ROOT)/libqdma/thread.o

QDMA_ACCESS_OBJS := \
$(QDMA_DRV_ROOT)/libqdma/qdma_access/qdma_mbox_protocol.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_access/qdma_list.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_access/qdma_access_common.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_access/qdma_resource_mgmt.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_access/qdma_cpm4_access/qdma_cpm4_access.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_access/qdma_cpm4_access/qdma_cpm4_reg_dump.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_access/qdma_soft_access/qdma_soft_access.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_access/eqdma_soft_access/eqdma_soft_access.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_access/eqdma_soft_access/eqdma_soft_reg_dump.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_access/eqdma_cpm5_access/eqdma_cpm5_access.o \
$(QDMA_DRV_ROOT)/libqdma/qdma_access/eqdma_cpm5_access/eqdma_cpm5_reg_dump.o

$(MODULE)-objs += $(LIBQDMA_OBJS) $(QDMA_ACCESS_OBJS)


all:
$(MAKE) -C $(KDIR) M=$(PWD) modules

clean:
$(MAKE) -C $(KDIR) M=$(PWD) clean

install: all
sudo install -d -m 755 /lib/modules/$(shell uname -r)/extra
sudo install -m 644 $(MODULE).ko /lib/modules/$(shell uname -r)/extra
sudo depmod -a

.PHONY: all clean install
99 changes: 99 additions & 0 deletions driver/libslash/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# ##################################################################################################
# The MIT License (MIT)
# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software
# and associated documentation files (the "Software"), to deal in the Software without restriction,
# including without limitation the rights to use, copy, modify, merge, publish, distribute,
# sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or
# substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
# NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# ##################################################################################################

cmake_minimum_required(VERSION 3.16)

project(libslash
VERSION 0.1.0
LANGUAGES C
)

# Allow user to choose shared vs static (standard CMake variable)
option(BUILD_SHARED_LIBS "Build shared libraries" ON)
# Optionally build examples
option(SLASH_BUILD_EXAMPLES "Build example executables" ON)

include(CTest)
option(SLASH_BUILD_TESTS "Build libslash unit tests" ON)

include(GNUInstallDirs)
include(CMakePackageConfigHelpers)

add_subdirectory(src)
if(SLASH_BUILD_EXAMPLES)
add_subdirectory(examples)
endif()
if(BUILD_TESTING AND SLASH_BUILD_TESTS)
add_subdirectory(tests)
endif()

# -------- Installation: headers and library --------
# Public headers are under include/ (layout: include/slash/*.h)
install(
DIRECTORY "${PROJECT_SOURCE_DIR}/include/"
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
)

install(
TARGETS slash
EXPORT slashTargets
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
)

# -------- CMake package configuration --------
# Generate the version file
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/slashConfigVersion.cmake"
VERSION ${PROJECT_VERSION}
COMPATIBILITY SameMinorVersion
)

# Configure the main package config from template
configure_package_config_file(
"${PROJECT_SOURCE_DIR}/cmake/slashConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/slashConfig.cmake"
INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/slash"
)

# Export targets for *install* tree
install(
EXPORT slashTargets
NAMESPACE slash::
FILE slashTargets.cmake
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/slash"
)

# Install the config + version files
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/slashConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/slashConfigVersion.cmake"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/slash"
)

# Export targets for *build* tree so a project can use this directory directly
export(
EXPORT slashTargets
NAMESPACE slash::
FILE "${CMAKE_CURRENT_BINARY_DIR}/slashTargets.cmake"
)
26 changes: 26 additions & 0 deletions driver/libslash/cmake/slashConfig.cmake.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# ##################################################################################################
# The MIT License (MIT)
# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software
# and associated documentation files (the "Software"), to deal in the Software without restriction,
# including without limitation the rights to use, copy, modify, merge, publish, distribute,
# sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or
# substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
# NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# ##################################################################################################

@PACKAGE_INIT@

# If you have dependencies, call find_dependency() here.
# e.g.: find_dependency(Threads)

include("${CMAKE_CURRENT_LIST_DIR}/slashTargets.cmake")
22 changes: 22 additions & 0 deletions driver/libslash/examples/01_bar/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# ##################################################################################################
# The MIT License (MIT)
# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software
# and associated documentation files (the "Software"), to deal in the Software without restriction,
# including without limitation the rights to use, copy, modify, merge, publish, distribute,
# sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or
# substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
# NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# ##################################################################################################

add_executable(print_bar ${CMAKE_CURRENT_SOURCE_DIR}/print_bar.c)
target_link_libraries(print_bar PRIVATE slash::slash)
74 changes: 74 additions & 0 deletions driver/libslash/examples/01_bar/print_bar.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#define _GNU_SOURCE

#include <stdio.h>
#include <fcntl.h>
#include <stdint.h>

#include <slash/ctldev.h>

int main()
{
struct slash_ioctl_bar_info *bar_info;
struct slash_bar_file *bar_file;
struct slash_ctldev *ctldev;

ctldev = slash_ctldev_open("/dev/slash_ctl0");
if (ctldev == NULL) {
perror("1");
return 1;
}

for (int i = 0; i < 6; i++) {
bar_info = slash_bar_info_read(ctldev, i);
if (bar_info == NULL) {
perror("2");
continue;
} else {
printf("BAR Info:\n");
printf(" bar_number: %d\n", bar_info->bar_number);
printf(" usable: %s\n", bar_info->usable ? "true" : "false");
printf(" in_use: %s\n", bar_info->in_use ? "true" : "false");
printf(" start_address: 0x%llx\n", bar_info->start_address);
printf(" length: 0x%llx\n", bar_info->length);

if (bar_info->usable) {
volatile uint32_t *p;
uint32_t val;

bar_file = slash_bar_file_open(ctldev, i, O_CLOEXEC);
if (bar_file == NULL) {
perror("3");
continue;
}

p = bar_file->map;

slash_bar_file_start_write(bar_file);

p[0] = 1;

slash_bar_file_end_write(bar_file);

slash_bar_file_start_read(bar_file);

val = p[0];

slash_bar_file_end_read(bar_file);

printf("BAR%d: wrote 1 read back %u\n", i, val);

if (slash_bar_file_close(bar_file) != 0) {
perror("4");
}
}

slash_bar_info_free(bar_info);
}
}

if (slash_ctldev_close(ctldev) != 0) {
perror("5");
return 1;
}
return 0;
}
22 changes: 22 additions & 0 deletions driver/libslash/examples/02_test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# ##################################################################################################
# The MIT License (MIT)
# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software
# and associated documentation files (the "Software"), to deal in the Software without restriction,
# including without limitation the rights to use, copy, modify, merge, publish, distribute,
# sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or
# substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
# NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# ##################################################################################################

add_executable(some_tb ${CMAKE_CURRENT_SOURCE_DIR}/some_tb.c)
target_link_libraries(some_tb PRIVATE slash::slash)
Loading
Loading