CMakeLists.txt 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #note: experimental
  2. # currently only used for generating `compile_commands.json` for clangd
  3. # to build this project, it's suggested to use `makefile` instead
  4. cmake_minimum_required(VERSION 3.7)
  5. project(tinyvpn)
  6. set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
  7. set(CMAKE_CXX_STANDARD 11)
  8. set(SOURCE_FILES
  9. UDPspeeder/log.cpp
  10. UDPspeeder/common.cpp
  11. UDPspeeder/lib/fec.cpp
  12. UDPspeeder/lib/rs.cpp
  13. UDPspeeder/packet.cpp
  14. UDPspeeder/delay_manager.cpp
  15. UDPspeeder/fd_manager.cpp
  16. UDPspeeder/connection.cpp
  17. UDPspeeder/fec_manager.cpp
  18. UDPspeeder/misc.cpp
  19. UDPspeeder/my_ev.cpp
  20. main.cpp
  21. tun_dev_client.cpp
  22. tun_dev_server.cpp
  23. tun_dev.cpp
  24. )
  25. set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-variable -Wno-unused-parameter -Wno-missing-field-initializers -O2 -g -fsanitize=address,undefined")
  26. #target_include_directories(speederv2 PRIVATE .)
  27. #set(CMAKE_LINK_LIBRARY_FLAG "-lrt")
  28. add_executable(tinyvpn ${SOURCE_FILES})
  29. target_link_libraries(tinyvpn rt)
  30. target_link_libraries(tinyvpn pthread)
  31. include_directories(SYSTEM "UDPspeeder/libev")
  32. include_directories("UDPspeeder")
  33. include_directories(".")