cmake 스크립트 FindwxWidgets은 모든 .lib 파일 목록을 만듭니다.CMake 목록 wxWidgets Dll 및 설치시 복사하십시오.
그러나이 스크립트는 wxWidgets dll 목록을 제공하지 않습니다.
디버그 및 릴리스 대상에 대한 모든 wxWidgets Dll 파일을 목록에 저장하는 CMake 스크립트는 무엇입니까?
ps : wxWidgets 및 CMake를 기반으로하는 프로젝트를 발견했지만 모두 wxWidgets와 정적으로 연결됩니다. 진행
일 :
현재의 더러운 솔루션은 wxWidgets에 디렉토리의 모든 DLL의의를 가져과 EXE 같은 폴더에 설치하는 것입니다. 그러나 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 .)
프로젝트가 CMake를 사용해야하는지 확신 할 수 없지만 그렇지 않다면 왜 CMake없이 wxWidgets를 컴파일하지 않습니까? 그것은 매우 쉽습니다 ... – macroland
@macroland wxWidgets를 컴파일하지 않고 wxWidgets에 링크 된 프로젝트를 컴파일합니다. 그러나 동적 링크를 사용하면 최종 실행 파일에 wxWidgets Dll이 필요합니다. 그래서 나는 CMake를 사용하여이 Dll을 찾고 복사하는 방법을 찾아야합니다. –
나는 당신이 실제로 원하는 것을 분명하지 않기 때문에 당신의 질문을 닫도록 투표 할 것입니다. 현재 가지고있는 것과 부족한 것을 보여주는 최소한의 예를 보여줄 수 있습니까? – usr1234567