본문 바로가기

컴퓨터

[Linux] Source에서 AppImage 만드는 법

git clone [url]
mkdir build && cd build

위 커맨드를 입력해서 세팅을 해준다.

cmake .. -GNinja -DCMAKE_INSTALL_PREFIX=AppDir

위 커맨드는 ninja를 사용할 것이고 설치 경로는 AppDir로 할 것이라는 뜻이다. 여기서 DCMAKE_INSTALL_PREFIX를 해놓는 것이 중요하다. 왜냐하면 지금 사용하고 있는 컴퓨터에 프로그램으로써 설치하지 않고 AppImage로 만들 것이기 때문이다. 여담으로 이 인자 이름은 CMAKE_INSTALL_PREFIX인데 커맨드라인에 입력할 땐 앞에 D가 붙는다고 한다.

ninja
ninja install

위 커맨드를 입력하면 AppDir에 설치된다. bin과 share 같은 디렉터리들을 모두 AppDir 밑 usr로 다 옮긴다. 그리고 linuxdeploy를 이용해 dependecies들을 알아서 복사시킨다. 그리고 AppDir최상단에는 .desktop파일이 있어야 한다. 알아서 프로그램 실행하도록 Exec만 잘 써주면 된다.

mkdir usr && mv bin/ share/ usr/
/어딘가에있는/linuxdeploy.AppImage --appdir AppDir

linuxdeploy는 바로 output을 낼 수 있는데 --output 옵션을 붙여주면 된다.

/어딘가에있는/linuxdeploy.AppImage --appdir AppDir --output appimage

linuxdeploy로 바로 output을 내지 않고 수동으로 AppDir로부터 AppImage를 만든다면 아래와 같이 하면 된다.

/어딘가에 있는/appimagetool.AppImage AppDir

근데 내가 해봤을때 수동으로 위처럼 하고 Appimage를 실행하니까 라이브러리 에러가 떴다. 가급적이면 편하게 linuxdeploy를 쓰는게 좋을듯하다.