@@ -179,48 +179,10 @@ if(BUILD_SHARED)
179179 target_link_libraries (dmdutil-generate-scenes PUBLIC dmdutil_shared)
180180
181181 if (POST_BUILD_COPY_EXT_LIBS)
182- if (PLATFORM STREQUAL "win" )
183- if (ARCH STREQUAL "x64" )
184- add_custom_command (TARGET dmdserver POST_BUILD
185- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /cargs64.lib" "$<TARGET_FILE_DIR:dmdserver>"
186- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /cargs64.dll" "$<TARGET_FILE_DIR:dmdserver>"
187- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /zedmd64.lib" "$<TARGET_FILE_DIR:dmdserver>"
188- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /zedmd64.dll" "$<TARGET_FILE_DIR:dmdserver>"
189- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /serum64.lib" "$<TARGET_FILE_DIR:dmdserver>"
190- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /serum64.dll" "$<TARGET_FILE_DIR:dmdserver>"
191- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /libserialport64.lib" "$<TARGET_FILE_DIR:dmdserver>"
192- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /libserialport64.dll" "$<TARGET_FILE_DIR:dmdserver>"
193- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /sockpp64.lib" "$<TARGET_FILE_DIR:dmdserver>"
194- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /sockpp64.dll" "$<TARGET_FILE_DIR:dmdserver>"
195- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /pupdmd64.lib" "$<TARGET_FILE_DIR:dmdserver>"
196- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /pupdmd64.dll" "$<TARGET_FILE_DIR:dmdserver>"
197- )
198- else ()
199- add_custom_command (TARGET dmdserver POST_BUILD
200- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /cargs.lib" "$<TARGET_FILE_DIR:dmdserver>"
201- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /cargs.dll" "$<TARGET_FILE_DIR:dmdserver>"
202- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /zedmd.lib" "$<TARGET_FILE_DIR:dmdserver>"
203- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /zedmd.dll" "$<TARGET_FILE_DIR:dmdserver>"
204- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /serum.lib" "$<TARGET_FILE_DIR:dmdserver>"
205- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /serum.dll" "$<TARGET_FILE_DIR:dmdserver>"
206- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /libserialport.lib" "$<TARGET_FILE_DIR:dmdserver>"
207- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /libserialport.dll" "$<TARGET_FILE_DIR:dmdserver>"
208- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /sockpp.lib" "$<TARGET_FILE_DIR:dmdserver>"
209- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /sockpp.dll" "$<TARGET_FILE_DIR:dmdserver>"
210- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /pupdmd.lib" "$<TARGET_FILE_DIR:dmdserver>"
211- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /pupdmd.dll" "$<TARGET_FILE_DIR:dmdserver>"
212- )
213- endif ()
214- elseif (PLATFORM STREQUAL "macos" )
215- add_custom_command (TARGET dmdserver POST_BUILD
216- COMMAND cp -a "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /*.dylib" "$<TARGET_FILE_DIR:dmdserver>"
217- )
218- elseif (PLATFORM STREQUAL "linux" )
219- add_custom_command (TARGET dmdserver POST_BUILD
220- COMMAND cp -a "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /*.so" "$<TARGET_FILE_DIR:dmdserver>"
221- COMMAND cp -a "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /*.so.*" "$<TARGET_FILE_DIR:dmdserver>"
222- )
223- endif ()
182+ add_dependencies (dmdserver copy_ext_libs)
183+ add_dependencies (dmdserver_test copy_ext_libs)
184+ add_dependencies (dmdutil_test copy_ext_libs)
185+ add_dependencies (dmdutil-generate-scenes copy_ext_libs)
224186 endif ()
225187 endif ()
226188endif ()
@@ -273,48 +235,54 @@ if(BUILD_STATIC)
273235 endif ()
274236
275237 if (POST_BUILD_COPY_EXT_LIBS)
276- if (PLATFORM STREQUAL "win" )
277- if (ARCH STREQUAL "x64" )
278- add_custom_command (TARGET dmdutil_test_s POST_BUILD
279- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /cargs64.lib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
280- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /cargs64.dll" "$<TARGET_FILE_DIR:dmdutil_test_s>"
281- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /zedmd64.lib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
282- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /zedmd64.dll" "$<TARGET_FILE_DIR:dmdutil_test_s>"
283- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /serum64.lib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
284- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /serum64.dll" "$<TARGET_FILE_DIR:dmdutil_test_s>"
285- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /libserialport64.lib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
286- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /libserialport64.dll" "$<TARGET_FILE_DIR:dmdutil_test_s>"
287- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /sockpp64.lib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
288- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /sockpp64.dll" "$<TARGET_FILE_DIR:dmdutil_test_s>"
289- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /pupdmd64.lib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
290- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /pupdmd64.dll" "$<TARGET_FILE_DIR:dmdutil_test_s>"
291- )
292- else ()
293- add_custom_command (TARGET dmdutil_test_s POST_BUILD
294- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /cargs.lib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
295- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /cargs.dll" "$<TARGET_FILE_DIR:dmdutil_test_s>"
296- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /zedmd.lib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
297- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /zedmd.dll" "$<TARGET_FILE_DIR:dmdutil_test_s>"
298- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /serum.lib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
299- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /serum.dll" "$<TARGET_FILE_DIR:dmdutil_test_s>"
300- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /libserialport.lib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
301- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /libserialport.dll" "$<TARGET_FILE_DIR:dmdutil_test_s>"
302- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /sockpp.lib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
303- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /sockpp.dll" "$<TARGET_FILE_DIR:dmdutil_test_s>"
304- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /pupdmd.lib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
305- COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /pupdmd.dll" "$<TARGET_FILE_DIR:dmdutil_test_s>"
306- )
307- endif ()
308- elseif (PLATFORM STREQUAL "macos" )
309- add_custom_command (TARGET dmdutil_test_s POST_BUILD
310- COMMAND cp -a "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /*.dylib" "$<TARGET_FILE_DIR:dmdutil_test_s>"
311- )
312- else ()
313- add_custom_command (TARGET dmdutil_test_s POST_BUILD
314- COMMAND cp -a "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /*.so" "$<TARGET_FILE_DIR:dmdutil_test_s>"
315- COMMAND cp -a "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /*.so.*" "$<TARGET_FILE_DIR:dmdutil_test_s>"
316- )
317- endif ()
238+ add_dependencies (dmdutil_test_s copy_ext_libs)
318239 endif ()
319240 endif ()
320241endif ()
242+
243+ if (POST_BUILD_COPY_EXT_LIBS AND (PLATFORM STREQUAL "win" OR PLATFORM STREQUAL "macos" OR PLATFORM STREQUAL "linux" ))
244+ add_custom_target (copy_ext_libs ALL )
245+
246+ if (PLATFORM STREQUAL "win" )
247+ if (ARCH STREQUAL "x64" )
248+ add_custom_command (TARGET copy_ext_libs POST_BUILD
249+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /cargs64.lib" "${CMAKE_BINARY_DIR} "
250+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /cargs64.dll" "${CMAKE_BINARY_DIR} "
251+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /zedmd64.lib" "${CMAKE_BINARY_DIR} "
252+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /zedmd64.dll" "${CMAKE_BINARY_DIR} "
253+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /serum64.lib" "${CMAKE_BINARY_DIR} "
254+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /serum64.dll" "${CMAKE_BINARY_DIR} "
255+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /libserialport64.lib" "${CMAKE_BINARY_DIR} "
256+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /libserialport64.dll" "${CMAKE_BINARY_DIR} "
257+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /sockpp64.lib" "${CMAKE_BINARY_DIR} "
258+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /sockpp64.dll" "${CMAKE_BINARY_DIR} "
259+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /pupdmd64.lib" "${CMAKE_BINARY_DIR} "
260+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /pupdmd64.dll" "${CMAKE_BINARY_DIR} "
261+ )
262+ else ()
263+ add_custom_command (TARGET copy_ext_libs POST_BUILD
264+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /cargs.lib" "${CMAKE_BINARY_DIR} "
265+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /cargs.dll" "${CMAKE_BINARY_DIR} "
266+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /zedmd.lib" "${CMAKE_BINARY_DIR} "
267+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /zedmd.dll" "${CMAKE_BINARY_DIR} "
268+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /serum.lib" "${CMAKE_BINARY_DIR} "
269+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /serum.dll" "${CMAKE_BINARY_DIR} "
270+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /libserialport.lib" "${CMAKE_BINARY_DIR} "
271+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /libserialport.dll" "${CMAKE_BINARY_DIR} "
272+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /sockpp.lib" "${CMAKE_BINARY_DIR} "
273+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /sockpp.dll" "${CMAKE_BINARY_DIR} "
274+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/build-libs/${PLATFORM} /${ARCH} /pupdmd.lib" "${CMAKE_BINARY_DIR} "
275+ COMMAND "${CMAKE_COMMAND} " -E copy "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /pupdmd.dll" "${CMAKE_BINARY_DIR} "
276+ )
277+ endif ()
278+ elseif (PLATFORM STREQUAL "macos" )
279+ add_custom_command (TARGET copy_ext_libs POST_BUILD
280+ COMMAND cp -a "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /*.dylib" "${CMAKE_BINARY_DIR} /"
281+ )
282+ elseif (PLATFORM STREQUAL "linux" )
283+ add_custom_command (TARGET copy_ext_libs POST_BUILD
284+ COMMAND cp -a "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /*.so" "${CMAKE_BINARY_DIR} /"
285+ COMMAND cp -a "${CMAKE_SOURCE_DIR} /third-party/runtime-libs/${PLATFORM} /${ARCH} /*.so.*" "${CMAKE_BINARY_DIR} /"
286+ )
287+ endif ()
288+ endif ()
0 commit comments