私はプロジェクトにライブラリに分割されていませんが、ソースはディレクトリツリーに編成されています。私はcmakeにディレクトリを下ろすように指示する方法を知らないので、親ディレクトリに定義されているプロジェクトにそのディレクトリのソースを追加します。私は、次のことをしようとしています。プロジェクト/ソース/ CMakelists.txtでサブディレクトリのソースをcmakeプロジェクトに追加
:
プロジェクト/ソース/ folder1の/ CMakeLists.txtで、その後set(SOURCE
${CMAKE_CURRENT_SOURCE_DIR}/unitTest/main.cpp
)
add_subdirectory("${PROJECT_SOURCE_DIR}/folder1")
add_executable(UnitTestRNG ${SOURCE} ${HEADERS})
:
set(SOURCE
${SOURCE}
${CMAKE_CURRENT_SOURCE_DIR}/file1.cpp
${CMAKE_CURRENT_SOURCE_DIR}/file2.cpp
)
set(HEADERS
${HEADERS}
${CMAKE_CURRENT_SOURCE_DIR}/file1.hpp
${CMAKE_CURRENT_SOURCE_DIR}/file2.hpp
)
いくつかのメッセージを使用して()ステートメントでは、子フォルダがSOURCE変数の内容を取得することがわかりましたが、その変数への新しい割り当ては、親CMakeLists.txtに戻っても持続しません。
例を探して、cmakeのチュートリアルでは、結論に私を導いた: - ソースファイルの構造は、通常、プロジェクト内でフラットです - コードがフォルダに分割されている場合、通常は対応するライブラリに分割されます。
この構造を試すことによって私が逸脱している「ベストプラクティス」があるのだろうかと思います。
構文をありがとう!それはきれいに働いた。 – 2NinerRomeo
これは、最新版のcmakeでこれを達成するための推奨方法ですか? – lanoxx