cmake_minimum_required(VERSION 3.17) project(VulcanoLE) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") find_package(Threads REQUIRED) find_package(udev REQUIRED) find_package(HIDAPI REQUIRED) pkg_check_modules(LIBUSB REQUIRED libusb-1.0) find_package(JACK REQUIRED) set(SOURCE_FILES src/VulcanoLE/API/HIDHelper.cpp src/VulcanoLE/API/I2C.cpp src/VulcanoLE/Keyboards/Vulcan121.cpp src/VulcanoLE/Audio/JackClient.cpp src/VulcanoLE/Audio/AudioGrabber.cpp src/VulcanoLE/Audio/FFT.cpp src/VulcanoLE/Audio/VisAudioRunner.cpp src/VulcanoLE/Visual/VisPlugins.cpp src/VulcanoLE/Colors/ColorHelper.cpp src/VulcanoLE/Scripts/Loudness.cpp src/VulcanoLE/Scripts/Spectrum.cpp src/VulcanoLE/Scripts/PoliceLike.cpp src/VulcanoLE/Scripts/RainbowLine.cpp src/VulcanoLE/Scripts/Random.cpp src/VulcanoLE/Scripts/RainbowMap.cpp src/VulcanoLE/Scripts/Spectral.cpp src/VulcanoLE/Scripts/BassHistory.cpp src/VulcanoLE/Scripts/TheUnknown.cpp src/VulcanoLE/Scripts/Strobo.cpp src/VulcanoLE/Audio/Filter.cpp ) set(UTILS_FILES src/VUtils/Logging.cpp src/VUtils/FileHandler.cpp src/VUtils/Pool.cpp src/VUtils/Environment.cpp src/VUtils/Random.cpp src/VUtils/StringUtils.cpp src/VUtils/Math.cpp src/VUtils/SimplexNoise.cpp ) include_directories(${CMAKE_SOURCE_DIR}/headers/) add_executable( VulcanoLE main.cpp ${SOURCE_FILES} ${UTILS_FILES} ) target_link_libraries(VulcanoLE fftw3 evdev hidapi-libusb udev jack ${CMAKE_DL_LIBS} ${DYNAMIC_LIBRARIES} Threads::Threads m debug tbb)