.deb 설치 중에 /opt/myProjectName
대상 컴퓨터의 Ubuntu 14.04(64비트) 경로에 디렉터리(일부 파일 포함)를 복사하고 싶습니다.
.deb
CMakeLists.txt
아래와 같이 설치 중에 파일을 사용하여 대상 컴퓨터에 파일을 성공적으로 설치했습니다 .
INSTALL(FILES myShFile.sh DESTINATION /opt/myProjectName)
대상 시스템의 경로에 있는 디렉터리(일부 파일 포함)를 복사하는 방법 /opt/myProjectName
.
답변1
Ubuntu 14.04의 CMake 2.8은 DIRECTORY
서명을 지원합니다.설치 명령, 간단히 쓸 수 있습니다 install(DIRECTORY test/ DESTINATION /opt/myProjectName/test)
.
CMake에는 독립형 Debian 패키지 생성기도 있습니다(CPackDeb). 이것은 배포용 deb 패키지를 만드는 매우 편리한 방법이지만(빌드할 데비안 호스트조차 없습니다) 공식 데비안 배포 패키징 정책을 전혀 준수하지 않습니다.
다음과 같은 내용이 있습니다 CMakeLists.txt
.
cmake_minimum_required(VERSION 2.8)
project(myProjectName)
install(FILES myShFile.sh DESTINATION /opt/myProjectName)
install(DIRECTORY test/ DESTINATION /opt/myProjectName/test)
set(CPACK_GENERATOR DEB)
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "you [email protected]")
include(CPack)
myProjectName-0.1.1-Linux.deb
이렇게 생성 할 수 있습니다 .
$ touch myShFile.sh
$ mkdir test
$ touch test/myTest
$ cmake .
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yaegashi/cmake
$ make package
Run CPack packaging tool...
CPack: Create package using DEB
CPack: Install projects
CPack: - Run preinstall target for: myProjectName
CPack: - Install project: myProjectName
CPack: Create package
CPack: - package: /home/yaegashi/cmake/myProjectName-0.1.1-Linux.deb generated.
$ dpkg --contents myProjectName-0.1.1-Linux.deb
drwxrwxr-x root/root 0 2015-07-04 03:43 ./opt/
drwxrwxr-x root/root 0 2015-07-04 03:43 ./opt/myProjectName/
-rw-r--r-- root/root 0 2015-07-04 03:36 ./opt/myProjectName/myShFile.sh
drwxr-xr-x root/root 0 2015-07-04 03:43 ./opt/myProjectName/test/
-rw-r--r-- root/root 0 2015-07-04 03:36 ./opt/myProjectName/test/myTest
$ dpkg --info myProjectName-0.1.1-Linux.deb
new debian package, version 2.0.
size 728 bytes: control archive=328 bytes.
190 bytes, 9 lines control
128 bytes, 2 lines md5sums
Package: myprojectname
Version: 0.1.1
Section: devel
Priority: optional
Architecture: amd64
Installed-Size: 0
Maintainer: you <[email protected]>
Description: myProjectName built using CMake