mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-04-17 20:08:28 +00:00
Add Win32 support by user settings or by projects, rewrote more generic Runtime output for Windows, add status message for CPack generator
This commit is contained in:
parent
9117d07bac
commit
6ef29b7adc
23 changed files with 570 additions and 878 deletions
|
|
@ -1,6 +1,20 @@
|
|||
|
||||
job-archlinux-latest-ninja-clang:
|
||||
tags: [ "docker-archlinux-latest" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
variables:
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
extends: .job-linux-desktop
|
||||
|
||||
#################################################
|
||||
# Nightly
|
||||
#################################################
|
||||
|
||||
job-archlinux-latest-makefile-gcc:
|
||||
|
||||
tags: [ "docker-archlinux-latest" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest
|
||||
only:
|
||||
|
|
@ -14,7 +28,6 @@ job-archlinux-latest-makefile-gcc:
|
|||
|
||||
|
||||
job-archlinux-latest-makefile-clang:
|
||||
|
||||
tags: [ "docker-archlinux-latest" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest
|
||||
only:
|
||||
|
|
@ -27,13 +40,7 @@ job-archlinux-latest-makefile-clang:
|
|||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
#################################################
|
||||
# Ninja
|
||||
#################################################
|
||||
|
||||
|
||||
job-archlinux-latest-ninja-gcc:
|
||||
|
||||
tags: [ "docker-archlinux-latest" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest
|
||||
only:
|
||||
|
|
@ -45,9 +52,7 @@ job-archlinux-latest-ninja-gcc:
|
|||
CXX: g++
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
job-archlinux-latest-ninja-gcc-novideo:
|
||||
|
||||
tags: [ "docker-archlinux-latest" ]
|
||||
only:
|
||||
variables:
|
||||
|
|
@ -56,25 +61,51 @@ job-archlinux-latest-ninja-gcc-novideo:
|
|||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
|
||||
extends: job-archlinux-latest-ninja-gcc
|
||||
|
||||
|
||||
job-archlinux-latest-ninja-clang:
|
||||
|
||||
job-archlinux-latest-ninja-clang-novideo:
|
||||
tags: [ "docker-archlinux-latest" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-archlinux:latest
|
||||
variables:
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
job-archlinux-latest-ninja-clang-novideo:
|
||||
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
|
||||
extends: job-archlinux-latest-ninja-clang
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
extends: .job-linux-desktop
|
||||
|
||||
#################################################
|
||||
# Package - Nightly
|
||||
#################################################
|
||||
|
||||
#job-archlinux-latest-makefile-clang-package:
|
||||
# stage: package
|
||||
# tags: [ "docker-archlinux-latest" ]
|
||||
# only:
|
||||
# variables:
|
||||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_LINUX
|
||||
# variables:
|
||||
# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES
|
||||
# extends: job-archlinux-latest-makefile-clang
|
||||
# artifacts:
|
||||
# paths:
|
||||
# - build/OUTPUT/Packages/Linphone*.AppImage
|
||||
# expire_in: 1 week
|
||||
#
|
||||
#################################################
|
||||
# Deploy - Nightly
|
||||
#################################################
|
||||
|
||||
#job-archlinux-latest-makefile-clang-deploy:
|
||||
# stage: deploy
|
||||
# tags: [ "docker-archlinux-latest" ]
|
||||
# dependencies:
|
||||
# - job-archlinux-latest-makefile-clang-package
|
||||
# only:
|
||||
# variables:
|
||||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_LINUX
|
||||
# script:
|
||||
# - scp build/OUTPUT/Packages/Linphone*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/
|
||||
|
||||
|
|
|
|||
|
|
@ -29,18 +29,18 @@
|
|||
#################################################
|
||||
# Ninja
|
||||
#################################################
|
||||
|
||||
|
||||
job-centos7-ninja-gcc:
|
||||
|
||||
tags: [ "docker" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
variables:
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
|
||||
#job-centos7-ninja-clang:
|
||||
|
||||
|
|
@ -56,3 +56,41 @@ job-centos7-ninja-gcc:
|
|||
# CMAKE_OPTIONS: -DENABLE_LIME=ON
|
||||
# extends: .job-linux-desktop
|
||||
|
||||
#################################################
|
||||
# Package - Nightly
|
||||
#################################################
|
||||
|
||||
job-centos7-ninja-gcc-package:
|
||||
stage: package
|
||||
tags: [ "docker" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-centos:7
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $DEPLOY_LINUX
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
extends: .job-linux-desktop
|
||||
artifacts:
|
||||
paths:
|
||||
- build/OUTPUT/Packages/Linphone*.AppImage
|
||||
expire_in: 1 week
|
||||
|
||||
#################################################
|
||||
# Deploy - Nightly
|
||||
#################################################
|
||||
|
||||
job-centos7-ninja-gcc-deploy:
|
||||
stage: deploy
|
||||
tags: [ "docker" ]
|
||||
dependencies:
|
||||
- job-centos7-ninja-gcc-package
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $DEPLOY_LINUX
|
||||
script:
|
||||
- scp build/OUTPUT/Packages/Linphone*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/
|
||||
|
|
|
|||
|
|
@ -1,84 +1,69 @@
|
|||
#################################################
|
||||
# Makefile
|
||||
#################################################
|
||||
|
||||
|
||||
job-debian10-makefile-gcc:
|
||||
|
||||
tags: [ "docker-debian10" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:10
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
job-debian10-makefile-clang:
|
||||
|
||||
tags: [ "docker-debian10" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:10
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
#################################################
|
||||
# Ninja
|
||||
#################################################
|
||||
|
||||
|
||||
job-debian10-ninja-gcc:
|
||||
|
||||
tags: [ "docker-debian10" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:10
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
variables:
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
extends: .job-linux-desktop
|
||||
|
||||
#################################################
|
||||
# Nightly
|
||||
#################################################
|
||||
|
||||
job-debian10-makefile-gcc:
|
||||
tags: [ "docker-debian10" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:10
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
job-debian10-ninja-gcc-novideo:
|
||||
|
||||
tags: [ "docker-debian10" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:10
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
|
||||
extends: job-debian10-ninja-gcc
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
job-debian10-ninja-gcc-smallsdk:
|
||||
|
||||
tags: [ "docker-debian10" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:10
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_ADVANCED_IM=NO -DENABLE_DB_STORAGE=NO
|
||||
extends: job-debian10-ninja-gcc
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
job-debian10-ninja-clang:
|
||||
|
||||
tags: [ "docker-debian10" ]
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:10
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_DOC=ON
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
|
|
@ -91,10 +76,55 @@ job-debian10-ninja-clang-novideo:
|
|||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
|
||||
extends: job-debian10-ninja-clang
|
||||
extends: job-debian10-ninja-clang
|
||||
|
||||
job-debian10-makefile-clang:
|
||||
tags: [ "docker-debian10" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:10
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $DEPLOY_LINUX
|
||||
variables:
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
extends: .job-linux-desktop
|
||||
|
||||
#################################################
|
||||
# TESTS
|
||||
# Package - Nightly
|
||||
#################################################
|
||||
|
||||
job-debian10-makefile-clang-package:
|
||||
stage: package
|
||||
tags: [ "docker-debian10" ]
|
||||
dependencies:
|
||||
- job-debian10-makefile-clang
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $DEPLOY_LINUX
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES
|
||||
extends: job-debian10-makefile-clang
|
||||
artifacts:
|
||||
paths:
|
||||
- build/OUTPUT/Packages/Linphone*.AppImage
|
||||
expire_in: 1 week
|
||||
|
||||
#################################################
|
||||
# Deploy - Nightly
|
||||
#################################################
|
||||
|
||||
job-debian10-makefile-clang-deploy:
|
||||
stage: deploy
|
||||
tags: [ "docker-debian10" ]
|
||||
dependencies:
|
||||
- job-debian10-makefile-clang-package
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $DEPLOY_LINUX
|
||||
script:
|
||||
- scp build/OUTPUT/Packages/Linphone*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/
|
||||
|
|
|
|||
|
|
@ -2,11 +2,12 @@
|
|||
# Makefile
|
||||
#################################################
|
||||
|
||||
|
||||
job-debian8-makefile-gcc:
|
||||
|
||||
tags: [ "docker-debian8" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
variables:
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CC: gcc
|
||||
|
|
@ -17,7 +18,6 @@ job-debian8-makefile-gcc:
|
|||
|
||||
|
||||
job-debian8-makefile-clang:
|
||||
|
||||
tags: [ "docker-debian8" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8
|
||||
only:
|
||||
|
|
@ -32,26 +32,36 @@ job-debian8-makefile-clang:
|
|||
extends: .job-linux-desktop
|
||||
|
||||
#################################################
|
||||
# Ninja
|
||||
# Package - Nightly
|
||||
#################################################
|
||||
|
||||
#job-debian8-ninja-gcc:
|
||||
#
|
||||
#job-debian8-makefile-clang-package:
|
||||
# stage: package
|
||||
# tags: [ "docker-debian8" ]
|
||||
# image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8
|
||||
# only:
|
||||
# variables:
|
||||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_LINUX
|
||||
# variables:
|
||||
# CMAKE_GENERATOR: Ninja
|
||||
# CC: gcc
|
||||
# CXX: g++
|
||||
# extends: .job-linux-desktop
|
||||
# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES
|
||||
# extends: job-debian8-makefile-clang
|
||||
# artifacts:
|
||||
# paths:
|
||||
# - build/OUTPUT/Packages/Linphone*.AppImage
|
||||
# expire_in: 1 week
|
||||
|
||||
#################################################
|
||||
# Deploy - Nightly
|
||||
#################################################
|
||||
|
||||
#job-debian8-ninja-clang:
|
||||
#
|
||||
#job-debian8-makefile-clang-deploy:
|
||||
# stage: deploy
|
||||
# tags: [ "docker-debian8" ]
|
||||
# image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:8
|
||||
# variables:
|
||||
# CMAKE_GENERATOR: Ninja
|
||||
# CC: clang
|
||||
# CXX: clang++
|
||||
# extends: .job-linux-desktop
|
||||
# dependencies:
|
||||
# - job-debian8-makefile-clang-package
|
||||
# only:
|
||||
# variables:
|
||||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_LINUX
|
||||
# script:
|
||||
# - scp build/OUTPUT/Packages/Linphone*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/
|
||||
|
|
|
|||
|
|
@ -1,52 +1,45 @@
|
|||
|
||||
job-debian9-makefile-gcc:
|
||||
|
||||
tags: [ "docker-debian9" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
job-debian9-makefile-clang:
|
||||
|
||||
tags: [ "docker-debian9" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
#################################################
|
||||
# Ninja
|
||||
#################################################
|
||||
|
||||
|
||||
job-debian9-ninja-gcc:
|
||||
|
||||
tags: [ "docker-debian9" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
variables:
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
job-debian9-ninja-gcc-smallsdk:
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_ADVANCED_IM=NO -DENABLE_DB_STORAGE=NO
|
||||
extends: job-debian9-ninja-gcc
|
||||
|
||||
|
||||
#################################################
|
||||
# Nightly
|
||||
#################################################
|
||||
|
||||
job-debian9-makefile-gcc:
|
||||
tags: [ "docker-debian9" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
extends: .job-linux-desktop
|
||||
|
||||
job-debian9-ninja-gcc-novideo:
|
||||
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
|
|
@ -55,15 +48,7 @@ job-debian9-ninja-gcc-novideo:
|
|||
extends: job-debian9-ninja-gcc
|
||||
|
||||
|
||||
job-debian9-ninja-gcc-smallsdk:
|
||||
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_ADVANCED_IM=NO -DENABLE_DB_STORAGE=NO
|
||||
extends: job-debian9-ninja-gcc
|
||||
|
||||
|
||||
job-debian9-ninja-clang:
|
||||
|
||||
tags: [ "docker-debian9" ]
|
||||
only:
|
||||
variables:
|
||||
|
|
@ -76,7 +61,6 @@ job-debian9-ninja-clang:
|
|||
CXX: clang++
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
job-debian9-ninja-clang-novideo:
|
||||
only:
|
||||
variables:
|
||||
|
|
@ -84,4 +68,51 @@ job-debian9-ninja-clang-novideo:
|
|||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
|
||||
extends: job-debian9-ninja-clang
|
||||
|
||||
job-debian9-makefile-clang:
|
||||
tags: [ "docker-debian9" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian:9
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
extends: .job-linux-desktop
|
||||
|
||||
#################################################
|
||||
# Package - Nightly
|
||||
#################################################
|
||||
|
||||
#job-debian9-makefile-clang-package:
|
||||
# stage: package
|
||||
# tags: [ "docker-debian9" ]
|
||||
# only:
|
||||
# variables:
|
||||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_LINUX
|
||||
# variables:
|
||||
# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES
|
||||
# extends: job-debian9-makefile-clang
|
||||
# artifacts:
|
||||
# paths:
|
||||
# - build/OUTPUT/Packages/Linphone*.AppImage
|
||||
# expire_in: 1 week
|
||||
#
|
||||
#################################################
|
||||
# Deploy - Nightly
|
||||
#################################################
|
||||
|
||||
#job-debian9-makefile-clang-deploy:
|
||||
# stage: deploy
|
||||
# tags: [ "docker-debian9" ]
|
||||
# dependencies:
|
||||
# - job-debian9-makefile-clang-package
|
||||
# only:
|
||||
# variables:
|
||||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_LINUX
|
||||
# script:
|
||||
# - scp build/OUTPUT/Packages/Linphone*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/
|
||||
|
|
|
|||
|
|
@ -1,10 +1,24 @@
|
|||
#################################################
|
||||
# Makefile
|
||||
#################################################
|
||||
|
||||
job-ubuntu-rolling-ninja-clang:
|
||||
tags: [ "docker-ubuntu-rolling" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
variables:
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
|
||||
|
||||
#################################################
|
||||
# Nightly
|
||||
#################################################
|
||||
|
||||
job-ubuntu-rolling-makefile-gcc:
|
||||
|
||||
tags: [ "docker-ubuntu-rolling" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling
|
||||
only:
|
||||
|
|
@ -19,7 +33,6 @@ job-ubuntu-rolling-makefile-gcc:
|
|||
|
||||
|
||||
job-ubuntu-rolling-makefile-clang:
|
||||
|
||||
tags: [ "docker-ubuntu-rolling" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling
|
||||
only:
|
||||
|
|
@ -33,13 +46,7 @@ job-ubuntu-rolling-makefile-clang:
|
|||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
#################################################
|
||||
# Ninja
|
||||
#################################################
|
||||
|
||||
|
||||
job-ubuntu-rolling-ninja-gcc:
|
||||
|
||||
tags: [ "docker-ubuntu-rolling" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling
|
||||
only:
|
||||
|
|
@ -61,18 +68,7 @@ job-ubuntu-rolling-ninja-gcc-novideo:
|
|||
extends: job-ubuntu-rolling-ninja-gcc
|
||||
|
||||
|
||||
job-ubuntu-rolling-ninja-clang:
|
||||
tags: [ "docker-ubuntu-rolling" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu:rolling
|
||||
variables:
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
extends: .job-linux-desktop
|
||||
|
||||
|
||||
job-ubuntu-rolling-ninja-clang-novideo:
|
||||
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
|
|
@ -80,3 +76,37 @@ job-ubuntu-rolling-ninja-clang-novideo:
|
|||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
|
||||
extends: job-ubuntu-rolling-ninja-clang
|
||||
|
||||
#################################################
|
||||
# Package - Nightly
|
||||
#################################################
|
||||
|
||||
#job-ubuntu-rolling-makefile-clang-package:
|
||||
# stage: package
|
||||
# tags: [ "docker-ubuntu-rolling" ]
|
||||
# only:
|
||||
# variables:
|
||||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_LINUX
|
||||
# variables:
|
||||
# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES
|
||||
# extends: job-ubuntu-rolling-makefile-clang
|
||||
# artifacts:
|
||||
# paths:
|
||||
# - build/OUTPUT/Packages/Linphone*.AppImage
|
||||
# expire_in: 1 week
|
||||
|
||||
#################################################
|
||||
# Deploy - Nightly
|
||||
#################################################
|
||||
|
||||
#job-ubuntu-rolling-makefile-clang-deploy:
|
||||
# stage: deploy
|
||||
# tags: [ "docker-ubuntu-rolling" ]
|
||||
# dependencies:
|
||||
# - job-ubuntu-rolling-makefile-clang-package
|
||||
# only:
|
||||
# variables:
|
||||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_LINUX
|
||||
# script:
|
||||
# - scp build/OUTPUT/Packages/Linphone*.AppImage $DEPLOY_SERVER:$APPIMAGE_UPLOAD_DIRECTORY/
|
||||
|
|
|
|||
|
|
@ -3,10 +3,8 @@
|
|||
#################################################
|
||||
|
||||
.job-linux-desktop:
|
||||
|
||||
stage: build
|
||||
extends: .linux-prepare
|
||||
|
||||
script:
|
||||
- cmake --version
|
||||
- export CC=$CC
|
||||
|
|
@ -20,9 +18,7 @@
|
|||
- cd build
|
||||
- cmake .. -G "$CMAKE_GENERATOR" -DCMAKE_VERBOSE_MAKEFILE=ON -DLINPHONESDK_PLATFORM=Desktop $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS $CMAKE_SANITIZER_OPTIONS
|
||||
- cmake --build . --target all $LBC_NODEBUG_OPTIONS
|
||||
|
||||
artifacts:
|
||||
paths:
|
||||
- build/OUTPUT
|
||||
expire_in: 1 week
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
.job-macosx-desktop:
|
||||
stage: build
|
||||
tags: [ "macosx" ]
|
||||
tags: [ "macosx-xcode11" ]
|
||||
script:
|
||||
- *build_all_script
|
||||
artifacts:
|
||||
|
|
@ -34,6 +34,9 @@
|
|||
#################################################
|
||||
|
||||
job-macosx-ninja:
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
variables:
|
||||
CMAKE_GENERATOR: Ninja
|
||||
extends: .job-macosx-desktop
|
||||
|
|
@ -57,7 +60,8 @@ job-macosx-ninja-novideo:
|
|||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
|
||||
extends: job-macosx-ninja
|
||||
CMAKE_GENERATOR: Ninja
|
||||
extends: .job-macosx-desktop
|
||||
|
||||
#job-macosx-xcode:
|
||||
# extends: .job-macosx-desktop
|
||||
|
|
@ -77,12 +81,11 @@ job-macosx-ninja-novideo:
|
|||
|
||||
job-macosx-makefile-package:
|
||||
stage: package
|
||||
tags: [ "deploy" ]
|
||||
dependencies:
|
||||
- job-macosx-makefile
|
||||
tags: [ "macosx-xcode11" ]
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $DEPLOY_MACOSX
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES
|
||||
extends: job-macosx-makefile
|
||||
|
|
@ -100,11 +103,12 @@ job-macosx-makefile-package:
|
|||
|
||||
job-macosx-makefile-deploy:
|
||||
stage: deploy
|
||||
tags: [ "deploy" ]
|
||||
tags: [ "macosx-xcode11" ]
|
||||
dependencies:
|
||||
- job-macosx-makefile-package
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $DEPLOY_MACOSX
|
||||
script:
|
||||
- scp build/OUTPUT/Packages/Linphone*.dmg $DEPLOY_SERVER:$MACOSX_UPLOAD_DIRECTORY/app/
|
||||
|
|
|
|||
|
|
@ -47,10 +47,8 @@
|
|||
extends: .job-prepare
|
||||
stage: build
|
||||
tags: [ "windows" ]
|
||||
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_LIME_X3DH=NO -DENABLE_UNIT_TESTS=ON
|
||||
|
||||
script:
|
||||
- SET Qt5_DIR=C:\Qt\5.12.6\msvc2017\lib\cmake
|
||||
- SET PATH=%PATH%;C:\Qt\5.12.6\msvc2017\bin
|
||||
|
|
@ -66,30 +64,31 @@
|
|||
- cmake .. -G "Visual Studio 15 2017" -DLINPHONESDK_PLATFORM=Desktop -DENABLE_CSHARP_WRAPPER=YES -DCMAKE_BUILD_TYPE=Release %DEFAULT_WINDOWS_CMAKE_OPTIONS% %CMAKE_OPTIONS%
|
||||
- cmake --build . --target ALL_BUILD --config Release %LBC_NODEBUG_OPTIONS% -- /maxcpucount /nodeReuse:true /p:TrackFileAccess=false
|
||||
- C:\PROGRA~1\Python37\Scripts\cl -s
|
||||
|
||||
artifacts:
|
||||
paths:
|
||||
- build\OUTPUT
|
||||
expire_in: 2 days
|
||||
|
||||
.job-windows-vs2017-scheduled:
|
||||
|
||||
job-windows-vs2017:
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
extends: .job-windows-vs2017
|
||||
|
||||
|
||||
|
||||
#################################################
|
||||
# NIGHTLY
|
||||
#################################################
|
||||
|
||||
.job-windows-vs2017-scheduled:
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $NIGHTLY_RELEASE
|
||||
- $PACKAGE_RUN_WINDOWS
|
||||
before_script:
|
||||
#cache disabled on scheduled builds since we dot not need the fastest build
|
||||
- set "CLCACHE_DISABLE=1"
|
||||
|
||||
|
||||
job-windows-vs2017:
|
||||
extends: .job-windows-vs2017
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
|
||||
job-windows-vs2017-scheduled:
|
||||
extends: .job-windows-vs2017-scheduled
|
||||
|
|
@ -100,19 +99,19 @@ job-windows-vs2017-novideo:
|
|||
CMAKE_OPTIONS: -DENABLE_LIME_X3DH=NO -DENABLE_VIDEO=NO
|
||||
|
||||
#################################################
|
||||
# PACKAGE
|
||||
# PACKAGE
|
||||
#################################################
|
||||
|
||||
#Remove . when packaging process is ready to use
|
||||
job-windows-vs2017-package:
|
||||
stage: package
|
||||
tags: [ "windows" ]
|
||||
dependencies:
|
||||
- job-windows-vs2017-scheduled
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $PACKAGE_RUN_WINDOWS
|
||||
- $DEPLOY_WINDOWS
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES
|
||||
script:
|
||||
- SET Qt5_DIR=C:\Qt\5.12.6\msvc2017\lib\cmake
|
||||
- SET PATH=%PATH%;C:\Qt\5.12.6\msvc2017\bin
|
||||
|
|
@ -138,14 +137,18 @@ job-windows-vs2017-package:
|
|||
- results\*
|
||||
expire_in: 1 weeks
|
||||
|
||||
|
||||
#################################################
|
||||
# DEPLOY
|
||||
#################################################
|
||||
|
||||
job-windows-vs2017-win32-upload:
|
||||
stage: deploy
|
||||
tags: [ "windows"]
|
||||
only:
|
||||
variables:
|
||||
- $DEPLOY_RUN_WINDOWS
|
||||
- $NIGHTLY_MASTER
|
||||
- $DEPLOY_WINDOWS
|
||||
dependencies:
|
||||
- job-windows-vs2017-package
|
||||
script:
|
||||
|
|
|
|||
|
|
@ -7,7 +7,10 @@ variables:
|
|||
MAKEFILE_JOBS: 5
|
||||
CCACHE_SIZE: 2G
|
||||
#this option is used to speedup submodule building times, when we don't need to trace debug (like SDK where it is already tested in its project)
|
||||
LBC_NODEBUG_OPTIONS : --parallel $MAKEFILE_JOBS
|
||||
LBC_NODEBUG_OPTIONS : --parallel $MAKEFILE_JOBS
|
||||
DEFAULT_LINUX_CMAKE_OPTIONS: -DCMAKE_BUILD_PARALLEL_LEVEL=$MAKEFILE_JOBS
|
||||
DEFAULT_MACOS_CMAKE_OPTIONS: -DCMAKE_BUILD_PARALLEL_LEVEL=$MAKEFILE_JOBS
|
||||
DEFAULT_WINDOWS_CMAKE_OPTIONS: -DCMAKE_BUILD_PARALLEL_LEVEL=$MAKEFILE_JOBS
|
||||
|
||||
# DEFAULT_LINUX_CMAKE_OPTIONS: -DENABLE_NON_FREE_CODECS=YES -DENABLE_OPENH264=YES
|
||||
# DEFAULT_MACOS_CMAKE_OPTIONS: -DCMAKE_OSX_DEPLOYMENT_TARGET=10.11 -DENABLE_UPDATE_CHECK=YES
|
||||
|
|
|
|||
|
|
@ -24,16 +24,20 @@ cmake_minimum_required(VERSION 3.1)
|
|||
|
||||
get_cmake_property(vars CACHE_VARIABLES)
|
||||
foreach(var ${vars})
|
||||
get_property(currentHelpString CACHE "${var}" PROPERTY HELPSTRING)
|
||||
if("${currentHelpString}" MATCHES "No help, variable specified on the command line." OR "${currentHelpString}" STREQUAL "")
|
||||
#message("${var} = [${${var}}] -- ${currentHelpString}") # uncomment to see the variables being processed
|
||||
list(APPEND USER_ARGS "-D${var}=${${var}}")
|
||||
if( "${var}" STREQUAL "CMAKE_PREFIX_PATH")
|
||||
set(PREFIX_PATH ";${${var}}")
|
||||
get_property(currentHelpString CACHE "${var}" PROPERTY HELPSTRING)
|
||||
if("${currentHelpString}" MATCHES "No help, variable specified on the command line." OR "${currentHelpString}" STREQUAL "")
|
||||
#message("${var} = [${${var}}] -- ${currentHelpString}") # uncomment to see the variables being processed
|
||||
list(APPEND USER_ARGS "-D${var}=${${var}}")
|
||||
if( "${var}" STREQUAL "CMAKE_PREFIX_PATH")
|
||||
set(PREFIX_PATH ";${${var}}")
|
||||
endif()
|
||||
elseif("${var}" STREQUAL "CMAKE_GENERATOR_PLATFORM")
|
||||
message(STATUS "User-Setting Platform to ${${var}}")
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(ENABLE_BUILD_VERBOSE)
|
||||
message("User Args : ${USER_ARGS}")
|
||||
endif()
|
||||
project(linphoneqt VERSION 4.1.1)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
|
@ -80,12 +84,12 @@ option(ENABLE_TESTS "Build with testing binaries of SDK" NO )
|
|||
option(ENABLE_TESTS_COMPONENTS "Build libbctoolbox-tester" NO )
|
||||
option(ENABLE_TOOLS "Enable tools of SDK" NO)
|
||||
option(ENABLE_STRICT "Build with strict compilator flags e.g. -Wall -Werror" NO)
|
||||
|
||||
option(ENABLE_FFMPEG "Build mediastreamer2 with ffmpeg video support." YES)
|
||||
option(ENABLE_BUILD_VERBOSE "Enable the build generation to be more verbose" NO)
|
||||
|
||||
if(WIN32 OR APPLE)
|
||||
else()
|
||||
option(ENABLE_V4L "Ability to capture and display video using libv4l2 or libv4l." YES)
|
||||
option(ENABLE_V4L "Ability to capture and display video using libv4l2 or libv4l." YES)
|
||||
endif()
|
||||
|
||||
option(ENABLE_RELATIVE_PREFIX "Set Internal packages relative to the binary" YES)
|
||||
|
|
@ -98,12 +102,18 @@ list(APPEND APP_OPTIONS "-DENABLE_TESTS_COMPONENTS=${ENABLE_TESTS_COMPONENTS}")
|
|||
list(APPEND APP_OPTIONS "-DENABLE_TOOLS=${ENABLE_TOOLS}")
|
||||
list(APPEND APP_OPTIONS "-DENABLE_STRICT=${ENABLE_STRICT}")
|
||||
list(APPEND APP_OPTIONS "-DENABLE_FFMPEG=${ENABLE_FFMPEG}")
|
||||
list(APPEND APP_OPTIONS "-DENABLE_BUILD_VERBOSE=${ENABLE_BUILD_VERBOSE}")
|
||||
|
||||
if(ENABLE_V4L)
|
||||
list(APPEND APP_OPTIONS "-DENABLE_V4L=${ENABLE_V4L}")
|
||||
endif()
|
||||
list(APPEND APP_OPTIONS "-DENABLE_RELATIVE_PREFIX=${ENABLE_RELATIVE_PREFIX}")
|
||||
|
||||
list(APPEND APP_OPTIONS "-DLINPHONE_OUTPUT_DIR=${LINPHONE_OUTPUT_DIR}")
|
||||
if(NOT CMAKE_GENERATOR_PLATFORM AND WIN32)
|
||||
set(CMAKE_GENERATOR_PLATFORM "Win32")
|
||||
message(STATUS "Setting Platform to ${${var}}")
|
||||
endif()
|
||||
|
||||
include(ExternalProject)
|
||||
set(PROJECT_BUILD_COMMAND "")
|
||||
|
|
@ -119,7 +129,6 @@ if(CMAKE_VERBOSE_MAKEFILE)
|
|||
list(APPEND PROJECT_BUILD_COMMAND "--verbose")
|
||||
endif()
|
||||
endif()
|
||||
message("User Args : ${USER_ARGS}")
|
||||
|
||||
ExternalProject_Add(sdk PREFIX "${CMAKE_BINARY_DIR}/sdk"
|
||||
SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-sdk"
|
||||
|
|
@ -128,7 +137,7 @@ ExternalProject_Add(sdk PREFIX "${CMAKE_BINARY_DIR}/sdk"
|
|||
BINARY_DIR "${SDK_BUILD_DIR}"
|
||||
STEP_TARGETS build
|
||||
BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
|
||||
INSTALL_COMMAND cmake -E echo "Skipping install step."
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
|
||||
LIST_SEPARATOR | # Use the alternate list separator
|
||||
CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
|
||||
#BUILD_ALWAYS NO #${DO_BUILD}
|
||||
|
|
@ -143,21 +152,23 @@ ExternalProject_Add_Step(sdk force_build
|
|||
ExternalProject_Add(miniziplib PREFIX "${CMAKE_BINARY_DIR}/minizip"
|
||||
SOURCE_DIR "${CMAKE_SOURCE_DIR}/submodules/externals/minizip"
|
||||
INSTALL_DIR "${MINIZIP_OUTPUT_DIR}"
|
||||
BUILD_ALWAYS ON
|
||||
DEPENDS sdk
|
||||
BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
|
||||
LIST_SEPARATOR | # Use the alternate list separator
|
||||
CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
|
||||
)
|
||||
include(FindPkgConfig)
|
||||
find_package(LinphoneCxx CONFIG)
|
||||
find_package(Linphone CONFIG)
|
||||
find_package(bctoolbox CONFIG)
|
||||
find_package(belcard CONFIG)
|
||||
find_package(Mediastreamer2 CONFIG)
|
||||
find_package(ortp CONFIG)
|
||||
pkg_search_module(MINIZIP minizip)
|
||||
find_package(LinphoneCxx CONFIG QUIET)
|
||||
find_package(Linphone CONFIG QUIET)
|
||||
find_package(bctoolbox CONFIG QUIET)
|
||||
find_package(belcard CONFIG QUIET)
|
||||
find_package(Mediastreamer2 CONFIG QUIET)
|
||||
find_package(ortp CONFIG QUIET)
|
||||
find_package(minizip QUIET)
|
||||
|
||||
if(ENABLE_BUILD_VERBOSE)
|
||||
message("MINIZIP from superbuild :${MINIZIP_PREFIX}, ${MINIZIP_INCLUDE_DIRS} => ${MINIZIP_LIBRARIES}")
|
||||
endif()
|
||||
if(NOT (LinphoneCxx_FOUND) OR NOT (Linphone_FOUND) OR NOT (bctoolbox_FOUND) OR NOT (belcard_FOUND) OR NOT (Mediastreamer2_FOUND) OR NOT (ortp_FOUND) OR NOT(MINIZIP_FOUND) )
|
||||
message("Projects are set as External projects. You can start building them by using for example : cmake --build . --target all")
|
||||
ExternalProject_Add(linphone-qt PREFIX "${CMAKE_BINARY_DIR}/linphoneqt"
|
||||
|
|
@ -165,6 +176,7 @@ if(NOT (LinphoneCxx_FOUND) OR NOT (Linphone_FOUND) OR NOT (bctoolbox_FOUND) OR N
|
|||
INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
|
||||
DEPENDS miniziplib sdk
|
||||
BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
|
||||
# INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
|
||||
LIST_SEPARATOR | # Use the alternate list separator
|
||||
CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
|
||||
# ${APP_OPTIONS}
|
||||
|
|
@ -183,6 +195,7 @@ ExternalProject_Add(linphone-qt-only PREFIX "${CMAKE_BINARY_DIR}/linphoneqt"
|
|||
SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-app"
|
||||
INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
|
||||
BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
|
||||
# INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
|
||||
LIST_SEPARATOR | # Use the alternate list separator
|
||||
CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
|
||||
EXCLUDE_FROM_ALL ON
|
||||
|
|
|
|||
|
|
@ -61,18 +61,19 @@ Note: If you have `qtchooser` set in your `PATH`, the best use is :
|
|||
|
||||
### Building
|
||||
|
||||
The build is done by building the SDK, the submodule Minizip and the application. Their targets are `sdk`, `minizip` and `linphone-qt`.
|
||||
The build is done by building the SDK, the submodule Minizip and the application. Their targets are `sdk`, `miniziplib` and `linphone-qt`.
|
||||
|
||||
1. Create your build folder at the root of the project : `mkdir build-desktop`
|
||||
Go to this new folder and begin the build process : `cd build-desktop`
|
||||
1. Create your build folder at the root of the project : `mkdir build`
|
||||
Go to this new folder and begin the build process : `cd build`
|
||||
|
||||
2. Prepare your options : `cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo`. By default, it will try compile all needed dependencies. You can remove some by adding `-DENABLE_<COMPONENT>=NO` to the command. You can use `cmake-gui ..` if you want to have a better access to them. You can add `-DCMAKE_BUILD_PARALLEL_LEVEL=10` to do 10 parallel builds for speeding up the process. If it doesn't seem to work then it will be better to use CMake >= 3.12
|
||||
Also, you can add `-DENABLE_BUILD_VERBOSE=ON` to get more feedback while generating the project.
|
||||
|
||||
3. Build and install the whole project : `cmake --build . --target all` or `cmake --build . --target ALL_BUILD` on Windows.
|
||||
|
||||
It is important to set the config in the process or you can have a bad configuration for your binary that could lead to some corruption : on Windows, this issue is spotted when trying to start the application and an empty file with a random name is created. So, if you are working on an IDE (like Qt Creator), you may override the build command.
|
||||
|
||||
When all are over, the files will be in the OUTPUT folder in the build directory.
|
||||
When all are over, the files will be in the OUTPUT folder in the build directory. When rebuilding, you have to use `cmake --build . --target install` or `cmake --install .` (if CMake>=3.15) to put the application in the correct configuration.
|
||||
|
||||
4. When doing some modifications in the SDK, you can rebuild only the sdk with the target `sdk`
|
||||
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
#!/bin/bash
|
||||
##
|
||||
## Copyright (c) 2010-2020 Belledonne Communications SARL.
|
||||
##
|
||||
## This file is part of linphone-desktop
|
||||
## (see https://www.linphone.org).
|
||||
##
|
||||
## This program is free software: you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation, either version 3 of the License, or
|
||||
## (at your option) any later version.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
##
|
||||
|
||||
APP_NAME="linphone"
|
||||
|
||||
BIN_SOURCE_DIR="OUTPUT/desktop"
|
||||
|
||||
WORK_DIR="OUTPUT/AppDir/usr"
|
||||
|
||||
mkdir -p "${WORK_DIR}"
|
||||
|
||||
cp -rfv "${BIN_SOURCE_DIR}"/* "${WORK_DIR}"
|
||||
|
||||
./AppImage/linuxdeployqt-continuous-x86_64.AppImage "${WORK_DIR}/bin/${APP_NAME}" -appimage -bundle-non-qt-libs -verbose=2
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
################################################################################
|
||||
################################################################################
|
||||
#
|
||||
# Copyright (c) 2017-2020 Belledonne Communications SARL.
|
||||
#
|
||||
|
|
@ -22,18 +22,16 @@
|
|||
cmake_minimum_required(VERSION 3.1)
|
||||
project(linphoneqt VERSION 4.1.1)
|
||||
|
||||
#message("CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}")
|
||||
message("Options : ${ENABLE_UPDATE_CHECK}, ${ENABLE_UNIT_TESTS}, ${ENABLE_TESTS}, ${ENABLE_TESTS_COMPONENTS}, ${ENABLE_TOOLS}, ${ENABLE_STRICT}, ${ENABLE_FFMPEG}, ${ENABLE_OPUS}")
|
||||
|
||||
if(ENABLE_BUILD_VERBOSE)
|
||||
#message("CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}")
|
||||
message("Options : ${ENABLE_UPDATE_CHECK}, ${ENABLE_UNIT_TESTS}, ${ENABLE_TESTS}, ${ENABLE_TESTS_COMPONENTS}, ${ENABLE_TOOLS}, ${ENABLE_STRICT}, ${ENABLE_FFMPEG}, ${ENABLE_OPUS}")
|
||||
endif()
|
||||
include(GNUInstallDirs)
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
|
||||
set(TARGET_NAME linphone-qt)
|
||||
if( NOT("${CMAKE_GENERATOR}" MATCHES "Ninja"))
|
||||
# set(TARGET_NAME_ONLY linphone-qt-only)
|
||||
# set(APP_LIBRARY_ONLY app-library-only)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
|
|
@ -44,11 +42,18 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake")
|
|||
|
||||
set(APP_LIBRARY app-library)
|
||||
include(application_info.cmake)
|
||||
|
||||
if(WIN32)
|
||||
set(EXECUTABLE_OUTPUT_DIR "${CMAKE_BINARY_DIR}")
|
||||
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${EXECUTABLE_OUTPUT_DIR}")
|
||||
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${EXECUTABLE_OUTPUT_DIR}")
|
||||
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${EXECUTABLE_OUTPUT_DIR}")
|
||||
set(EXECUTABLE_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_DIR} )
|
||||
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_DIR} )
|
||||
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_DIR} )
|
||||
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )# Apply to all configurations
|
||||
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
|
||||
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${EXECUTABLE_OUTPUT_DIR} )
|
||||
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${EXECUTABLE_OUTPUT_DIR} )
|
||||
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${EXECUTABLE_OUTPUT_DIR} )
|
||||
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
|
||||
endif()
|
||||
|
||||
find_package(LinphoneCxx CONFIG)
|
||||
|
|
@ -57,17 +62,14 @@ find_package(bctoolbox CONFIG)
|
|||
find_package(belcard CONFIG)
|
||||
find_package(Mediastreamer2 CONFIG)
|
||||
find_package(ortp CONFIG)
|
||||
#find_package(minizip)
|
||||
|
||||
include(FindPkgConfig)
|
||||
pkg_search_module(MINIZIP minizip)
|
||||
find_package(minizip)
|
||||
set(MINIZIP_INCLUDE_DIRS "${MINIZIP_PREFIX}/${MINIZIP_INCLUDE_DIRS}")
|
||||
|
||||
message("MINIZIP : ${MINIZIP_INCLUDE_DIRS} => ${MINIZIP_LIBRARIES}")
|
||||
message("INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} FRAMEWORK_PATH=${CMAKE_FRAMEWORK_PATH}")
|
||||
message("LINPHONE : ${LINPHONE_INCLUDE_DIRS} => ${LINPHONE_LIBRARIES}")
|
||||
message("LINPHONECXX : ${LINPHONECXX_INCLUDE_DIRS} => ${LINPHONECXX_LIBRARIES}")
|
||||
|
||||
if(ENABLE_BUILD_VERBOSE)
|
||||
message("MINIZIP : ${MINIZIP_PREFIX}, ${MINIZIP_INCLUDE_DIRS} => ${MINIZIP_LIBRARIES}")
|
||||
message("INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} FRAMEWORK_PATH=${CMAKE_FRAMEWORK_PATH}, PREFIX_PATH=${CMAKE_PREFIX_PATH}")
|
||||
message("LINPHONE : ${LINPHONE_INCLUDE_DIRS} => ${LINPHONE_LIBRARIES}")
|
||||
message("LINPHONECXX : ${LINPHONECXX_INCLUDE_DIRS} => ${LINPHONECXX_LIBRARIES}")
|
||||
endif()
|
||||
# Build configuration
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG -DQT_NO_DEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG")
|
||||
|
|
@ -311,8 +313,8 @@ list(APPEND _QML_IMPORT_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/ui/views")
|
|||
|
||||
|
||||
set(QML_IMPORT_PATH ${_QML_IMPORT_PATHS} CACHE STRING "Path used to locate CMake modules by Qt Creator" FORCE)
|
||||
|
||||
|
||||
set(QML2_IMPORT_PATH ${_QML_IMPORT_PATHS} CACHE STRING "Path used to locate CMake modules by Qt Creator" FORCE)
|
||||
message("QML_IMPORT_PATH=${QML_IMPORT_PATH}" )
|
||||
if(APPLE)
|
||||
if(MS2_PLUGINS_LOCATION)
|
||||
set(MSPLUGINS_DIR ${MS2_PLUGINS_LOCATION})
|
||||
|
|
@ -328,7 +330,7 @@ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.cmake" "${CMAKE_CURRENT
|
|||
# ------------------------------------------------------------------------------
|
||||
|
||||
include_directories(src/)
|
||||
|
||||
message("Qt5 Paths : Qt5_DIR=$ENV{Qt5_DIR}, PATH=$ENV{PATH}")
|
||||
find_package(Qt5 COMPONENTS ${QT5_PACKAGES} REQUIRED)
|
||||
find_package(Qt5 COMPONENTS ${QT5_PACKAGES_OPTIONAL} QUIET)
|
||||
|
||||
|
|
@ -396,9 +398,12 @@ set_target_properties(${TARGET_NAME} PROPERTIES OUTPUT_NAME "${EXECUTABLE_NAME}"
|
|||
|
||||
set(INCLUDED_DIRECTORIES "${LINPHONECXX_INCLUDE_DIRS}" "${MINIZIP_INCLUDE_DIRS}")
|
||||
set(LIBRARIES ${BCTOOLBOX_CORE_LIBRARIES} ${BELCARD_LIBRARIES} ${LINPHONE_LIBRARIES} ${LINPHONECXX_LIBRARIES} ${MEDIASTREAMER2_LIBRARIES} ${ORTP_LIBRARIES} ${OPUS_LIBRARIES} ${MINIZIP_LIBRARIES})
|
||||
#set(LIBRARIES ${BCTOOLBOX_CORE_LIBRARIES} ${BELCARD_LIBRARIES} ${LINPHONE_LIBRARIES} ${LINPHONECXX_LIBRARIES} ${MEDIASTREAMER2_LIBRARIES} ${ORTP_LIBRARIES} ${OPUS_LIBRARIES} "minizip")
|
||||
message("LIBRARIES : ${LIBRARIES}")
|
||||
|
||||
#if(NOT APPLE)
|
||||
# list(APPEND LIBRARIES ${MINIZIP_LIBRARIES})
|
||||
#endif()
|
||||
if(ENABLE_BUILD_VERBOSE)
|
||||
message("LIBRARIES : ${LIBRARIES}")
|
||||
endif()
|
||||
foreach (package ${QT5_PACKAGES})
|
||||
list(APPEND INCLUDED_DIRECTORIES "${Qt5${package}_INCLUDE_DIRS}")
|
||||
# `qt5_create_translation` is provided from `LinguistTools` package.
|
||||
|
|
@ -448,37 +453,12 @@ endif()
|
|||
add_dependencies(${APP_LIBRARY} update_translations ${TARGET_NAME}-git-version)
|
||||
add_dependencies(${TARGET_NAME} ${APP_LIBRARY})
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
# Install desktop/icon files.
|
||||
configure_file("${ASSETS_DIR}/linphone.desktop.cmake" "${EXECUTABLE_NAME}.desktop" @ONLY)
|
||||
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE_NAME}.desktop"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/applications"
|
||||
)
|
||||
install(FILES "${ASSETS_DIR}/images/linphone_logo.svg"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps/"
|
||||
RENAME "${EXECUTABLE_NAME}.svg"
|
||||
)
|
||||
|
||||
set(ICON_DIRS 16x16 22x22 24x24 32x32 64x64 128x128 256x256)
|
||||
foreach (DIR ${ICON_DIRS})
|
||||
install(FILES "${ASSETS_DIR}/icons/hicolor/${DIR}/apps/icon.png"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/${DIR}/apps/"
|
||||
RENAME "${EXECUTABLE_NAME}.png"
|
||||
)
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# CPack settings & RPM.
|
||||
# ------------------------------------------------------------------------------
|
||||
set(LINPHONE_DESKTOP_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
set(LINPHONE_SDK_DIR "${CMAKE_BINARY_DIR}/linphone-sdk")
|
||||
set(TOOLS_DIR "${CMAKE_BINARY_DIR}/programs")
|
||||
set(LINPHONE_SOURCE_DIR ${EP_linphone_SOURCE_DIR})
|
||||
set(LINPHONE_BUILDER_SIGNING_IDENTITY ${LINPHONE_BUILDER_SIGNING_IDENTITY})
|
||||
set(LINPHONE_SDK_TMP "${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE_NAME}-sdk-tmp")
|
||||
message("LINPHONE_DESKTOP_DIR = ${LINPHONE_DESKTOP_DIR}")
|
||||
|
||||
add_subdirectory(build)
|
||||
add_subdirectory(cmake_builder/linphone_package)
|
||||
|
|
@ -501,9 +481,11 @@ source_group(
|
|||
# ------------------------------
|
||||
# Installation
|
||||
# ------------------------------
|
||||
#if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.15.0")
|
||||
# add_custom_command(TARGET ${TARGET_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} --install ${CMAKE_BINARY_DIR})
|
||||
#endif()
|
||||
if(APPLE)
|
||||
target_link_libraries(${TARGET_NAME} "${MINIZIP_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libminizip.dylib")
|
||||
execute_process(COMMAND install_name_tool -id "@executable_path/../Frameworks/libminizip.dylib" "${MINIZIP_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libminizip.dylib")
|
||||
# target_link_libraries(${TARGET_NAME} "${MINIZIP_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libminizip.dylib")
|
||||
elseif(NOT WIN32)
|
||||
# target_link_libraries(${TARGET_NAME} "${MINIZIP_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/libminizip.so")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ Name=@APPLICATION_NAME@
|
|||
GenericName=SIP Phone
|
||||
Comment=@APPLICATION_DESCRIPTION@
|
||||
Type=Application
|
||||
Exec=@CMAKE_INSTALL_PREFIX@/bin/@EXECUTABLE_NAME@ %u
|
||||
Exec=@EXECUTABLE_NAME@ %u
|
||||
Icon=@EXECUTABLE_NAME@
|
||||
Terminal=false
|
||||
Categories=Network;Telephony;
|
||||
|
|
|
|||
|
|
@ -1,517 +0,0 @@
|
|||
############################################################################
|
||||
# CMakeLists.txt
|
||||
# Copyright (C) 2017-2020 Belledonne Communications, Grenoble France
|
||||
#
|
||||
############################################################################
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# as published by the Free Software Foundation; either version 2
|
||||
# of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
#
|
||||
############################################################################
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
project(linphoneqt-sub VERSION 4.1.1)
|
||||
|
||||
message("CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}")
|
||||
|
||||
|
||||
message("Options : ${ENABLE_UPDATE_CHECK}, ${ENABLE_UNIT_TESTS}, ${ENABLE_TESTS}, ${ENABLE_TESTS_COMPONENTS}, ${ENABLE_TOOLS}, ${ENABLE_STRICT}, ${ENABLE_FFMPEG}, ${ENABLE_OPUS}")
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
|
||||
set(TARGET_NAME linphone-qt)
|
||||
if( NOT("${CMAKE_GENERATOR}" MATCHES "Ninja"))
|
||||
# set(TARGET_NAME_ONLY linphone-qt-only)
|
||||
# set(APP_LIBRARY_ONLY app-library-only)
|
||||
endif()
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
|
||||
if(UNIX AND NOT APPLE)
|
||||
set(CMAKE_INSTALL_RPATH "$ORIGIN;$ORIGIN/lib64;$ORIGIN/../lib64;$ORIGIN/lib;$ORIGIN/../lib")
|
||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
endif()
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake")
|
||||
|
||||
set(APP_LIBRARY app-library)
|
||||
include(../application_info.cmake)
|
||||
if(WIN32)
|
||||
set(EXECUTABLE_OUTPUT_DIR "${CMAKE_BINARY_DIR}")
|
||||
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${EXECUTABLE_OUTPUT_DIR}")
|
||||
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${EXECUTABLE_OUTPUT_DIR}")
|
||||
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${EXECUTABLE_OUTPUT_DIR}")
|
||||
endif()
|
||||
|
||||
find_package(LinphoneCxx CONFIG)
|
||||
find_package(Linphone CONFIG)
|
||||
find_package(bctoolbox CONFIG)
|
||||
find_package(belcard CONFIG)
|
||||
find_package(Mediastreamer2 CONFIG)
|
||||
find_package(ortp CONFIG)
|
||||
#find_package(minizip)
|
||||
|
||||
include(FindPkgConfig)
|
||||
pkg_search_module(MINIZIP minizip)
|
||||
set(MINIZIP_INCLUDE_DIRS "${MINIZIP_PREFIX}/${MINIZIP_INCLUDE_DIRS}")
|
||||
#set(MINIZIP_LIBRARIES "${MINIZIP_PREFIX}/${MINIZIP_LIBRARIES}")
|
||||
|
||||
message("MINIZIP : ${MINIZIP_INCLUDE_DIRS} => ${MINIZIP_LIBRARIES}")
|
||||
message("INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} FRAMEWORK_PATH=${CMAKE_FRAMEWORK_PATH}")
|
||||
message("LINPHONE : ${LINPHONE_INCLUDE_DIRS} => ${LINPHONE_LIBRARIES}")
|
||||
message("LINPHONECXX : ${LINPHONECXX_INCLUDE_DIRS} => ${LINPHONECXX_LIBRARIES}")
|
||||
|
||||
# Build configuration
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG -DQT_NO_DEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG")
|
||||
if( WIN32)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_WINSOCKAPI_")#remove error from windows headers order
|
||||
endif()
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)#useful for config.h
|
||||
|
||||
set(QT5_PACKAGES Core Gui Quick Widgets QuickControls2 Svg LinguistTools Concurrent Network)
|
||||
if (UNIX AND NOT APPLE)
|
||||
list(APPEND QT5_PACKAGES DBus)
|
||||
endif ()
|
||||
set(QT5_PACKAGES_OPTIONAL TextToSpeech)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
#-------------------------------------------------
|
||||
set(ASSETS_DIR "assets")
|
||||
set(SOURCES
|
||||
src/app/App.cpp
|
||||
src/app/AppController.cpp
|
||||
src/app/cli/Cli.cpp
|
||||
src/app/logger/Logger.cpp
|
||||
src/app/paths/Paths.cpp
|
||||
src/app/providers/AvatarProvider.cpp
|
||||
src/app/providers/ImageProvider.cpp
|
||||
src/app/providers/ThumbnailProvider.cpp
|
||||
src/app/translator/DefaultTranslator.cpp
|
||||
src/components/assistant/AssistantModel.cpp
|
||||
src/components/authentication/AuthenticationNotifier.cpp
|
||||
src/components/call/CallModel.cpp
|
||||
src/components/calls/CallsListModel.cpp
|
||||
src/components/calls/CallsListProxyModel.cpp
|
||||
src/components/camera/Camera.cpp
|
||||
src/components/camera/CameraPreview.cpp
|
||||
src/components/camera/MSFunctions.cpp
|
||||
src/components/chat/ChatModel.cpp
|
||||
src/components/chat/ChatProxyModel.cpp
|
||||
src/components/codecs/AbstractCodecsModel.cpp
|
||||
src/components/codecs/AudioCodecsModel.cpp
|
||||
src/components/codecs/VideoCodecsModel.cpp
|
||||
src/components/conference/ConferenceAddModel.cpp
|
||||
src/components/conference/ConferenceHelperModel.cpp
|
||||
src/components/conference/ConferenceModel.cpp
|
||||
src/components/contact/ContactModel.cpp
|
||||
src/components/contact/VcardModel.cpp
|
||||
src/components/contacts/ContactsListModel.cpp
|
||||
src/components/contacts/ContactsListProxyModel.cpp
|
||||
src/components/core/CoreHandlers.cpp
|
||||
src/components/core/CoreManager.cpp
|
||||
src/components/core/event-count-notifier/AbstractEventCountNotifier.cpp
|
||||
src/components/file/FileDownloader.cpp
|
||||
src/components/file/FileExtractor.cpp
|
||||
src/components/notifier/Notifier.cpp
|
||||
src/components/other/clipboard/Clipboard.cpp
|
||||
src/components/other/colors/Colors.cpp
|
||||
src/components/other/text-to-speech/TextToSpeech.cpp
|
||||
src/components/other/units/Units.cpp
|
||||
src/components/presence/OwnPresenceModel.cpp
|
||||
src/components/presence/Presence.cpp
|
||||
src/components/settings/AccountSettingsModel.cpp
|
||||
src/components/settings/SettingsModel.cpp
|
||||
src/components/sip-addresses/SipAddressesModel.cpp
|
||||
src/components/sip-addresses/SipAddressesProxyModel.cpp
|
||||
src/components/sip-addresses/SipAddressObserver.cpp
|
||||
src/components/sound-player/SoundPlayer.cpp
|
||||
src/components/telephone-numbers/TelephoneNumbersModel.cpp
|
||||
src/components/timeline/TimelineModel.cpp
|
||||
src/components/url-handlers/UrlHandlers.cpp
|
||||
src/utils/LinphoneUtils.cpp
|
||||
src/utils/MediastreamerUtils.cpp
|
||||
src/utils/QExifImageHeader.cpp
|
||||
src/utils/Utils.cpp
|
||||
)
|
||||
|
||||
set(HEADERS
|
||||
src/app/App.hpp
|
||||
src/app/AppController.hpp
|
||||
src/app/cli/Cli.hpp
|
||||
src/app/logger/Logger.hpp
|
||||
src/app/paths/Paths.hpp
|
||||
src/app/providers/AvatarProvider.hpp
|
||||
src/app/providers/ImageProvider.hpp
|
||||
src/app/providers/ThumbnailProvider.hpp
|
||||
src/app/single-application/SingleApplication.hpp
|
||||
src/app/translator/DefaultTranslator.hpp
|
||||
src/components/assistant/AssistantModel.hpp
|
||||
src/components/authentication/AuthenticationNotifier.hpp
|
||||
src/components/call/CallModel.hpp
|
||||
src/components/calls/CallsListModel.hpp
|
||||
src/components/calls/CallsListProxyModel.hpp
|
||||
src/components/camera/Camera.hpp
|
||||
src/components/camera/CameraPreview.hpp
|
||||
src/components/camera/MSFunctions.hpp
|
||||
src/components/chat/ChatModel.hpp
|
||||
src/components/chat/ChatProxyModel.hpp
|
||||
src/components/codecs/AbstractCodecsModel.hpp
|
||||
src/components/codecs/AudioCodecsModel.hpp
|
||||
src/components/codecs/VideoCodecsModel.hpp
|
||||
src/components/Components.hpp
|
||||
src/components/conference/ConferenceAddModel.hpp
|
||||
src/components/conference/ConferenceHelperModel.hpp
|
||||
src/components/conference/ConferenceModel.hpp
|
||||
src/components/contact/ContactModel.hpp
|
||||
src/components/contact/VcardModel.hpp
|
||||
src/components/contacts/ContactsListModel.hpp
|
||||
src/components/contacts/ContactsListProxyModel.hpp
|
||||
src/components/core/CoreHandlers.hpp
|
||||
src/components/core/CoreManager.hpp
|
||||
src/components/core/event-count-notifier/AbstractEventCountNotifier.hpp
|
||||
src/components/file/FileDownloader.hpp
|
||||
src/components/file/FileExtractor.hpp
|
||||
src/components/notifier/Notifier.hpp
|
||||
src/components/other/clipboard/Clipboard.hpp
|
||||
src/components/other/colors/Colors.hpp
|
||||
src/components/other/desktop-tools/DesktopTools.hpp
|
||||
src/components/other/text-to-speech/TextToSpeech.hpp
|
||||
src/components/other/units/Units.hpp
|
||||
src/components/presence/OwnPresenceModel.hpp
|
||||
src/components/presence/Presence.hpp
|
||||
src/components/settings/AccountSettingsModel.hpp
|
||||
src/components/settings/SettingsModel.hpp
|
||||
src/components/sip-addresses/SipAddressesModel.hpp
|
||||
src/components/sip-addresses/SipAddressesProxyModel.hpp
|
||||
src/components/sip-addresses/SipAddressObserver.hpp
|
||||
src/components/sound-player/SoundPlayer.hpp
|
||||
src/components/telephone-numbers/TelephoneNumbersModel.hpp
|
||||
src/components/timeline/TimelineModel.hpp
|
||||
src/components/url-handlers/UrlHandlers.hpp
|
||||
src/utils/LinphoneUtils.hpp
|
||||
src/utils/MediastreamerUtils.hpp
|
||||
src/utils/QExifImageHeader.hpp
|
||||
src/utils/Utils.hpp
|
||||
)
|
||||
|
||||
set(MAIN_FILE ../src/app/main.cpp)
|
||||
|
||||
if (APPLE)
|
||||
list(APPEND SOURCES
|
||||
src/app/single-application/SingleApplication.cpp
|
||||
src/components/core/event-count-notifier/EventCountNotifierMacOs.m
|
||||
src/components/other/desktop-tools/DesktopToolsMacOs.cpp
|
||||
src/components/other/desktop-tools/screen-saver/ScreenSaverMacOs.m
|
||||
src/components/other/desktop-tools/state-process/StateProcessMacOs.mm
|
||||
)
|
||||
list(APPEND HEADERS
|
||||
src/app/single-application/SingleApplicationPrivate.hpp
|
||||
src/components/core/event-count-notifier/EventCountNotifierMacOs.hpp
|
||||
src/components/other/desktop-tools/DesktopToolsMacOs.hpp
|
||||
)
|
||||
elseif (WIN32)
|
||||
list(APPEND SOURCES
|
||||
src/app/single-application/SingleApplication.cpp
|
||||
src/components/core/event-count-notifier/EventCountNotifierSystemTrayIcon.cpp
|
||||
src/components/other/desktop-tools/DesktopToolsWindows.cpp
|
||||
)
|
||||
list(APPEND HEADERS
|
||||
src/app/single-application/SingleApplicationPrivate.hpp
|
||||
src/components/core/event-count-notifier/EventCountNotifierSystemTrayIcon.hpp
|
||||
src/components/other/desktop-tools/DesktopToolsWindows.hpp
|
||||
)
|
||||
else ()
|
||||
list(APPEND SOURCES
|
||||
src/app/single-application/SingleApplicationDBus.cpp
|
||||
src/components/core/event-count-notifier/EventCountNotifierSystemTrayIcon.cpp
|
||||
src/components/other/desktop-tools/DesktopToolsLinux.cpp
|
||||
src/components/other/desktop-tools/screen-saver/ScreenSaverDBus.cpp
|
||||
src/components/other/desktop-tools/screen-saver/ScreenSaverXdg.cpp
|
||||
)
|
||||
list(APPEND HEADERS
|
||||
src/app/single-application/SingleApplicationDBusPrivate.hpp
|
||||
src/components/core/event-count-notifier/EventCountNotifierSystemTrayIcon.hpp
|
||||
src/components/other/desktop-tools/DesktopToolsLinux.hpp
|
||||
src/components/other/desktop-tools/screen-saver/ScreenSaverDBus.hpp
|
||||
src/components/other/desktop-tools/screen-saver/ScreenSaverXdg.hpp
|
||||
)
|
||||
endif ()
|
||||
|
||||
set(QRC_RESOURCES ../resources.qrc)
|
||||
|
||||
set(LANGUAGES_DIRECTORY "${ASSETS_DIR}/languages")
|
||||
set(I18N_FILENAME i18n.qrc)
|
||||
set(LANGUAGES de en fr_FR ja lt ru sv tr pt_BR)
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
function (PREPEND list prefix)
|
||||
set(new_list "")
|
||||
|
||||
foreach (elem ${${list}})
|
||||
list(APPEND new_list "${prefix}${elem}")
|
||||
endforeach ()
|
||||
|
||||
set(${list} ${new_list} PARENT_SCOPE)
|
||||
endfunction ()
|
||||
|
||||
# Force absolute paths.
|
||||
PREPEND(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/../")
|
||||
PREPEND(HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/../")
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# Compute QML files list.
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
set(QML_SOURCES)
|
||||
file(STRINGS ${QRC_RESOURCES} QRC_RESOURCES_CONTENT)
|
||||
foreach (line ${QRC_RESOURCES_CONTENT})
|
||||
set(result)
|
||||
string(REGEX REPLACE
|
||||
"^[ \t]*<[ \t]*file[ \t]*>[ \t]*(.+\\.[a-z]+)[ \t]*<[ \t]*/[ \t]*file[ \t]*>[ \t]*$"
|
||||
"\\1"
|
||||
result
|
||||
"${line}"
|
||||
)
|
||||
string(REGEX MATCH "\\.[a-z]+$" is_ui ${result})
|
||||
if (NOT ${is_ui} STREQUAL "")
|
||||
list(APPEND QML_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/../${result}")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# Init git hooks.
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
if (NOT WIN32)
|
||||
add_custom_target(
|
||||
check_qml DEPENDS ${QML_SOURCES}
|
||||
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/../tools/check_qml_syntax"
|
||||
)
|
||||
endif()
|
||||
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../tools/private/pre-commit"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/../.git/hooks/pre-commit"
|
||||
)
|
||||
set(_QML_IMPORT_PATHS "")
|
||||
list(APPEND _QML_IMPORT_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/../ui/modules")
|
||||
list(APPEND _QML_IMPORT_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/../ui/dev-modules")
|
||||
list(APPEND _QML_IMPORT_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/../ui/scripts")
|
||||
list(APPEND _QML_IMPORT_PATHS "${CMAKE_CURRENT_SOURCE_DIR}/../ui/views")
|
||||
|
||||
|
||||
set(QML_IMPORT_PATH ${_QML_IMPORT_PATHS} CACHE STRING "Path used to locate CMake modules by Qt Creator" FORCE)
|
||||
|
||||
|
||||
if(APPLE)
|
||||
if(MS2_PLUGINS_LOCATION)
|
||||
set(MSPLUGINS_DIR ${MS2_PLUGINS_LOCATION})
|
||||
else()
|
||||
set(MSPLUGINS_DIR "Frameworks/mediastreamer2.framework/Versions/A/Libraries")
|
||||
endif()
|
||||
else()
|
||||
set(MSPLUGINS_DIR "${CMAKE_INSTALL_LIBDIR}/mediastreamer/plugins")
|
||||
endif()
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../src/config.h.cmake" "${CMAKE_CURRENT_BINARY_DIR}/config.h")
|
||||
# ------------------------------------------------------------------------------
|
||||
# Build.
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
include_directories(../src/)
|
||||
|
||||
find_package(Qt5 COMPONENTS ${QT5_PACKAGES} REQUIRED)
|
||||
find_package(Qt5 COMPONENTS ${QT5_PACKAGES_OPTIONAL} QUIET)
|
||||
|
||||
if (CMAKE_INSTALL_RPATH)
|
||||
#Retrieve lib path from a know QT executable
|
||||
get_target_property(LUPDATE_PATH Qt5::lupdate LOCATION)
|
||||
get_filename_component(LUPDATE_PATH "${LUPDATE_PATH}" DIRECTORY)
|
||||
get_filename_component(QT_PATH "${LUPDATE_PATH}/../lib" ABSOLUTE)
|
||||
list(APPEND CMAKE_INSTALL_RPATH "${QT_PATH}")
|
||||
endif ()
|
||||
# Add languages support.
|
||||
add_subdirectory("../${LANGUAGES_DIRECTORY}" "assets/languages")
|
||||
list(APPEND SOURCES "${CMAKE_CURRENT_BINARY_DIR}/${LANGUAGES_DIRECTORY}/${I18N_FILENAME}")
|
||||
|
||||
|
||||
# Build and dependencies
|
||||
link_directories("${MINIZIP_PREFIX}/${MINIZIP_LIBRARY_DIRS}")
|
||||
#link_directories("${MINIZIP_PREFIX}/${MINIZIP_LIBRARY_DIRS}")
|
||||
|
||||
|
||||
|
||||
#add_library(${APP_LIBRARY} OBJECT ${SOURCES} ${HEADERS} ${RESOURCES} ${QML_SOURCES})
|
||||
add_library(${APP_LIBRARY} OBJECT ${SOURCES} ${HEADERS} ${QML_SOURCES} ${QRC_RESOURCES})
|
||||
if(TARGET_NAME_ONLY)
|
||||
add_library(${APP_LIBRARY_ONLY} OBJECT EXCLUDE_FROM_ALL ${SOURCES} ${HEADERS} ${QML_SOURCES} ${QRC_RESOURCES})
|
||||
endif()
|
||||
if (WIN32)
|
||||
add_executable(${TARGET_NAME} WIN32 $<TARGET_OBJECTS:${APP_LIBRARY}> ${ASSETS_DIR}/app-icon.rc ${MAIN_FILE})
|
||||
if(TARGET_NAME_ONLY)
|
||||
add_executable(${TARGET_NAME_ONLY} WIN32 EXCLUDE_FROM_ALL $<TARGET_OBJECTS:${APP_LIBRARY_ONLY}> ${ASSETS_DIR}/app-icon.rc ${MAIN_FILE})
|
||||
endif()
|
||||
else ()
|
||||
add_executable(${TARGET_NAME} $<TARGET_OBJECTS:${APP_LIBRARY}> ${MAIN_FILE})
|
||||
if(TARGET_NAME_ONLY)
|
||||
add_executable(${TARGET_NAME_ONLY} EXCLUDE_FROM_ALL $<TARGET_OBJECTS:${APP_LIBRARY_ONLY}> ${MAIN_FILE})
|
||||
endif()
|
||||
endif ()
|
||||
if(TARGET_NAME_ONLY)
|
||||
target_compile_options(${TARGET_NAME_ONLY} PRIVATE -fPIC)
|
||||
set_source_files_properties( ${APP_LIBRARY_ONLY} PROPERTIES EXTERNAL_OBJECT true GENERATED true )
|
||||
set_property(TARGET ${APP_LIBRARY_ONLY} PROPERTY POSITION_INDEPENDENT_CODE ON) #Need by Qt
|
||||
set_property(TARGET ${APP_LIBRARY_ONLY} PROPERTY AUTORCC ON)
|
||||
set_target_properties(${TARGET_NAME_ONLY} PROPERTIES OUTPUT_NAME "${EXECUTABLE_NAME}")
|
||||
endif()
|
||||
set_source_files_properties( ${APP_LIBRARY} PROPERTIES EXTERNAL_OBJECT true GENERATED true )
|
||||
|
||||
set_property(TARGET ${APP_LIBRARY} PROPERTY POSITION_INDEPENDENT_CODE ON) #Need by Qt
|
||||
|
||||
|
||||
#Turn on automatic resources compilation by cmake
|
||||
#Instead of excplicitely calling qt5_add_resources
|
||||
set_property(TARGET ${APP_LIBRARY} PROPERTY AUTORCC ON)
|
||||
|
||||
bc_git_version(${TARGET_NAME} ${PROJECT_VERSION})
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES OUTPUT_NAME "${EXECUTABLE_NAME}")
|
||||
|
||||
|
||||
#ExternalProject_Get_Property(project_a install_dir)
|
||||
#include_directories(${install_dir}/include)
|
||||
|
||||
#add_dependencies(project_b_exe project_a)
|
||||
#target_link_libraries(project_b_exe ${install_dir}/lib/alib.lib)
|
||||
|
||||
|
||||
set(INCLUDED_DIRECTORIES "${LINPHONECXX_INCLUDE_DIRS}" "${MINIZIP_INCLUDE_DIRS}")
|
||||
#set(LIBRARIES ${BCTOOLBOX_CORE_LIBRARIES} ${BELCARD_LIBRARIES} ${LINPHONE_LIBRARIES} ${LINPHONECXX_LIBRARIES} ${MEDIASTREAMER2_LIBRARIES} ${ORTP_LIBRARIES} ${OPUS_LIBRARIES} ${MINIZIP_LIBRARIES})
|
||||
set(LIBRARIES ${BCTOOLBOX_CORE_LIBRARIES} ${BELCARD_LIBRARIES} ${LINPHONE_LIBRARIES} ${LINPHONECXX_LIBRARIES} ${MEDIASTREAMER2_LIBRARIES} ${ORTP_LIBRARIES} ${OPUS_LIBRARIES} "minizip")
|
||||
message("LIBRARIES : ${LIBRARIES}")
|
||||
|
||||
foreach (package ${QT5_PACKAGES})
|
||||
list(APPEND INCLUDED_DIRECTORIES "${Qt5${package}_INCLUDE_DIRS}")
|
||||
# `qt5_create_translation` is provided from `LinguistTools` package.
|
||||
# But the `Qt5::LinguistTools` lib does not exist. Remove it.
|
||||
if (NOT (${package} STREQUAL LinguistTools))
|
||||
list(APPEND LIBRARIES ${Qt5${package}_LIBRARIES})
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
foreach (package ${QT5_PACKAGES_OPTIONAL})
|
||||
if ("${Qt5${package}_FOUND}")
|
||||
message("Optional package ${package} found.")
|
||||
list(APPEND INCLUDED_DIRECTORIES "${Qt5${package}_INCLUDE_DIRS}")
|
||||
list(APPEND LIBRARIES ${Qt5${package}_LIBRARIES})
|
||||
|
||||
string(TOUPPER "${package}" INCLUDE_NAME)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D${INCLUDE_NAME}_ENABLED")
|
||||
else ()
|
||||
message("Optional package ${package} not found.")
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
if (APPLE)
|
||||
list(APPEND LIBRARIES "-framework Cocoa -framework IOKit")
|
||||
# -framework linphone") #This doesn't work yet
|
||||
endif ()
|
||||
|
||||
target_include_directories(${APP_LIBRARY} SYSTEM PRIVATE ${INCLUDED_DIRECTORIES})
|
||||
|
||||
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${INCLUDED_DIRECTORIES})
|
||||
|
||||
if(TARGET_NAME_ONLY)
|
||||
target_include_directories(${APP_LIBRARY_ONLY} SYSTEM PRIVATE ${INCLUDED_DIRECTORIES})
|
||||
target_include_directories(${TARGET_NAME_ONLY} SYSTEM PRIVATE ${INCLUDED_DIRECTORIES})
|
||||
target_link_libraries(${TARGET_NAME_ONLY} ${LIBRARIES})
|
||||
add_dependencies(${APP_LIBRARY_ONLY} update_translations ${TARGET_NAME}-git-version)
|
||||
add_dependencies(${TARGET_NAME_ONLY} update_translations )
|
||||
endif()
|
||||
|
||||
#target_link_libraries(${APP_LIBRARY} ${LIBRARIES})
|
||||
target_link_libraries(${TARGET_NAME} ${LIBRARIES})
|
||||
|
||||
if(WIN32)
|
||||
target_link_libraries(${TARGET_NAME} wsock32 ws2_32)
|
||||
endif()
|
||||
|
||||
add_dependencies(${APP_LIBRARY} update_translations ${TARGET_NAME}-git-version)
|
||||
add_dependencies(${TARGET_NAME} ${APP_LIBRARY})
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
# Install desktop/icon files.
|
||||
configure_file("../${ASSETS_DIR}/linphone.desktop.cmake" "${EXECUTABLE_NAME}.desktop" @ONLY)
|
||||
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE_NAME}.desktop"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/applications"
|
||||
)
|
||||
install(FILES "../${ASSETS_DIR}/images/linphone_logo.svg"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps/"
|
||||
RENAME "${EXECUTABLE_NAME}.svg"
|
||||
)
|
||||
|
||||
set(ICON_DIRS 16x16 22x22 24x24 32x32 64x64 128x128 256x256)
|
||||
foreach (DIR ${ICON_DIRS})
|
||||
install(FILES "../${ASSETS_DIR}/icons/hicolor/${DIR}/apps/icon.png"
|
||||
DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/${DIR}/apps/"
|
||||
RENAME "${EXECUTABLE_NAME}.png"
|
||||
)
|
||||
endforeach ()
|
||||
endif ()
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# CPack settings & RPM.
|
||||
# ------------------------------------------------------------------------------
|
||||
set(LINPHONE_DESKTOP_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..")
|
||||
set(LINPHONE_SDK_DIR "${CMAKE_BINARY_DIR}/linphone-sdk")
|
||||
set(TOOLS_DIR "${CMAKE_BINARY_DIR}/programs")
|
||||
set(LINPHONE_SOURCE_DIR ${EP_linphone_SOURCE_DIR})
|
||||
set(LINPHONE_BUILDER_SIGNING_IDENTITY ${LINPHONE_BUILDER_SIGNING_IDENTITY})
|
||||
set(LINPHONE_SDK_TMP "${CMAKE_CURRENT_BINARY_DIR}/${EXECUTABLE_NAME}-sdk-tmp")
|
||||
message("LINPHONE_DESKTOP_DIR = ${LINPHONE_DESKTOP_DIR}")
|
||||
|
||||
add_subdirectory(../build build)
|
||||
add_subdirectory(linphone_package)
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# To start better integration into IDE.
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
source_group(
|
||||
"Qml" REGULAR_EXPRESSION ".+\.qml$"
|
||||
)
|
||||
source_group(
|
||||
"Js" REGULAR_EXPRESSION ".+\.js$"
|
||||
)
|
||||
source_group(
|
||||
"Svg" REGULAR_EXPRESSION ".+\.svg$"
|
||||
)
|
||||
|
||||
|
||||
# ------------------------------
|
||||
# Installation
|
||||
# ------------------------------
|
||||
if(APPLE)
|
||||
target_link_libraries(${TARGET_NAME} "${MINIZIP_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/libminizip.dylib")
|
||||
execute_process(COMMAND install_name_tool -id "@executable_path/../Frameworks/libminizip.dylib" "${MINIZIP_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/libminizip.dylib")
|
||||
elseif(NOT WIN32)
|
||||
# target_link_libraries(${TARGET_NAME} "${MINIZIP_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/libminizip.so")
|
||||
endif()
|
||||
|
||||
if(${CMAKE_GENERATOR} MATCHES "Ninja" OR ${CMAKE_VERSION} VERSION_LESS "3.15.0")
|
||||
else()
|
||||
# add_custom_command( TARGET ${TARGET_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} --install ${CMAKE_CURRENT_BINARY_DIR} --config ${CMAKE_BUILD_TYPE})
|
||||
# add_custom_command( TARGET ${TARGET_NAME_ONLY} POST_BUILD COMMAND ${CMAKE_COMMAND} --install ${CMAKE_CURRENT_BINARY_DIR} --config ${CMAKE_BUILD_TYPE})
|
||||
endif()
|
||||
|
|
@ -22,8 +22,10 @@
|
|||
|
||||
cmake_minimum_required(VERSION 3.1)
|
||||
project(LINPHONE_PACKAGE) # Dummy project.
|
||||
|
||||
include("${LINPHONE_DESKTOP_DIR}/application_info.cmake")
|
||||
if(ENABLE_BUILD_VERBOSE)
|
||||
message("Linphone-packages paths : ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}")
|
||||
endif()
|
||||
include("${CMAKE_CURRENT_SOURCE_DIR}/../../application_info.cmake")
|
||||
|
||||
find_package(Git)
|
||||
#Policy set to allow link from other directory (cmake 3.13)
|
||||
|
|
@ -31,7 +33,7 @@ if (POLICY CMP0079)
|
|||
cmake_policy(SET CMP0079 NEW)
|
||||
endif ()
|
||||
|
||||
set(LINPHONE_QML_DIR "${LINPHONE_DESKTOP_DIR}/ui")
|
||||
set(LINPHONE_QML_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../ui")
|
||||
|
||||
# ==============================================================================
|
||||
# Build package version.
|
||||
|
|
@ -42,7 +44,7 @@ if (GIT_EXECUTABLE)
|
|||
COMMAND ${GIT_EXECUTABLE} describe --always
|
||||
OUTPUT_VARIABLE LINPHONE_GIT_REVISION
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
WORKING_DIRECTORY ${LINPHONE_DESKTOP_DIR}
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../.."
|
||||
)
|
||||
else ()
|
||||
set(LINPHONE_GIT_REVISION "0.0.0")
|
||||
|
|
@ -61,8 +63,6 @@ set(PACKAGE_VERSION "${LINPHONE_VERSION}")
|
|||
# Preparing the Linphone SDK bundle.
|
||||
# ==============================================================================
|
||||
|
||||
message(" Linphone_SDK_DIR : ${LINPHONE_SDK_DIR}")
|
||||
|
||||
if (WIN32)
|
||||
set(LIBDIR ${CMAKE_INSTALL_BINDIR})
|
||||
set(LIBPREFIX "")
|
||||
|
|
@ -118,13 +118,13 @@ if (WIN32)
|
|||
install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/images" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS OPTIONAL)
|
||||
install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/sounds" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS)
|
||||
install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/Linphone/rootca.pem" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${EXECUTABLE_NAME}/")
|
||||
install(FILES "${LINPHONE_DESKTOP_DIR}/assets/linphonerc-factory" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}")
|
||||
install(FILES "${LINPHONE_DESKTOP_DIR}/assets/assistant/use-other-sip-account.rc" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant")
|
||||
install(FILES "${LINPHONE_DESKTOP_DIR}/assets/assistant/create-app-sip-account.rc" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant")
|
||||
install(FILES "${LINPHONE_DESKTOP_DIR}/assets/assistant/use-app-sip-account.rc" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant")
|
||||
#get_target_property(DIRR ${TARGET_NAME} RUNTIME_OUTPUT_DIRECTORY)
|
||||
|
||||
install(PROGRAMS "${EXECUTABLE_OUTPUT_DIR}/${EXECUTABLE_NAME}.exe" DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/linphonerc-factory" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}")
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/assistant/use-other-sip-account.rc" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant")
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/assistant/create-app-sip-account.rc" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant")
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/assistant/use-app-sip-account.rc" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant")
|
||||
#get_target_property(DIRR linphone-qt RUNTIME_OUTPUT_DIRECTORY) #No need that, the binary should be in ${CMAKE_CURRENT_BINARY_DIR}/../..
|
||||
#message("DIR : ${DIRR}")
|
||||
install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}.exe" DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
install( CODE "execute_process(COMMAND ${DEPLOYQT_PROGRAM} \"\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/${EXECUTABLE_NAME}.exe\" -qmldir=${LINPHONE_QML_DIR} --compiler-runtime)")# -verbose=2)" COMPONENT binary_application)
|
||||
|
||||
# list(REMOVE_ITEM SHARE_CONTENT "${CMAKE_INSTALL_DATAROOTDIR}/belr" "${CMAKE_INSTALL_DATAROOTDIR}/Belr" "${CMAKE_INSTALL_DATAROOTDIR}/images" "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}" "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}" "${CMAKE_INSTALL_DATAROOTDIR}/sounds")
|
||||
|
|
@ -132,38 +132,33 @@ if (WIN32)
|
|||
# list(APPEND SHARE_CONTENT_EXCLUDE PATTERN "${ITEM}" EXCLUDE)
|
||||
# endforeach ()
|
||||
elseif (APPLE)
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/macos/Info.plist.in" "${CMAKE_BINARY_DIR}/Info.plist" @ONLY)
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/macos/linphone.icns" "${CMAKE_BINARY_DIR}/${EXECUTABLE_NAME}.icns" COPYONLY)
|
||||
install(FILES "${CMAKE_BINARY_DIR}/Info.plist" DESTINATION "${APPLICATION_NAME}.app/Contents")
|
||||
install(FILES "${CMAKE_BINARY_DIR}/${EXECUTABLE_NAME}.icns" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources")
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/macos/Info.plist.in" "${CMAKE_CURRENT_BINARY_DIR}/../../Info.plist" @ONLY)
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/macos/linphone.icns" "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}.icns" COPYONLY)
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/../../Info.plist" DESTINATION "${APPLICATION_NAME}.app/Contents")
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}.icns" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources")
|
||||
install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/Frameworks/" DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks" USE_SOURCE_PERMISSIONS)
|
||||
install(PROGRAMS "${CMAKE_BINARY_DIR}/${EXECUTABLE_NAME}" DESTINATION "${APPLICATION_NAME}.app/Contents/MacOS")
|
||||
install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}" DESTINATION "${APPLICATION_NAME}.app/Contents/MacOS")
|
||||
file(GLOB SHARED_LIBRARIES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/lib*.dylib")
|
||||
foreach (LIBRARY ${SHARED_LIBRARIES})
|
||||
install(FILES "${LIBRARY}" DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks")
|
||||
endforeach ()
|
||||
|
||||
find_program(DEPLOYQT_PROGRAM macdeployqt)
|
||||
if (NOT DEPLOYQT_PROGRAM)
|
||||
message(FATAL_ERROR "Could not find the macdeployqt program. Make sure it is in the PATH.")
|
||||
endif ()
|
||||
|
||||
|
||||
if (EXISTS "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/mediastreamer")
|
||||
file(COPY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/mediastreamer" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_LIBDIR}" USE_SOURCE_PERMISSIONS)
|
||||
endif ()
|
||||
install(FILES "${MINIZIP_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libminizip.dylib" DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks/")
|
||||
if(ENABLE_BUILD_VERBOSE)
|
||||
message("Take Minizip from ${MINIZIP_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libminizip.dylib")
|
||||
endif()
|
||||
file(GLOB GRAMMAR_FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/Belr/grammars/*")
|
||||
install(FILES ${GRAMMAR_FILES} DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/")
|
||||
install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/images" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS OPTIONAL)
|
||||
install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/sounds" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS)
|
||||
install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/Linphone/rootca.pem" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}")
|
||||
install(FILES "${LINPHONE_DESKTOP_DIR}/assets/linphonerc-factory" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}")
|
||||
install(FILES "${LINPHONE_DESKTOP_DIR}/assets/assistant/use-other-sip-account.rc" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant")
|
||||
install(FILES "${LINPHONE_DESKTOP_DIR}/assets/assistant/create-app-sip-account.rc" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant")
|
||||
install(FILES "${LINPHONE_DESKTOP_DIR}/assets/assistant/use-app-sip-account.rc" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant")
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/linphonerc-factory" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}")
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/assistant/use-other-sip-account.rc" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant")
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/assistant/create-app-sip-account.rc" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant")
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/assistant/use-app-sip-account.rc" DESTINATION "${APPLICATION_NAME}.app/Contents/Resources/${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}/assistant")
|
||||
|
||||
file(GLOB SHARED_LIBRARIES "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_NAME}.app/Contents/Frameworks/lib*.dylib")
|
||||
file(GLOB SHARED_LIBRARIES "${CMAKE_CURRENT_BINARY_DIR}/../../${APPLICATION_NAME}.app/Contents/Frameworks/lib*.dylib")
|
||||
|
||||
foreach (LIBRARY ${SHARED_LIBRARIES})
|
||||
get_filename_component(LIBRARY_FILENAME ${LIBRARY} NAME)
|
||||
|
|
@ -172,25 +167,31 @@ elseif (APPLE)
|
|||
execute_process(COMMAND install_name_tool -rpath "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}" "@executable_path/../Frameworks" "${LIBRARY}")
|
||||
endif()
|
||||
endforeach ()
|
||||
|
||||
install(FILES "${MINIZIP_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libminizip.dylib" DESTINATION "${APPLICATION_NAME}.app/Contents/Frameworks/")
|
||||
install( CODE "execute_process(COMMAND install_name_tool -id \"@executable_path/../Frameworks/libminizip.dylib\" \"\${CMAKE_INSTALL_PREFIX}/${APPLICATION_NAME}.app/Contents/Frameworks/libminizip.dylib\")")
|
||||
install( CODE "execute_process(COMMAND install_name_tool -change libminizip.dylib \"@executable_path/../Frameworks/libminizip.dylib\" \"\${CMAKE_INSTALL_PREFIX}/${APPLICATION_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\")")
|
||||
install( CODE "execute_process(COMMAND install_name_tool -add_rpath \"@executable_path/../Frameworks/\" \"\${CMAKE_INSTALL_PREFIX}/${APPLICATION_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\")")
|
||||
install( CODE "execute_process(COMMAND install_name_tool -add_rpath \"@executable_path/../lib/\" \"\${CMAKE_INSTALL_PREFIX}/${APPLICATION_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\")")
|
||||
if(ENABLE_APP_PACKAGING)
|
||||
find_program(DEPLOYQT_PROGRAM macdeployqt)
|
||||
if (NOT DEPLOYQT_PROGRAM)
|
||||
message(FATAL_ERROR "Could not find the macdeployqt program. Make sure it is in the PATH.")
|
||||
endif()
|
||||
install( CODE "execute_process(COMMAND ${DEPLOYQT_PROGRAM} \${CMAKE_INSTALL_PREFIX}/${APPLICATION_NAME}.app -qmldir=${LINPHONE_QML_DIR})")
|
||||
endif()
|
||||
if (LINPHONE_BUILDER_SIGNING_IDENTITY)
|
||||
file(GLOB FRAMEWORKS_NAMES "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_NAME}.app/Contents/Frameworks/*")
|
||||
file(GLOB FRAMEWORKS_NAMES "${CMAKE_CURRENT_BINARY_DIR}/../../${APPLICATION_NAME}.app/Contents/Frameworks/*")
|
||||
foreach (FRAMEWORK ${FRAMEWORKS_NAMES})
|
||||
execute_process(COMMAND "codesign" "--verbose" "-s" "${LINPHONE_BUILDER_SIGNING_IDENTITY}" "${FRAMEWORK}")
|
||||
endforeach ()
|
||||
file(GLOB PLUGINS_NAMES "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_NAME}.app/Contents/PlugIns/*")
|
||||
file(GLOB PLUGINS_NAMES "${CMAKE_CURRENT_BINARY_DIR}/../../${APPLICATION_NAME}.app/Contents/PlugIns/*")
|
||||
foreach (PLUGIN ${PLUGINS_NAMES})
|
||||
file(GLOB PLUGINS_FILES "${PLUGIN}/*")
|
||||
foreach (PLUGIN_FILE ${PLUGINS_FILES})
|
||||
execute_process(COMMAND "codesign" "--verbose" "-s" "${LINPHONE_BUILDER_SIGNING_IDENTITY}" "${PLUGIN_FILE}")
|
||||
endforeach ()
|
||||
endforeach ()
|
||||
execute_process(COMMAND "codesign" "--verbose" "-s" "${LINPHONE_BUILDER_SIGNING_IDENTITY}" "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_NAME}.app")
|
||||
execute_process(COMMAND "codesign" "--verbose" "-s" "${LINPHONE_BUILDER_SIGNING_IDENTITY}" "${CMAKE_CURRENT_BINARY_DIR}/../../${APPLICATION_NAME}.app")
|
||||
endif ()
|
||||
# install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_NAME}.app" DESTINATION "." USE_SOURCE_PERMISSIONS)
|
||||
|
||||
|
|
@ -199,8 +200,7 @@ else()# Not Windows and Apple
|
|||
get_filename_component(LIBRARY_FILENAME ${LIBRARY} NAME)
|
||||
message("Changing RPATH of ${LIBRARY_FILENAME} from '${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}' to '$ORIGIN/../${CMAKE_INSTALL_LIBDIR}'")
|
||||
execute_process(COMMAND install_name_tool -rpath "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}" "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}" "${LIBRARY}")
|
||||
endforeach ()
|
||||
message(${CMAKE_INSTALL_PREFIX})
|
||||
endforeach ()
|
||||
install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_BINDIR}/" DESTINATION "${CMAKE_INSTALL_BINDIR}" USE_SOURCE_PERMISSIONS)
|
||||
|
||||
#Just in case. This is useless because we have to use CMAKE_INSTALL_LIBDIR
|
||||
|
|
@ -211,17 +211,28 @@ else()# Not Windows and Apple
|
|||
install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/lib64/" DESTINATION "lib64" USE_SOURCE_PERMISSIONS)
|
||||
endif()
|
||||
install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS)
|
||||
|
||||
message("INSTALLATION : ${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/" )
|
||||
|
||||
if(ENABLE_BUILD_VERBOSE)
|
||||
message("INSTALLATION : ${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/" )
|
||||
endif()
|
||||
if (EXISTS "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/mediastreamer")
|
||||
file(COPY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/mediastreamer" DESTINATION "${CMAKE_INSTALL_LIBDIR}" USE_SOURCE_PERMISSIONS)
|
||||
endif ()
|
||||
# Install desktop/icon files.
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../../assets/linphone.desktop.cmake" "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}.desktop" @ONLY)
|
||||
|
||||
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}.desktop" DESTINATION "${CMAKE_INSTALL_DATADIR}/applications")
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/images/linphone_logo.svg" DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps/" RENAME "${EXECUTABLE_NAME}.svg")
|
||||
|
||||
set(ICON_DIRS 16x16 22x22 24x24 32x32 64x64 128x128 256x256)
|
||||
foreach (DIR ${ICON_DIRS})
|
||||
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/icons/hicolor/${DIR}/apps/icon.png" DESTINATION "${CMAKE_INSTALL_DATADIR}/icons/hicolor/${DIR}/apps/" RENAME "${EXECUTABLE_NAME}.png")
|
||||
endforeach ()
|
||||
|
||||
install(FILES "${MINIZIP_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libminizip.so" DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||
install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/cpim_grammar" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/")
|
||||
install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/vcard_grammar" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/belr/grammars/")
|
||||
install(FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/linphone/rootca.pem" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${APPLICATION_NAME}") #We use executable_name because of name folder that is not harmonized from the SDK
|
||||
install(PROGRAMS "${CMAKE_BINARY_DIR}/${EXECUTABLE_NAME}" DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}" DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
endif ()
|
||||
|
||||
if (MSVC)
|
||||
|
|
@ -271,19 +282,21 @@ if(${ENABLE_APP_PACKAGING})
|
|||
set(CPACK_PACKAGE_VERSION_PATCH ${LINPHONE_MICRO_VERSION})
|
||||
endif ()
|
||||
set(CPACK_PACKAGE_EXECUTABLES "${EXECUTABLE_NAME};${APPLICATION_NAME}")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${LINPHONE_DESKTOP_DIR}/../LICENSE.txt")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/../../../LICENSE.txt")
|
||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${APPLICATION_NAME}")
|
||||
set(CPACK_PACKAGE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/Packages")
|
||||
set(CPACK_PACKAGE_ICON "${LINPHONE_DESKTOP_DIR}/assets/icon.ico")
|
||||
set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/icon.ico")
|
||||
|
||||
if (APPLE)
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${LINPHONE_GIT_REVISION}-mac")
|
||||
set(CPACK_DMG_BACKGROUND_IMAGE "${CMAKE_CURRENT_SOURCE_DIR}/macos/background_dmg.jpg")
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/macos/linphone_dmg.scpt.in" "linphone_dmg.scpt" @ONLY)
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/macos/linphone_dmg.scpt.in" "${CMAKE_CURRENT_BINARY_DIR}/linphone_dmg.scpt" @ONLY)
|
||||
set(CPACK_DMG_DS_STORE_SETUP_SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/linphone_dmg.scpt")
|
||||
set(CPACK_BINARY_DRAGNDROP ON)
|
||||
message(STATUS "Set DragNDrop CPack generator in OUTPUT/Packages")
|
||||
elseif(NOT(WIN32))
|
||||
set(CPACK_BINARY_TGZ ON)
|
||||
set(DO_APPIMAGE YES)
|
||||
message(STATUS "Set AppImage CPack generator in OUTPUT/Packages")
|
||||
else()
|
||||
set(CPACK_GENERATOR "NSIS")
|
||||
set(DO_GENERATOR YES)
|
||||
|
|
@ -295,8 +308,8 @@ if(${ENABLE_APP_PACKAGING})
|
|||
# and ensure that linphone is not running before installation.
|
||||
set(CPACK_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/windows")
|
||||
set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\windows\\\\nsis_banner.bmp")
|
||||
set(CPACK_NSIS_MUI_ICON "${LINPHONE_DESKTOP_DIR}/assets/icon.ico")
|
||||
set(CPACK_NSIS_MUI_UNIICON "${LINPHONE_DESKTOP_DIR}/assets/icon.ico")
|
||||
set(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/icon.ico")
|
||||
set(CPACK_NSIS_MUI_UNIICON "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/icon.ico")
|
||||
set(CPACK_NSIS_DISPLAY_NAME "${APPLICATION_NAME}")
|
||||
if (LINPHONE_MICRO_VERSION)
|
||||
set(CPACK_NSIS_PACKAGE_NAME "${APPLICATION_NAME} ${LINPHONE_MAJOR_VERSION}.${LINPHONE_MINOR_VERSION}.${LINPHONE_MICRO_VERSION}")
|
||||
|
|
@ -311,13 +324,14 @@ if(${ENABLE_APP_PACKAGING})
|
|||
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "!include \\\"${ESCAPED_DOS_STYLE_BINARY_DIR}\\\\install.nsi\\\"")
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/windows/uninstall.nsi.in" "${CMAKE_CURRENT_BINARY_DIR}/uninstall.nsi" COPYONLY)
|
||||
set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "!include \\\"${ESCAPED_DOS_STYLE_BINARY_DIR}\\\\uninstall.nsi\\\"")
|
||||
message(STATUS "Set NSIS CPack generator in OUTPUT/Packages")
|
||||
else ()
|
||||
set(PACKAGE_EXT "msi")
|
||||
|
||||
set(CPACK_WIX_UPGRADE_GUID "C748668E-53D0-4088-A548-E33A76615A3B")
|
||||
set(CPACK_WIX_PRODUCT_ICON "${LINPHONE_DESKTOP_DIR}/assets/icon.ico")
|
||||
set(CPACK_WIX_PRODUCT_ICON "${CMAKE_CURRENT_SOURCE_DIR}/../../assets/icon.ico")
|
||||
set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "${APPLICATION_URL}")
|
||||
|
||||
message(STATUS "Set MSI CPack generator in OUTPUT/Packages")
|
||||
# TODO: Deal with install/uninstall.nsi
|
||||
endif ()
|
||||
|
||||
|
|
|
|||
|
|
@ -22,8 +22,9 @@
|
|||
set(DO_TGZ @CPACK_BINARY_TGZ@)
|
||||
set(DO_TZ @CPACK_BINARY_TZ@)
|
||||
set(DO_STGZ @CPACK_BINARY_STGZ@)
|
||||
set(DO_DRAGANDDROP @CPACK_BINARY_DRAGNDROP@)
|
||||
set(DO_DRAGNDROP @CPACK_BINARY_DRAGNDROP@)
|
||||
set(DO_GENERATOR @DO_GENERATOR@)
|
||||
set(DO_APPIMAGE @DO_APPIMAGE@)
|
||||
|
||||
|
||||
if (NOT "${CMAKE_INSTALL_PREFIX}" MATCHES .*/_CPack_Packages/.*)
|
||||
|
|
@ -45,8 +46,8 @@ if (NOT "${CMAKE_INSTALL_PREFIX}" MATCHES .*/_CPack_Packages/.*)
|
|||
message(FATAL_ERROR "Failed to create STGZ package!")
|
||||
endif()
|
||||
endif()
|
||||
if(DO_DRAGANDDROP)
|
||||
execute_process( COMMAND ${CMAKE_CPACK_COMMAND} -G DragAndDrop RESULT_VARIABLE CPACK_COMMAND_RESULT)
|
||||
if(DO_DRAGNDROP)
|
||||
execute_process( COMMAND ${CMAKE_CPACK_COMMAND} -G DragNDrop RESULT_VARIABLE CPACK_COMMAND_RESULT)
|
||||
if(CPACK_COMMAND_RESULT)
|
||||
message(FATAL_ERROR "Failed to create DragAndDrop package!")
|
||||
endif()
|
||||
|
|
@ -57,6 +58,14 @@ if (NOT "${CMAKE_INSTALL_PREFIX}" MATCHES .*/_CPack_Packages/.*)
|
|||
message(FATAL_ERROR "Failed to create @CPACK_GENERATOR@ package!")
|
||||
endif()
|
||||
endif()
|
||||
if(DO_APPIMAGE)
|
||||
# execute_process( COMMAND cp -rfv "@CMAKE_SOURCE_DIR@/../tools/linuxdeploy-x86_64.AppImage" "@CMAKE_INSTALL_PREFIX@/..")
|
||||
# execute_process( COMMAND chmod +x "@CMAKE_INSTALL_PREFIX@/../linuxdeploy-x86_64.AppImage")
|
||||
execute_process( COMMAND "@CMAKE_SOURCE_DIR@/../tools/create_appimage.sh" RESULT_VARIABLE CPACK_COMMAND_RESULT WORKING_DIRECTORY "@CMAKE_INSTALL_PREFIX@/.." )
|
||||
if(CPACK_COMMAND_RESULT)
|
||||
message(FATAL_ERROR "Failed to create AppImage package with this command : @CMAKE_SOURCE_DIR@/../tools/create_appimage.sh at @CMAKE_INSTALL_PREFIX@/..\nMaybe the .appimage already exists and is running. Please remove the file before packaging if it is the case.")
|
||||
endif()
|
||||
endif()
|
||||
if (@PERFORM_SIGNING@)
|
||||
execute_process(
|
||||
COMMAND @SIGNTOOL_COMMAND@ @CMAKE_CURRENT_BINARY_DIR@/@CPACK_PACKAGE_FILE_NAME@.@PACKAGE_EXT@
|
||||
|
|
|
|||
|
|
@ -42,14 +42,14 @@ AppController::AppController (int &argc, char *argv[]) {
|
|||
Q_ASSERT(!mApp);
|
||||
// Disable QML cache. Avoid malformed cache.
|
||||
qputenv("QML_DISABLE_DISK_CACHE", "true");
|
||||
QGuiApplication::setAttribute(Qt::AA_DisableHighDpiScaling, true);
|
||||
// Useful to share camera on Fullscreen (other context).
|
||||
QApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
|
||||
|
||||
mApp = new App(argc, argv);
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
QGuiApplication::setAttribute(Qt::AA_DisableHighDpiScaling, true);
|
||||
|
||||
// Useful to share camera on Fullscreen (other context).
|
||||
QApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// App creation.
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit f8422b1cadbbe24277a7289a479580f9c8b8f302
|
||||
Subproject commit 30d17ef6505f75f938943db373c6c617baa28028
|
||||
2
submodules/externals/minizip
vendored
2
submodules/externals/minizip
vendored
|
|
@ -1 +1 @@
|
|||
Subproject commit 470f4c8ef31925b591aac522a2d4187baf8f54dd
|
||||
Subproject commit 40b728857cd0cedfe8a122861cb6944cbcdcf2ac
|
||||
46
tools/create_appimage.sh
Executable file
46
tools/create_appimage.sh
Executable file
|
|
@ -0,0 +1,46 @@
|
|||
#!/bin/bash
|
||||
##
|
||||
## Copyright (c) 2010-2020 Belledonne Communications SARL.
|
||||
##
|
||||
## This file is part of linphone-desktop
|
||||
## (see https://www.linphone.org).
|
||||
##
|
||||
## This program is free software: you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
## the Free Software Foundation, either version 3 of the License, or
|
||||
## (at your option) any later version.
|
||||
##
|
||||
## This program is distributed in the hope that it will be useful,
|
||||
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
## GNU General Public License for more details.
|
||||
##
|
||||
## You should have received a copy of the GNU General Public License
|
||||
## along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
##
|
||||
|
||||
APP_NAME="linphone"
|
||||
|
||||
BIN_SOURCE_DIR="OUTPUT/"
|
||||
|
||||
WORK_DIR="WORK/Packages/AppImageDir"
|
||||
|
||||
mkdir -p "${WORK_DIR}/app/"
|
||||
mkdir -p "${WORK_DIR}/usr/share"
|
||||
|
||||
cp -rfv "${BIN_SOURCE_DIR}"/* "${WORK_DIR}/app/"
|
||||
rm -rfv "${WORK_DIR}/app/Packages"
|
||||
cp -rfv "${WORK_DIR}/app/share" "${WORK_DIR}/usr/"
|
||||
|
||||
if [ -f "${WORK_DIR}/AppBin/linuxdeploy-x86_64.AppImage" ]; then
|
||||
echo "linuxdeploy-x86_64.AppImage exists"
|
||||
else
|
||||
wget -P "${WORK_DIR}/AppBin" https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
||||
chmod +x "${WORK_DIR}/AppBin/linuxdeploy-x86_64.AppImage"
|
||||
fi
|
||||
|
||||
./${WORK_DIR}/AppBin/linuxdeploy-x86_64.AppImage --appdir=${WORK_DIR}/ -e ${WORK_DIR}/app/bin/linphone --output appimage --desktop-file=${WORK_DIR}/app/share/applications/linphone.desktop -i ${WORK_DIR}/app/share/icons/hicolor/scalable/apps/linphone.svg
|
||||
#./linuxdeploy-x86_64.AppImage --appdir=${WORK_DIR}/ -e ${WORK_DIR}/app/bin/linphone --output appimage --desktop-file=${WORK_DIR}/app/share/applications/linphone.desktop -i ${WORK_DIR}/app/share/icons/hicolor/scalable/apps/linphone.svg
|
||||
|
||||
mkdir -p "${BIN_SOURCE_DIR}/Packages"
|
||||
mv Linphone*.AppImage "${BIN_SOURCE_DIR}/Packages"
|
||||
BIN
tools/linuxdeploy-x86_64.AppImage
Executable file
BIN
tools/linuxdeploy-x86_64.AppImage
Executable file
Binary file not shown.
Loading…
Add table
Reference in a new issue