include_directories(${CMAKE_CURRENT_SOURCE_DIR}) set(horus_srcs fsk.c kiss_fft.c kiss_fftr.c mpdecode_core.c H_256_768_22.c H_128_384_23.c golay23.c phi0.c horus_api.c horus_l2.c ) add_library(horus SHARED ${horus_srcs}) target_link_libraries(horus m) set_target_properties(horus PROPERTIES PUBLIC_HEADER horus_api.h ) target_include_directories(horus INTERFACE $ $ ) install(TARGETS horus EXPORT horus-config LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/horus ) install(EXPORT horus-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/horus ) # Export libhab target for import into build trees of other projects. export(TARGETS horus FILE ${CMAKE_BINARY_DIR}/horus.cmake ) add_executable(fsk_mod fsk_mod.c) target_link_libraries(fsk_mod m horus ${CMAKE_REQUIRED_LIBRARIES}) add_executable(fsk_demod fsk_demod.c modem_probe.c octave.c) target_link_libraries(fsk_demod m horus ${CMAKE_REQUIRED_LIBRARIES}) add_executable(fsk_get_test_bits fsk_get_test_bits.c) target_link_libraries(fsk_get_test_bits) add_executable(fsk_put_test_bits fsk_put_test_bits.c) target_link_libraries(fsk_put_test_bits ${CMAKE_REQUIRED_LIBRARIES}) add_executable(drs232 drs232.c) target_link_libraries(drs232 m horus ${CMAKE_REQUIRED_LIBRARIES}) add_executable(drs232_ldpc drs232_ldpc.c) target_link_libraries(drs232_ldpc m horus ${CMAKE_REQUIRED_LIBRARIES}) add_definitions(-DINTERLEAVER -DSCRAMBLER -DRUN_TIME_TABLES) add_executable(horus_gen_test_bits horus_gen_test_bits.c horus_l2.c) target_link_libraries(horus_gen_test_bits m horus) add_definitions(-DHORUS_L2_RX -DINTERLEAVER -DSCRAMBLER -DRUN_TIME_TABLES) add_executable(horus_demod horus_demod.c horus_api.c horus_l2.c golay23.c fsk.c kiss_fft.c) target_link_libraries(horus_demod m horus ${CMAKE_REQUIRED_LIBRARIES}) install(TARGETS fsk_mod fsk_demod fsk_get_test_bits fsk_put_test_bits drs232 drs232_ldpc horus_gen_test_bits horus_demod DESTINATION bin)