cmake_minimum_required(VERSION 3.20) SET(APP_NAME wfr) project(${APP_NAME}) set(CMAKE_CXX_STANDARD 17) add_executable(${APP_NAME} main.cpp src/ALSADevice.cpp src/ALSADevice.h src/MemoryPool.cpp src/MemoryPool.h utils/Semaphore.h utils/Semaphore.cpp src/SampleWriter.h src/Timestamp.h #src/SampleReceiver.h src/audio_types.h src/ServerBeacon.cpp src/ServerBeacon.h src/GUI.h src/globals.h src/Callback.h src/MultiStreamReceiver.cpp src/MultiStreamReceiver.h) find_package(Threads REQUIRED) if (THREADS_FOUND) target_link_libraries(${APP_NAME} Threads::Threads) endif (THREADS_FOUND) find_package(ALSA REQUIRED) if (ALSA_FOUND) target_include_directories(${APP_NAME} PUBLIC ${ALSA_INCLUDE_DIRS}) target_link_libraries(${APP_NAME} ${ALSA_LIBRARIES}) endif (ALSA_FOUND) find_package(PkgConfig REQUIRED) pkg_check_modules(GTK3 REQUIRED gtk+-3.0) if (GTK3_FOUND) target_include_directories(${APP_NAME} PUBLIC ${GTK3_INCLUDE_DIRS}) target_link_directories(${APP_NAME} PUBLIC ${GTK3_LIBRARY_DIRS}) add_definitions(${GTK3_CFLAGS_OTHER}) target_link_libraries(${APP_NAME} ${GTK3_LIBRARIES}) endif(GTK3_FOUND) pkg_check_modules(GTKMM REQUIRED gtkmm-3.0) if (GTKMM_FOUND) target_include_directories(${APP_NAME} PUBLIC ${GTKMM_INCLUDE_DIRS}) target_link_directories(${APP_NAME} PUBLIC ${GTKMM_LIBRARY_DIRS}) target_link_libraries(${APP_NAME} ${GTKMM_LIBRARIES}) endif(GTKMM_FOUND) install(TARGETS ${APP_NAME} RUNTIME DESTINATION ${PROJECT_SOURCE_DIR}/runtime ARCHIVE DESTINATION ${PROJECT_SOURCE_DIR}/runtime) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-rdynamic")