나는cmake : Linux 프로그램에서 Windows 로의 이식을 용이하게하기 위해 CMakeLists.txt를 작성하는 방법은 무엇입니까?
-main
--include
--bin
--lib
----SRC
------CMakeLists.txt
------dir1
--------CMakeLists.txt
------dir2
--------CMakeLists.txt
dir1/CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
set(HOME "/workspace/main")
set(INCLUDE "${HOME}/include")
set(LIB "${HOME}/lib")
set(LIBRARY_OUTPUT_PATH "${HOME}/lib")
set(CMAKE_BUILD_TYPE "Debug")
set(CMAKE_CXX_COMPILER "g++")
set(CMAKE_C_FLAGS_DEBUG "xxx")
set(CMAKE_CXX_FLAGS_DEBUG "xxx")
include_directories(${INCLUDE} ${INCLUDE}/AR ${INCLUDE}/linux-x86_64)
add_library(video STATIC video.c video2.c)
dir2
디렉토리 CMakeLists.txt 유사한 내용
SRC/CMakeLists.txt
cmake_minimum_required(VERSION 2.8)
add_subdirectory(dir1)
add_subdirectory(dir2)
을 리눅스에서 다음 파일 구조와
CMakeLists.txt
파일을 작성
내 질문은입니다 : 에 Linux
프로그램에 이식을 촉진하기 위해 CMakeLists.txt
작성하는 방법?
'dir1'에서'CMakeLists.txt'에'CMAKE_SOURCE_DIR' 값을 표시하는 문장을 추가했습니다. 'dir1' 디렉토리에서 'cmake'할 때,'/ workspace/main/lib/SRC/dir1' 변수의 값은 SRC 디렉토리'cmake'에서 변수 값은'/ workspace/main/lib/SRC' –
'dir1'에서'cmake'를 호출하고 싶습니다. 반대로, 서브 디렉토리로 내려가는'SRC/CMakeLists.txt'가 있습니다. 또한,'dir1/CMakeLists.txt'는'project()'호출을 포함하지 않으므로, 현재는 별도로 빌드 될 수 없습니다. 그래서, 하위 프로젝트'dir1'과'dir2'가 따로 구축되기를 원합니 까? 그렇다면 질문지에 이에 대한 개념을 추가하십시오. – Tsyvarev
네.'SRC' 디렉토리에있는 모든 라이브러리를 따로 만들 수 있습니다. 좋은 방법이 있습니까? –