cmake_minimum_required(VERSION 3.17) project(VulcanoLE) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG") list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") find_package(udev REQUIRED) find_package(HIDAPI REQUIRED) pkg_check_modules(LIBUSB REQUIRED libusb-1.0) find_package(Threads REQUIRED) find_library(PULSE_FOUND NAMES pulse) if (PULSE_FOUND) set(DYNAMIC_LIBRARIES ${DYNAMIC_LIBRARIES} pulse pulse-simple) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_ENABLE_PULSE") set(CMAKE_LD_FLAGS "${CMAKE_LD_FLAGS} -D_ENABLE_PULSE") endif () set(SOURCE_FILES src/VulcanoLE/API/HIDHelper.cpp src/VulcanoLE/Keyboards/Vulcan121.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 ) set(UTILS_FILES src/VUtils/Logging.cpp src/VUtils/FileHandler.cpp src/VUtils/Pool.cpp src/VUtils/Environment.cpp src/VUtils/StringUtils.cpp src/VUtils/Math.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 ${CMAKE_DL_LIBS} ${DYNAMIC_LIBRARIES} Threads::Threads m debug tbb)