CMakeLists.txt 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. set(ENET_LIB_NAME enet)
  2. cmake_minimum_required(VERSION 3.1)
  3. project(${ENET_LIB_NAME} LANGUAGES C)
  4. set(ENET_DEBUG OFF CACHE BOOL "Do debug things")
  5. set(ENET_PLUGIN_DIR_BASE "${CMAKE_CURRENT_SOURCE_DIR}/Unity/Plugins")
  6. set(ENET_PLUGIN_DIR_ARCH "x86_64")
  7. set(ENET_DEFINES -DENET_NO_PRAGMA_LINK -DENET_DLL)
  8. set(ENET_DEPS "")
  9. set(ENET_SRCDIR "../Source/Native")
  10. set(ENET_SRCS
  11. ${ENET_SRCDIR}/enet.c
  12. ${ENET_SRCDIR}/enet.h
  13. ${ENET_SRCDIR}/custom/enet_logging.h
  14. ${ENET_SRCDIR}/custom/enet_iosFixes.h
  15. )
  16. if(ENET_DEBUG)
  17. list(APPEND ENET_DEFINES -DENET_DEBUG)
  18. endif()
  19. include_directories(${ENET_SRCDIR})
  20. add_library(${ENET_LIB_NAME} STATIC ${ENET_SRCS})
  21. target_link_libraries(${ENET_LIB_NAME} ${ENET_DEPS})
  22. target_compile_definitions(${ENET_LIB_NAME} PRIVATE ${ENET_DEFINES})
  23. set(ENET_PLUGIN_DIR ${ENET_PLUGIN_DIR_BASE}/${ENET_PLUGIN_DIR_ARCH})
  24. set(ENET_LIB_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX})
  25. string(REPLACE ".dylib" ".bundle" ENET_LIB_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
  26. set(ENET_PLUGIN_NAME ${ENET_LIB_PREFIX}${ENET_LIB_NAME}${ENET_LIB_SUFFIX})
  27. file(MAKE_DIRECTORY ${ENET_PLUGIN_DIR})
  28. add_custom_command(
  29. TARGET ${ENET_LIB_NAME}
  30. POST_BUILD
  31. COMMAND ${CMAKE_COMMAND} -E copy
  32. $<TARGET_FILE:${ENET_LIB_NAME}>
  33. ${ENET_PLUGIN_DIR}/${ENET_PLUGIN_NAME}
  34. )