cmake_minimum_required (VERSION 3.20) project (hamnet70 VERSION 0.1 LANGUAGES C) set(CMAKE_C_STANDARD 99) set(CMAKE_C_FLAGS "-Wall -pedantic -Wextra -DDEBUG_LIQUID -fsanitize=address") include_directories(src) # put all .cpp and .h files into the sources variable set(sources src/utils.c src/utils.h src/logger.c src/logger.h src/jsonlogger.c src/jsonlogger.h src/var_array.c src/var_array.h src/options.c src/options.h src/main.c src/results.h src/config.h src/layer1/correlator.c src/layer1/correlator.h src/layer1/freq_est.c src/layer1/freq_est.h src/layer1/packet_mod.c src/layer1/packet_mod.h src/layer1/preamble.c src/layer1/preamble.h src/layer1/transmission.c src/layer1/transmission.h src/layer1/tx.c src/layer1/tx.h src/layer1/rx.c src/layer1/rx.h src/layer1/whitening.c src/layer1/whitening.h src/layer1/modcod.c src/layer1/modcod.h src/layer1/interleaver.c src/layer1/interleaver.h src/layer2/tundev.c src/layer2/tundev.h src/layer2/packet_queue.c src/layer2/packet_queue.h src/layer2/packet_structs.c src/layer2/packet_structs.h src/layer2/layer2_tx.c src/layer2/layer2_tx.h src/layer2/layer2_rx.c src/layer2/layer2_rx.h src/layer2/ham64.c src/layer2/ham64.h src/layer2/connection.c src/layer2/connection.h src/sdr/sdr_sxceiver.c src/sdr/sdr_sxceiver.h ) include_directories( ${CMAKE_PROJECT_NAME} ) add_executable( ${CMAKE_PROJECT_NAME} ${sources} ) target_link_libraries( ${CMAKE_PROJECT_NAME} liquid m rt fftw3f fec SoapySDR ) add_subdirectory(test)