1. ホーム
  2. c

[解決済み] ソースツリーからバイナリツリーへディレクトリをコピーする方法は?

2022-02-24 13:24:32

質問

ソースツリーからバイナリツリーへディレクトリをコピーする。例えば www を bin フォルダにコピーする方法。

work
├─bin
└─src
    ├─doing
    │  └─www
    ├─include
    └─lib

ありがとうございます。

どのように解決するのですか?

CMake 2.8では file(COPY ...) コマンドを使用します。

古いバージョンの CMake では、このマクロは、あるディレクトリから別のディレクトリにファイルをコピーします。 もし、コピーされたファイルの変数を置換したくない場合は、configure_file を変更します。 @ONLY 引数(例えば COPYONLY ).

# Copy files from source directory to destination directory, substituting any
# variables.  Create destination directory if it does not exist.

macro(configure_files srcDir destDir)
    message(STATUS "Configuring directory ${destDir}")
    make_directory(${destDir})

    file(GLOB templateFiles RELATIVE ${srcDir} ${srcDir}/*)
    foreach(templateFile ${templateFiles})
        set(srcTemplatePath ${srcDir}/${templateFile})
        if(NOT IS_DIRECTORY ${srcTemplatePath})
            message(STATUS "Configuring file ${templateFile}")
            configure_file(
                    ${srcTemplatePath}
                    ${destDir}/${templateFile}
                    @ONLY)
        endif(NOT IS_DIRECTORY ${srcTemplatePath})
    endforeach(templateFile)
endmacro(configure_files)