CMakeでは、ディレクトリがまだ存在しない場合は作成します。これどうやってするの?
いつディレクトリを作成しますか?
CMakeがビルドシステムを生成するときにディレクトリを作成するには、
_file(MAKE_DIRECTORY ${directory})
_
add_custom_command()
コマンド(生成されたビルドシステムにカスタムビルドルールを追加する)およびadd_custom_target()
コマンド(出力なしのターゲットを追加して常にビルドされる)で、ビルド時に実行するコマンドを指定します。コマンド_${CMAKE_COMMAND} -E make_directory
_を実行してディレクトリを作成します。例えば:
_add_custom_target(build-time-make-directory ALL
COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
_
インストール時にディレクトリを作成するには、
_install(DIRECTORY DESTINATION ${directory})
_
インストール時にディレクトリを作成するには、
install(DIRECTORY DESTINATION ${directory})
これらは両方設定時に実行されます:
file(MAKE_DIRECTORY ${directory})
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
ビルド中に作成するには、カスタムターゲットを使用します。
add_custom_target(mytargetname ALL COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
Chin Huangの返信に加えて、ビルド時にadd_custom_command
:
add_custom_command(TARGET ${target_name} PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory ${directory})
また、ディレクトリがPRE_BUILD |で作成される瞬間を変更することもできます。 PRE_LINK | POST_BUILDパラメーター。