私はcmakeファイル作成の新人です。ディレクトリのリストにC++コードがあり、各ディレクトリには独自のCMakeLists.txt
ファイルがあります。各ディレクトリで実行可能ファイルをコンパイルして作成するためには、ディレクトリ内に移動し、端末上で次の2つのコマンドを実行する必要があります。すべてのサブディレクトリCMakeListファイルを実行して出力をキャプチャする方法は?
$ cmake .
$ make
各ディレクトリ1、2 ... 41には、独自の `CMakeLists.txt」を有します。各ディレクトリのファイル構造の内部
と各ディレクトリに実行可能ファイルを作成し、私はそれらの牽引コマンドに従わなければなりません。
しかし、私はpythonスクリプト/ cmakeスクリプトを書いて、各ディレクトリでこの動作を行い、出力をキャプチャしてログファイルに保存する必要があります。
私の問題を解決するために私を案内してくれる人がいらっしゃいます。前もって感謝します。このような
マイ各ディレクトリCMakeLists.txt:
project(foundations)
cmake_minimum_required(VERSION 2.6)
include_directories($ENV{GMOCK_HOME}/include $ENV{GMOCK_HOME}/gtest/include)
link_directories($ENV{GMOCK_HOME}/mybuild $ENV{GMOCK_HOME}/gtest/mybuild)
add_definitions(-std=c++11)
set(sources main.cpp RetweetCollectionTest.cpp)
add_executable(test ${sources})
target_link_libraries(test pthread)
target_link_libraries(test gmock)
target_link_libraries(test gtest)
私は既に 'add_subdirectory(1)' ..と試してみました。しかし、このルートファイルに対してcmakeを実行するとき。次のエラーが表示されます。 'add_executable'は、別のターゲットが既に存在するため、ターゲット" test "を作成できません。 – Nagarajan
'binary_dir'パラメータを設定しようとしましたか? – Ilmirus
私はそれを設定する必要があります。あなたは私の要求のためのcmakeを書くことができるので、私はもう少し理解することができます – Nagarajan