cmake_minimum_required(VERSION 3.29) project(envyd VERSION 0.1 LANGUAGES C) set(CMAKE_C_STANDARD 17) # 1. sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/fedora39/x86_64/cuda-fedora39.repo # 2. sudo dnf clean all # 3. sudo dnf module disable nvidia-driver # 4. sudo dnf install -y cuda #... afterwards, the following must match: sudo find /usr -type f -name nvml.h # 5. sudo dnf install -y json-c\* # 6. nvdialog (https://github.com/tseli0s/nvdialog): # - download from releases # - sudo mkdir /usr/local/include/nvdialog/ # - sudo mv include/ /usr/local/include/nvdialog/ # - sudo mv libnvdialog.so /usr/local/lib/ # for anyone who's going to look at this in the future, # the author is completely incompetent in setting up anything # that might remotely *resemble* an actual build, so please fix it if you may :) option(INSECURE "Disable authorization for setters" ON) include_directories("/usr/local/cuda-12.6/include") include_directories("/usr/include/json-c") include_directories("/usr/local/include/nvdialog") find_package(JSON-C REQUIRED) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic") if(INSECURE) add_definitions(-DINSECURE) endif() add_executable( ${PROJECT_NAME} src/main.c src/helpers.c src/helpers.h src/network.c src/network.h ) target_link_libraries( ${PROJECT_NAME} PRIVATE "/usr/local/cuda-12.6/lib64/stubs/libnvidia-ml.so" PRIVATE "/usr/lib64/libjson-c.so" PRIVATE "/usr/local/lib/libnvdialog.so.2" )