copydlls.cmake 966 B

12345678910111213141516171819202122232425
  1. # this module expects
  2. # DLLS
  3. # CONF
  4. # DESTINATION
  5. # example usage:
  6. # cmake -DDLL_DEBUG=xd.dll -DDLL_RELEASE=x.dll -DCONFIGURATION=Release -DDESTINATION=dest -P scripts/copydlls.cmake
  7. # this script is created cause we do not know configuration in multiconfiguration generators at cmake configure phase ;)
  8. if ("${CONF}" STREQUAL "Debug")
  9. execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${DLL_DEBUG}" "${DESTINATION}")
  10. # hack, copy it twice. with and without d.dll suffix
  11. # at first let's get the file name part
  12. get_filename_component(DLL_DEBUG_D_NAME ${DLL_DEBUG} NAME)
  13. string(REPLACE "d.dll" ".dll" DLL_DEBUG_D_NAME "${DLL_DEBUG_D_NAME}")
  14. string(REPLACE "_.dll" ".dll" DLL_DEBUG_D_NAME "${DLL_DEBUG_D_NAME}")
  15. set(DESTINATION_D "${DESTINATION}/${DLL_DEBUG_D_NAME}")
  16. execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${DLL_DEBUG}" "${DESTINATION_D}")
  17. else ()
  18. execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${DLL_RELEASE}" "${DESTINATION}")
  19. endif()