異なるプラットフォームに対応するQMAKE_COPYコマンド
ソースhttps://stackoverflow.com/questions/20324061/where-are-variables-such-as-mkdir-and-copy-dir-defined
.proファイルが処理され、qmakeによってMakefileが生成される前に、コンパイラとプラットフォームに基づいて他のいくつかのファイルが前処理されます。これらのファイルには拡張子.prfおよび.confがあり、mkspecsと呼ばれるディレクトリからロードされます。
Makefile内のMKDIRおよびCOPY_DIR変数の値は、次のファイルで定義されているQMAKE_MKDIRおよびQMAKE_COPY_DIR変数の値によって生成されます。
C:\ Qt \ Qt5.0.2 \ 5.0.2 \ msvc2010 \ mkspecs \ common \ shell-unix.conf:
QMAKE_TAR = tar -cf
QMAKE_GZIP = gzip -9f
QMAKE_COPY = cp -f
QMAKE_COPY_FILE = $$QMAKE_COPY
QMAKE_COPY_DIR = $$QMAKE_COPY -R
QMAKE_MOVE = mv -f
QMAKE_DEL_FILE = rm -f
QMAKE_DEL_DIR = rmdir
QMAKE_CHK_EXISTS = test -e %1 ||
QMAKE_CHK_DIR_EXISTS = test -d # legacy
QMAKE_MKDIR = mkdir -p # legacy
QMAKE_MKDIR_CMD = test -d %1 || mkdir -p %1
QMAKE_STREAM_EDITOR = sed
C:\ Qt \ Qt5.0.2 \ 5.0.2 \ msvc2010 \ mkspecs \ common \ shell-win32.conf:
QMAKE_ZIP = zip -r -9
QMAKE_COPY = copy /y
QMAKE_COPY_DIR = xcopy /s /q /y /i
QMAKE_MOVE = move
QMAKE_DEL_FILE = del
QMAKE_DEL_DIR = rmdir
QMAKE_CHK_EXISTS = if not exist %1
QMAKE_CHK_DIR_EXISTS = if not exist # legacy
QMAKE_MKDIR = mkdir # legacy
QMAKE_MKDIR_CMD = if not exist %1 mkdir %1 & if not exist %1 exit 1
# xcopy copies the contained files if source is a directory. Deal with it.
CONFIG += copy_dir_files
(ご覧のとおり、私はQt 5.0.2を使用しているため、マシン上のパスが異なる場合があります。)
=============終了