나는 CMake를 처음 접했고 CMake가 만든 파일이 어떻게 구성되는지에 문제가있다.이상한 디렉토리 구조를 만드는 CMake
먼저 파일 트리를 자세히 설명합니다. 두 소스 디렉토리 (그리드 및 예제)와 빌드 디렉토리에서 예제 프로그램을 사용하여 간단한 라이브러리를 빌드하려고합니다. 그래서 세 개의 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 폴더를 만들고이 폴더 내에 example1.dir 폴더가 들어있는 다른 CMakeFiles 폴더가 있습니다. 서브 디렉토리의 순서를 바꾸면 어떤 그리드가 첫 번째이고 두 번째는 그 반대가 Grid.dir이 예제 서브 디렉토리 안에 있음을 의미합니다.
이 부분은 잘못되었습니다.이 문제를 해결하는 데 도움을 주시면 감사하겠습니다.
../build/CMakeFiles에는 Grid.dir 및 examples.dir 폴더가 있어야합니다.
내가 CMake 마스터의 사본을, 그래서 답이있는 경우 난 그냥 페이지 번호가 필요합니다. – slaughter98