CMakeLists.txt 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. cmake_minimum_required(VERSION 3.1)
  2. project(enet C)
  3. set(ENET_DEBUG OFF CACHE BOOL "Enable debug functionality")
  4. set(ENET_STATIC OFF CACHE BOOL "Create a static library")
  5. set(ENET_SHARED OFF CACHE BOOL "Create a shared library")
  6. set(ENET_LZ4 OFF CACHE BOOL "Add support for an optional packet-level compression")
  7. if (ENET_DEBUG)
  8. add_definitions(-DENET_DEBUG)
  9. endif()
  10. if (ENET_LZ4)
  11. add_definitions(-DENET_LZ4)
  12. set(SOURCES lz4/lz4.c)
  13. endif()
  14. if (ENET_STATIC)
  15. add_library(enet_static STATIC enet.c ${SOURCES})
  16. if (WIN32)
  17. target_link_libraries(enet_static winmm ws2_32)
  18. target_compile_definitions(enet PRIVATE _CRT_SECURE_NO_WARNINGS)
  19. SET_TARGET_PROPERTIES(enet_static PROPERTIES PREFIX "")
  20. endif()
  21. endif()
  22. if (ENET_SHARED)
  23. add_definitions(-DENET_DLL)
  24. add_library(enet SHARED enet.c ${SOURCES})
  25. if (WIN32)
  26. target_link_libraries(enet winmm ws2_32)
  27. target_compile_definitions(enet PRIVATE _CRT_SECURE_NO_WARNINGS)
  28. SET_TARGET_PROPERTIES(enet PROPERTIES PREFIX "")
  29. endif()
  30. endif()