2017-01-23 2 views
0

2つの実行可能ファイルを作成したいと思います.1つはアプリケーションの実行可能ファイル、もう1つはアプリケーションのテスト用です。そのために、私は私のCMakeLists.txtファイルに次き:両方srctestディレクトリが主な機能が含まれているのでCMake Add(Test)Executable

include_directories(include) 

file(GLOB SOURCE "src/*.cc") 
file(GLOB TEST "test/*.cc") 

add_executable(interest_calc ${SOURCE}) 
add_executable(interest_calc_test "src/interest_calc.cc" ${TEST}) 

、私は手動で「テスト」の実行にソースファイルを追加する必要があります。 "テスト"実行可能ファイルに必要なソースファイルを追加するための非手動の方法がありますか?

また、別のテスト実行ファイルを作成するよりも、機能をテストする優れた方法はありますか?もしそうなら、何/どのように?

+0

'テスト実行ファイルに必要なソースファイルを追加する方法はありますか? 'main.cc'ファイルを別のフォルダに置いて手動でリストに追加することができます。さらに、別個のテスト実行ファイルを作成するよりも、機能をテストする優れた方法はありますか?もしそうなら、what/how? ' - この質問は**"ソフトウェアを書く良い方法は何ですか? "多数のテスト戦略があります。あなたの目的に合ったものを選んでください。 – Tsyvarev

答えて

0

あなたはこのように行うことができます:、現在のCMakeLists.txtで
これらの行を置く:

add_subdirectory(SRC)
add_subdirectory(テスト)

し、その後、各ディレクトリにCMakeListsを追加各ファイルに正しくソースをリンクする.txt。

テストについて、私はCMakeがテスト自動化を行うことができると聞いてきましたが、実際の動作は分かりません。

1

あなたのプロセスを改善する1つの方法は、あなたの実行可能ファイルの勇気をライブラリに引き込み、あなたのライブラリに呼び出すだけの名義の "メイン"実行可能ファイルと必要なライブラリを実行する "テスト"実行可能ファイルを持たせることですそれをテストする。

このようにして、ライブラリに移動して実行可能なビルドプロセスを変更する必要はありません。

1

私の意見では最良の解決策は、ライブラリ(共有または静的)と2つの実行(メインプログラム用とテスト用の主に1つ)を作成することです。その後、ライブラリを2つのアプリケーションにリンクする必要があります。 この中でanswer私はcmakeを使ってプロジェクトをどのように管理することができるかの少しの例を説明します。