Le script cmake FindwxWidgets crée la liste de tous les fichiers .lib.CMake list wxWidgets Dll et copiez-les lors de l'installation
Cependant ce script ne fournit pas la liste des dll wxWidgets.
Quel est le script CMake à stocker dans une liste tous les fichiers Dll wxWidgets pour les cibles de débogage et de publication? Ps: J'ai trouvé un projet basé sur wxWidgets et CMake mais ils sont tous liés de manière statique avec wxWidgets.
Travaux en cours:
La solution sale actuelle est de chercher tous les dll dans le répertoire wxWidgets et installer dans le même dossier que le fichier EXE. Cependant, il n'y a pas de filtre pour les composants utilisés car il n'est pas lié à la commande find_package.
# Copy wxWidgets Dll's # extract folder path
file(GLOB wxwidgets_dlls "${wxWidgets_LIB_DIR}/*.dll") list(APPEND WXWidgets_DLL_Slash "") foreach(WXWidgets_DLL ${wxwidgets_dlls}) # Check if dll does not contain "ud" for debug dll get_filename_component(DLL_FILENAME ${WXWidgets_DLL} NAME_WE) string(FIND ${DLL_FILENAME} "ud" debug_annot) if(${debug_annot} LESS 0) string(REPLACE "\\" "/" WXWidgets_DLL ${WXWidgets_DLL}) MESSAGE(STATUS "Install ${WXWidgets_DLL}") list(APPEND WXWidgets_DLL_Slash ${WXWidgets_DLL}) endif() endforeach(WXWidgets_DLL)
install(FILES ${WXWidgets_DLL_Slash} DESTINATION .)
Je ne sais pas si votre projet doit utiliser CMake, mais sinon, pourquoi vous ne compilez wxWidgets sans CMake? C'est assez facile ... – macroland
@macroland Je ne compile pas wxWidgets, je compile un projet qui fait un lien vers wxWidgets. Cependant, avec une liaison dynamique, l'exécutable final nécessite les DLL wxWidgets. Je dois donc trouver un moyen de trouver et de copier ces DLL en utilisant CMake. –
Je voterais pour clore votre question, car on ne sait pas exactement ce que vous voulez réellement. Pouvez-vous donner un exemple minimal qui montre ce que vous avez actuellement et ce qu'il manque par rapport à ce que vous voulez? – usr1234567