Browse Source

added unity plugin output folder

c6burns 6 years ago
parent
commit
4c1039ba0e
2 changed files with 23 additions and 5 deletions
  1. 2 0
      .gitignore
  2. 21 5
      CMakeLists.txt

+ 2 - 0
.gitignore

@@ -6,3 +6,5 @@ build*
 **/obj
 .vs
 Directory.Build.rsp
+Unity
+

+ 21 - 5
CMakeLists.txt

@@ -20,11 +20,13 @@
 # SOFTWARE.
 #
 
+set(ENET_LIB_NAME enet)
 cmake_minimum_required(VERSION 3.1)
-project(enet LANGUAGES C)
+project(${ENET_LIB_NAME} LANGUAGES C)
 
 set(ENET_DEBUG OFF CACHE BOOL "Do debug things")
-
+set(ENET_PLUGIN_DIR_BASE "${CMAKE_CURRENT_SOURCE_DIR}/Unity/Plugins")
+set(ENET_PLUGIN_DIR_ARCH "x86_64")
 set(ENET_DEFINES -DENET_NO_PRAGMA_LINK -DENET_DLL)
 set(ENET_DEPS "")
 set(ENET_SRCDIR "Source/Native")
@@ -53,6 +55,20 @@ if(MSVC)
 endif()
 
 include_directories(${ENET_SRCDIR})
-add_library(enet SHARED ${ENET_SRCS})
-target_link_libraries(enet ${ENET_DEPS})
-target_compile_definitions(enet PRIVATE ${ENET_DEFINES})
+add_library(${ENET_LIB_NAME} SHARED ${ENET_SRCS})
+target_link_libraries(${ENET_LIB_NAME} ${ENET_DEPS})
+target_compile_definitions(${ENET_LIB_NAME} PRIVATE ${ENET_DEFINES})
+
+set(ENET_PLUGIN_DIR ${ENET_PLUGIN_DIR_BASE}/${ENET_PLUGIN_DIR_ARCH})
+set(ENET_LIB_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX})
+string(REPLACE ".dylib" ".bundle" ENET_LIB_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
+set(ENET_PLUGIN_NAME ${ENET_LIB_PREFIX}${ENET_LIB_NAME}${ENET_LIB_SUFFIX})
+
+file(MAKE_DIRECTORY ${ENET_PLUGIN_DIR})
+add_custom_command(
+    TARGET ${ENET_LIB_NAME}
+    POST_BUILD
+    COMMAND ${CMAKE_COMMAND} -E copy
+        $<TARGET_FILE:${ENET_LIB_NAME}>
+        ${ENET_PLUGIN_DIR}/${ENET_PLUGIN_NAME}
+)