私はCMakeには新しく、CMakeによって作成されたファイルの構成に問題があります。CMakeは奇妙なディレクトリ構造を作成します
まず、ファイルツリーについて詳しく説明します。私は、2つのソースディレクトリ(グリッドとサンプル)とビルドディレクトリからサンプルプログラムを使って簡単なライブラリを構築しようとしています。だから、3つのCmakeLists.txtファイルがあります。したがって、トップディレクトリはCMakeLists.txt、/ Grid、/ examples、/ buildのようになります。
このCMakeLists.txtは含まれています:グリッドフォルダ内
project(talyfem)
cmake_minimum_required(VERSION 2.8.4)
set(CMAKE_CXX_FLAGS "-g")
add_subdirectory(examples Grid)
CmakeLists.txtは次のとおりです。例の中で
add_library(${PROJECT_NAME} FEMElm.cpp Grid.cpp GridField.cpp SuperGrid.cpp SuperGrid3D.cpp)
はCmakeLists.txtがあるフォルダ:
set(EXAMPLES example1)
foreach(example ${EXAMPLES})
add_executable(${example} ${example}.cpp)
target_link_libraries(${example} ${PROJECT_NAME})
endforeach(example)
IをビルドディレクトリからCMakeを次のように実行します:Cmake ../ これを実行すると、st私が理解できない、正しいと思わない範囲のファイル構造。まず、../build/CMakeFilesフォルダを作成します。これは私が期待するものです。しかし、それは../build/Gridフォルダを作成し、このフォルダ内に別のCMakeFilesフォルダがあり、そこにexample1.dirフォルダが含まれています。私がサブディレクトリの順序を切り替えると、グリッドの最初と最後の例は、例のサブディレクトリ内にあるGrid.dirと逆の状態になります。
これは正しくないと思われます。この問題を解決するための支援がありがとうございます。
../build/CMakeFilesには、Grid.dirフォルダとexamples.dirフォルダが含まれているはずです。
答えは、私はちょうどページ番号を必要とするそこにあるので、もし私が、マスタリングにCMakeのコピーを持っています。 – slaughter98