2013-03-28 43 views

回答

3

這裏是我使用什麼額外的複製運行時文件到構建路徑和安裝destinitation:

  1. 定義文件的youre這裏。

    ## === define copy files for installation and build === 
    
    copytarget.path = /path/to/installation 
    copytarget.files += $$files(example/filename*) 
    ## wildcard for filename1 filename2 filename3 ... 
    
    message("found files for copytarget: "$$copytarget.files) 
    
  2. 必須添加的qmake編譯:

    ## === os specific dir separator === 
    
    win32: copytarget.files ~= s,/,\\,g 
    
    
    ## === copy compiler for makefile === 
    
    DirSep =/
    win32: DirSep = \\ 
    
    for(f,copytarget.files) tmp += $$PWD$$DirSep$${f} ## make absolute paths 
    copycompiler.input  = tmp 
    
    isEmpty(DESTDIR):DESTDIR=. 
    copycompiler.output  = $$DESTDIR$$DirSep${QMAKE_FILE_BASE}${QMAKE_FILE_EXT} 
    
    copycompiler.commands  = $(COPY_FILE) ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} 
    
    copycompiler.CONFIG  = no_link no_clean 
    ## other CONFIG options are: depends explicit_dependencies target_predeps 
    
    copycompiler.variable_out = QMAKE_DISTCLEAN 
    QMAKE_EXTRA_COMPILERS += copycompiler 
    
  3. 一個單獨的makefile目標:

    ## == makefile copy target === 
    copyfiles.recurse_target = compiler_copycompiler_make_all 
    copyfiles.depends  = $$copyfiles.recurse_target 
    copyfiles.CONFIG  += recursive 
    
  4. 追加目標源生成步驟之後:

    QMAKE_EXTRA_TARGETS += copyfiles 
    POST_TARGETDEPS  += copyfiles ## copy files after source compilation 
    
  5. 包括運行時文件安裝目的地

    INSTALLS += copytarget 
    
+0

感謝您的回答,將檢查能夠當。 – 2013-11-08 16:51:56

+0

你好,你如何適應這個解決方案來複制目標生成的文件?對於這個例子,假設我想在庫構建完成後複製庫目標的dll文件。 – 2016-06-01 17:36:55

相關問題