mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 03:18:07 +00:00
Update CI files
This commit is contained in:
parent
68e29b2637
commit
21f002105f
17 changed files with 709 additions and 141 deletions
|
|
@ -100,7 +100,7 @@ job-archlinux-latest-ninja-clang-novideo:
|
|||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_LINUX
|
||||
# variables:
|
||||
# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON
|
||||
# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON -DENABLE_GPL_THIRD_PARTIES=ON
|
||||
# extends: job-archlinux-latest-makefile-clang
|
||||
# artifacts:
|
||||
# paths:
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ job-centos7-ninja-gcc-package:
|
|||
variables:
|
||||
- $DEPLOY_LINUX_CENTOS7
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
.factorize_debian10: &docker_image_platform_and_runner_tag
|
||||
tags: [ "docker" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian10:$DEBIAN_10_IMAGE_VERSION
|
||||
|
||||
|
||||
job-debian10-ninja-gcc:
|
||||
tags: [ "docker-debian10" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian10:$DEBIAN_10_IMAGE_VERSION
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
|
|
@ -11,14 +13,13 @@ job-debian10-ninja-gcc:
|
|||
CC: gcc
|
||||
CXX: g++
|
||||
extends: .job-linux-desktop
|
||||
<<: *docker_image_platform_and_runner_tag
|
||||
|
||||
#################################################
|
||||
# Nightly
|
||||
#################################################
|
||||
|
||||
job-debian10-makefile-gcc:
|
||||
tags: [ "docker-debian10" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian10:$DEBIAN_10_IMAGE_VERSION
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
|
|
@ -29,25 +30,19 @@ job-debian10-makefile-gcc:
|
|||
CXX: g++
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
extends: .job-linux-desktop
|
||||
<<: *docker_image_platform_and_runner_tag
|
||||
|
||||
|
||||
job-debian10-ninja-gcc-novideo:
|
||||
tags: [ "docker-debian10" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian10:$DEBIAN_10_IMAGE_VERSION
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
extends: .job-linux-desktop
|
||||
extends: job-debian10-ninja-gcc
|
||||
|
||||
|
||||
job-debian10-ninja-gcc-smallsdk:
|
||||
tags: [ "docker-debian10" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian10:$DEBIAN_10_IMAGE_VERSION
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
|
|
@ -57,20 +52,20 @@ job-debian10-ninja-gcc-smallsdk:
|
|||
CC: gcc
|
||||
CXX: g++
|
||||
extends: .job-linux-desktop
|
||||
<<: *docker_image_platform_and_runner_tag
|
||||
|
||||
|
||||
job-debian10-ninja-clang:
|
||||
tags: [ "docker-debian10" ]
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian10:$DEBIAN_10_IMAGE_VERSION
|
||||
variables:
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON
|
||||
CMAKE_OPTIONS: -DENABLE_DOC=ON -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
extends: .job-linux-desktop
|
||||
<<: *docker_image_platform_and_runner_tag
|
||||
|
||||
|
||||
job-debian10-ninja-clang-novideo:
|
||||
|
|
@ -78,12 +73,10 @@ job-debian10-ninja-clang-novideo:
|
|||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF
|
||||
extends: job-debian10-ninja-clang
|
||||
|
||||
job-debian10-makefile-clang:
|
||||
tags: [ "docker-debian10" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian10:$DEBIAN_10_IMAGE_VERSION
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
|
|
@ -95,39 +88,77 @@ job-debian10-makefile-clang:
|
|||
CXX: clang++
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
extends: .job-linux-desktop
|
||||
<<: *docker_image_platform_and_runner_tag
|
||||
|
||||
#################################################
|
||||
# Package - Nightly
|
||||
#################################################
|
||||
|
||||
job-debian10-makefile-clang-package:
|
||||
job-debian10-makefile-gcc-package:
|
||||
stage: package
|
||||
tags: [ "docker-debian10" ]
|
||||
tags: [ "docker-test-liblinphone" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-debian10:$DEBIAN_10_IMAGE_VERSION
|
||||
dependencies: []
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $PACKAGE_LINUX
|
||||
- $DEPLOY_LINUX
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON
|
||||
extends: job-debian10-makefile-clang
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DENABLE_G729=ON -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$LINUX_PLATFORM/$APP_FOLDER -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
APPIMAGETOOL_SIGN_PASSPHRASE: $GPG_SIGNING_PASS
|
||||
extends: .job-linux-desktop
|
||||
script:
|
||||
- echo "$GPG_SIGNING_PUB" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key
|
||||
- gpg --import file.key
|
||||
- rm -f file.key
|
||||
- echo "$GPG_SIGNING_KEY" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key
|
||||
- base64 -w 0 file.key | base64 -d | gpg --import --no-tty --batch --yes
|
||||
- rm -f file.key
|
||||
- cmake --version
|
||||
- export CC=$CC
|
||||
- export CXX=$CXX
|
||||
- mkdir -p build/OUTPUT
|
||||
- echo $CI_BUILD_TYPE
|
||||
- echo $CMAKE_GENERATOR
|
||||
- echo $DEFAULT_LINUX_CMAKE_OPTIONS
|
||||
- echo $CMAKE_SANITIZER_OPTIONS
|
||||
- cd build
|
||||
- cmake .. -G "$CMAKE_GENERATOR" -DCMAKE_VERBOSE_MAKEFILE=ON -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_BUILD_TYPE=$CI_BUILD_TYPE $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS $CMAKE_SANITIZER_OPTIONS
|
||||
- cmake --build . --target install --config $CI_BUILD_TYPE $LBC_NODEBUG_OPTIONS
|
||||
artifacts:
|
||||
paths:
|
||||
- build/OUTPUT/Packages/Linphone*.AppImage
|
||||
- build/OUTPUT/*
|
||||
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/
|
||||
#job-debian10-makefile-gcc-deploy:
|
||||
# stage: deploy
|
||||
# tags: [ "docker" ]
|
||||
# dependencies:
|
||||
# - job-debian10-makefile-gcc-package
|
||||
# only:
|
||||
# variables:
|
||||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_LINUX
|
||||
# script:
|
||||
# - rsync -rlv --ignore-existing build/OUTPUT/Packages/*.AppImage $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER
|
||||
# - rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM
|
||||
# - rsync -rlv build/OUTPUT/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM
|
||||
|
||||
#job-debian10-makefile-gcc-plugins-deploy:
|
||||
# stage: deploy
|
||||
# tags: [ "deploy" ]
|
||||
# needs:
|
||||
# - job-debian10-makefile-gcc
|
||||
# only:
|
||||
# variables:
|
||||
# - $DEPLOY_PLUGINS
|
||||
# script:
|
||||
# - rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.so $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER/plugins/
|
||||
|
|
|
|||
179
.gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml
Normal file
179
.gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
|
||||
|
||||
.factorize_ubuntu1804: &docker_image_platform_and_runner_tag
|
||||
tags: [ "docker" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu-18-04-lts:$UBUNTU_1804_IMAGE_VERSION
|
||||
|
||||
job-ubuntu1804-ninja-gcc:
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
variables:
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
extends: .job-linux-desktop
|
||||
<<: *docker_image_platform_and_runner_tag
|
||||
|
||||
job-ubuntu1804-ninja-gcc-smallsdk:
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_ADVANCED_IM=NO -DENABLE_DB_STORAGE=NO -DENABLE_PQCRYPTO=OFF
|
||||
extends: job-ubuntu1804-ninja-gcc
|
||||
|
||||
|
||||
#################################################
|
||||
# Nightly
|
||||
#################################################
|
||||
|
||||
job-ubuntu1804-makefile-gcc:
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
extends: .job-linux-desktop
|
||||
<<: *docker_image_platform_and_runner_tag
|
||||
|
||||
job-ubuntu1804-ninja-gcc-novideo:
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF
|
||||
extends: job-ubuntu1804-ninja-gcc
|
||||
|
||||
job-ubuntu1804-ninja-clang:
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_DOC=ON -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CC: clang
|
||||
CXX: clang++
|
||||
extends: .job-linux-desktop
|
||||
<<: *docker_image_platform_and_runner_tag
|
||||
|
||||
job-ubuntu1804-ninja-clang-novideo:
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=OFF
|
||||
extends: job-ubuntu1804-ninja-clang
|
||||
|
||||
job-ubuntu1804-makefile-gcc:
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $DEPLOY_PLUGINS
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
APPIMAGETOOL_SIGN_PASSPHRASE: $GPG_SIGNING_PASS
|
||||
script:
|
||||
- echo "$GPG_SIGNING_PUB" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key
|
||||
- gpg --import file.key
|
||||
- rm -f file.key
|
||||
- echo "$GPG_SIGNING_KEY" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key
|
||||
- base64 -w 0 file.key | base64 -d | gpg --import --no-tty --batch --yes
|
||||
- rm -f file.key
|
||||
- cmake --version
|
||||
- export CC=$CC
|
||||
- export CXX=$CXX
|
||||
- mkdir -p build/OUTPUT
|
||||
- echo $CI_BUILD_TYPE
|
||||
- echo $CMAKE_GENERATOR
|
||||
- echo $DEFAULT_LINUX_CMAKE_OPTIONS
|
||||
- echo $CMAKE_SANITIZER_OPTIONS
|
||||
- cd build
|
||||
- cmake .. -G "$CMAKE_GENERATOR" -DCMAKE_VERBOSE_MAKEFILE=ON -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_BUILD_TYPE=$CI_BUILD_TYPE $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS $CMAKE_SANITIZER_OPTIONS
|
||||
- cmake --build . --target install --config $CI_BUILD_TYPE $LBC_NODEBUG_OPTIONS
|
||||
extends: .job-linux-desktop
|
||||
<<: *docker_image_platform_and_runner_tag
|
||||
|
||||
#################################################
|
||||
# Package - Nightly
|
||||
#################################################
|
||||
|
||||
job-ubuntu1804-makefile-gcc-package:
|
||||
stage: package
|
||||
tags: [ "docker-test-liblinphone" ]
|
||||
image: gitlab.linphone.org:4567/bc/public/linphone-sdk/bc-dev-ubuntu-18-04-lts:$UBUNTU_1804_IMAGE_VERSION
|
||||
dependencies: []
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $PACKAGE_LINUX
|
||||
- $DEPLOY_LINUX
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DENABLE_G729=ON -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$LINUX_PLATFORM/$APP_FOLDER -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
APPIMAGETOOL_SIGN_PASSPHRASE: $GPG_SIGNING_PASS
|
||||
extends: .job-linux-desktop
|
||||
script:
|
||||
- echo "$GPG_SIGNING_PUB" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key
|
||||
- gpg --import file.key
|
||||
- rm -f file.key
|
||||
- echo "$GPG_SIGNING_KEY" > file.key && sed -i 's/\r /\n/g' file.key && chmod 600 file.key
|
||||
- base64 -w 0 file.key | base64 -d | gpg --import --no-tty --batch --yes
|
||||
- rm -f file.key
|
||||
- cmake --version
|
||||
- export CC=$CC
|
||||
- export CXX=$CXX
|
||||
- mkdir -p build/OUTPUT
|
||||
- echo $CI_BUILD_TYPE
|
||||
- echo $CMAKE_GENERATOR
|
||||
- echo $DEFAULT_LINUX_CMAKE_OPTIONS
|
||||
- echo $CMAKE_SANITIZER_OPTIONS
|
||||
- cd build
|
||||
- cmake .. -G "$CMAKE_GENERATOR" -DCMAKE_VERBOSE_MAKEFILE=ON -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_BUILD_TYPE=$CI_BUILD_TYPE $DEFAULT_LINUX_CMAKE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS $CMAKE_SANITIZER_OPTIONS
|
||||
- cmake --build . --target install --config $CI_BUILD_TYPE $LBC_NODEBUG_OPTIONS
|
||||
artifacts:
|
||||
paths:
|
||||
- build/OUTPUT/*
|
||||
expire_in: 1 week
|
||||
|
||||
#################################################
|
||||
# Deploy - Nightly
|
||||
#################################################
|
||||
|
||||
#job-ubuntu1804-makefile-gcc-deploy:
|
||||
# stage: deploy
|
||||
# tags: [ "deploy" ]
|
||||
# needs:
|
||||
# - job-ubuntu1804-makefile-gcc-package
|
||||
# only:
|
||||
# variables:
|
||||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_LINUX
|
||||
# script:
|
||||
# - rsync -rlv --ignore-existing build/OUTPUT/Packages/*.AppImage $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER
|
||||
# - rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM
|
||||
# - rsync -rlv build/OUTPUT/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM
|
||||
|
||||
|
||||
#job-ubuntu1804-makefile-gcc-plugins-deploy:
|
||||
# stage: deploy
|
||||
# tags: [ "deploy" ]
|
||||
# needs:
|
||||
# - job-ubuntu1804-makefile-gcc
|
||||
# only:
|
||||
# variables:
|
||||
# - $DEPLOY_PLUGINS
|
||||
# script:
|
||||
# - rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.so $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$LINUX_PLATFORM/$APP_FOLDER/plugins/
|
||||
|
||||
|
|
@ -92,7 +92,7 @@ job-ubuntu-rolling-ninja-clang-novideo:
|
|||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_LINUX
|
||||
# variables:
|
||||
# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON
|
||||
# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON -DENABLE_GPL_THIRD_PARTIES=ON
|
||||
# extends: job-ubuntu-rolling-makefile-clang
|
||||
# artifacts:
|
||||
# paths:
|
||||
|
|
|
|||
|
|
@ -5,8 +5,10 @@
|
|||
|
||||
.build_all_script: &build_all_script |
|
||||
ccache -s
|
||||
export Qt5_DIR=~/Qt/$QT_MAC_VER/lib/cmake/Qt5
|
||||
export Qt6_DIR=~/Qt/$QT_MAC_VER/lib/cmake/Qt6
|
||||
echo $Qt6_DIR
|
||||
export PATH=~/Qt/$QT_MAC_VER/bin:$PATH
|
||||
echo $PATH
|
||||
if [ -d "build" ]; then rm -rf build; fi;
|
||||
mkdir -p build/OUTPUT
|
||||
cd build
|
||||
|
|
@ -16,22 +18,18 @@
|
|||
echo $DEFAULT_MACOS_CMAKE_OPTIONS
|
||||
echo $CMAKE_OPTIONS
|
||||
echo $ADDITIONAL_BUILD_OPTIONS
|
||||
cmake .. -G "$CMAKE_GENERATOR" -DLINPHONESDK_PLATFORM=Desktop -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DCMAKE_BUILD_TYPE=$CI_BUILD_TYPE $DEFAULT_MACOS_CMAKE_OPTIONS $XCODE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS -DLINPHONE_BUILDER_SIGNING_IDENTITY="$MACOS_SIGNING_IDENTITY" -DLINPHONESDK_MACOS_ARCHS="$LINPHONESDK_MACOS_ARCHS" -DLINPHONESDK_OPENSSL_ROOT_DIR_X86_64="$LINPHONESDK_OPENSSL_ROOT_DIR_X86_64" -DLINPHONESDK_OPENSSL_ROOT_DIR_ARM64="$LINPHONESDK_OPENSSL_ROOT_DIR_ARM64" $RELEASE_FILE
|
||||
cmake .. -G "$CMAKE_GENERATOR" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15 -DCMAKE_BUILD_TYPE=$CI_BUILD_TYPE $DEFAULT_MACOS_CMAKE_OPTIONS -DLINPHONE_BUILDER_SIGNING_IDENTITY="$MACOS_SIGNING_IDENTITY" $XCODE_OPTIONS $CMAKE_OPTIONS $SCHEDULE_CMAKE_OPTIONS $RELEASE_FILE
|
||||
cmake --build . --target install --config $CI_BUILD_TYPE $LBC_NODEBUG_OPTIONS -- $ADDITIONAL_BUILD_OPTIONS
|
||||
ccache -s
|
||||
|
||||
.job-macosx-desktop:
|
||||
stage: build
|
||||
tags: [ "macmini-m1-bis-xcode13" ]
|
||||
tags: [ "macos-xcode13" ]
|
||||
script:
|
||||
- *build_all_script
|
||||
variables:
|
||||
LINPHONESDK_MACOS_ARCHS: "x86_64"
|
||||
LINPHONESDK_OPENSSL_ROOT_DIR_X86_64: "/usr/local/opt/openssl@1.1"
|
||||
LINPHONESDK_OPENSSL_ROOT_DIR_ARM64: "/opt/homebrew/opt/openssl@1.1"
|
||||
artifacts:
|
||||
paths:
|
||||
- build/OUTPUT
|
||||
- build/OUTPUT/*
|
||||
when: always
|
||||
expire_in: 1 week
|
||||
|
||||
|
|
@ -39,13 +37,14 @@
|
|||
# On each push
|
||||
#################################################
|
||||
|
||||
#TODO: reactivate pcrypto when liboqs is fixed for 'Vortex' CPU.
|
||||
job-macosx-ninja:
|
||||
except:
|
||||
refs:
|
||||
- schedules
|
||||
variables:
|
||||
CMAKE_GENERATOR: Ninja
|
||||
CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON
|
||||
CMAKE_OPTIONS: -DENABLE_PQCRYPTO=OFF
|
||||
extends: .job-macosx-desktop
|
||||
|
||||
#################################################
|
||||
|
|
@ -59,7 +58,7 @@ job-macosx-makefile:
|
|||
- $DEPLOY_PLUGINS
|
||||
variables:
|
||||
CMAKE_GENERATOR: Unix Makefiles
|
||||
CMAKE_OPTIONS: -DENABLE_PQCRYPTO=ON
|
||||
CMAKE_OPTIONS: -DENABLE_PQCRYPTO=OFF
|
||||
ADDITIONAL_BUILD_OPTIONS: -j$MAKEFILE_JOBS
|
||||
extends: .job-macosx-desktop
|
||||
|
||||
|
|
@ -68,7 +67,7 @@ job-macosx-ninja-novideo:
|
|||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=NO -DENABLE_PQCRYPTO=ON
|
||||
CMAKE_OPTIONS: -DENABLE_VIDEO=OFF -DENABLE_PQCRYPTO=OFF
|
||||
CMAKE_GENERATOR: Ninja
|
||||
extends: .job-macosx-desktop
|
||||
|
||||
|
|
@ -90,7 +89,7 @@ job-macosx-ninja-novideo:
|
|||
# WAIT for QT6 for arm64
|
||||
job-macosx-makefile-package:
|
||||
stage: package
|
||||
tags: [ "macmini-m1-bis-xcode13" ]
|
||||
tags: [ "macos-xcode13" ]
|
||||
dependencies: []
|
||||
only:
|
||||
variables:
|
||||
|
|
@ -98,9 +97,8 @@ job-macosx-makefile-package:
|
|||
- $PACKAGE_MACOSX
|
||||
- $DEPLOY_MACOSX
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=ON -DENABLE_GPL_THIRD_PARTIES=ON -DENABLE_G729=ON
|
||||
RELEASE_FILE: -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$MACOSX_PLATFORM/$APP_FOLDER
|
||||
LINPHONESDK_MACOS_ARCHS: "x86_64"
|
||||
extends: job-macosx-makefile
|
||||
script:
|
||||
- if [[ $MAKE_RELEASE_FILE_URL == "" ]]; then export RELEASE_FILE=""; fi
|
||||
|
|
@ -114,7 +112,7 @@ job-macosx-makefile-package:
|
|||
|
||||
job-macosx-codesigning:
|
||||
stage: signing
|
||||
tags: [ "macmini-m1-bis-xcode13" ]
|
||||
tags: [ "macos-xcode13" ]
|
||||
needs:
|
||||
- job-macosx-makefile-package
|
||||
only:
|
||||
|
|
@ -124,7 +122,7 @@ job-macosx-codesigning:
|
|||
- $DEPLOY_MACOSX
|
||||
script:
|
||||
- cd build
|
||||
- codesign --options runtime,library --verbose -s "$MACOS_SIGNING_IDENTITY" OUTPUT/Packages/*.dmg
|
||||
- codesign --timestamp --options runtime,library --verbose -s "$MACOS_SIGNING_IDENTITY" OUTPUT/linphone-app/macos/Packages/Linphone*.dmg
|
||||
- ./../tools/app_notarization.sh
|
||||
artifacts:
|
||||
when: always
|
||||
|
|
@ -137,32 +135,32 @@ job-macosx-codesigning:
|
|||
# Deploy - Nightly
|
||||
#################################################
|
||||
|
||||
job-macosx-makefile-deploy:
|
||||
stage: deploy
|
||||
tags: [ "macmini-m1-bis-xcode13" ]
|
||||
needs:
|
||||
- job-macosx-codesigning
|
||||
only:
|
||||
variables:
|
||||
- $NIGHTLY_MASTER
|
||||
- $DEPLOY_MACOSX
|
||||
script:
|
||||
- rsync -rlv --ignore-existing build/OUTPUT/Packages/Linphone*.dmg $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER
|
||||
- |-
|
||||
if [[ $MAKE_RELEASE_FILE_URL != "" ]]; then
|
||||
rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM
|
||||
rsync -rlv build/OUTPUT/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM
|
||||
fi
|
||||
#job-macosx-makefile-deploy:
|
||||
# stage: deploy
|
||||
# tags: [ "macos-xcode13" ]
|
||||
# needs:
|
||||
# - job-macosx-codesigning
|
||||
# only:
|
||||
# variables:
|
||||
# - $NIGHTLY_MASTER
|
||||
# - $DEPLOY_MACOSX
|
||||
# script:
|
||||
# - rsync -rlv --ignore-existing build/OUTPUT/linphone-app/macos/Packages/Linphone*.dmg $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER
|
||||
# - |-
|
||||
# if [[ $MAKE_RELEASE_FILE_URL != "" ]]; then
|
||||
# rsync -rlv build/OUTPUT/RELEASE $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM
|
||||
# rsync -rlv build/OUTPUT/RELEASE $MAIN_DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM
|
||||
# fi
|
||||
|
||||
|
||||
job-macosx-makefile-plugins-deploy:
|
||||
stage: deploy
|
||||
tags: [ "macmini-m1-bis-xcode13" ]
|
||||
needs:
|
||||
- job-macosx-makefile
|
||||
only:
|
||||
variables:
|
||||
- $DEPLOY_PLUGINS
|
||||
script:
|
||||
- rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.dylib $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER/plugins
|
||||
#job-macosx-makefile-plugins-deploy:
|
||||
# stage: deploy
|
||||
# tags: [ "macos-xcode13" ]
|
||||
# needs:
|
||||
# - job-macosx-makefile
|
||||
# only:
|
||||
# variables:
|
||||
# - $DEPLOY_PLUGINS
|
||||
# script:
|
||||
# - rsync -rlv --ignore-existing build/OUTPUT/plugins/app/*.dylib $DEPLOY_SERVER:$UPLOAD_ROOT_PATH/$MACOSX_PLATFORM/$APP_FOLDER/plugins
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
- if: $CI_PIPELINE_SOURCE == "merge_request_event" && $DOCKER_UPDATE == null && $SKIP_WINDOWS == null
|
||||
- if: $CI_PIPELINE_SOURCE == "schedule" && $DOCKER_UPDATE == null && $SKIP_WINDOWS == null
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DLINPHONE_WINDOWS_SIGN_HASH=$WINDOWS_SIGN_HASH -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON
|
||||
CMAKE_OPTIONS: -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DLINPHONE_WINDOWS_SIGN_HASH=$WINDOWS_SIGN_HASH -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
|
||||
LINPHONESDK_PLATFORM: Desktop
|
||||
OUTPUT_ZIP_FOLDER: win64
|
||||
MINGW_TYPE: mingw64
|
||||
|
|
@ -84,9 +84,6 @@
|
|||
- if ($SHOW_SEARCH_STATUS_SCRIPT) { Invoke-Expression "$SHOW_SEARCH_STATUS_SCRIPT" } else { Write-Output "SHOW_SEARCH_STATUS_SCRIPT is null" }
|
||||
- if ($LAUNCH_SEARCH_STATUS_SCRIPT) { Invoke-Expression "$LAUNCH_SEARCH_STATUS_SCRIPT" -ErrorAction stop } else { Write-Output "LAUNCH_SEARCH_STATUS_SCRIPT is null" }
|
||||
- C:\PROGRA~1\Python37\Scripts\cl -s
|
||||
- cd linphone-sdk
|
||||
- mkdir $OUTPUT_ZIP_FOLDER
|
||||
- Copy-Item -Path "*.zip" -Destination "$CI_PROJECT_DIR/build-desktop/linphone-sdk/$OUTPUT_ZIP_FOLDER" -Recurse
|
||||
|
||||
################
|
||||
artifacts:
|
||||
|
|
@ -95,13 +92,14 @@
|
|||
- build-desktop\ninja_buildlog.txt
|
||||
- build-desktop\invertSearch.ps1
|
||||
- build-desktop\OUTPUT\*
|
||||
- build-desktop\external\linphone-sdk\openh264-prefix\src\openh264-stamp\*
|
||||
when: always
|
||||
expire_in: 1 week
|
||||
|
||||
.windows-vs2019-msvc:
|
||||
extends: .windows-vs2019
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_UNIT_TESTS=ON -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DLINPHONE_WINDOWS_SIGN_HASH=$WINDOWS_SIGN_HASH -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON
|
||||
CMAKE_OPTIONS: -DENABLE_UNIT_TESTS=ON -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DLINPHONE_WINDOWS_SIGN_HASH=$WINDOWS_SIGN_HASH -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
|
||||
LINPHONESDK_PLATFORM: Desktop
|
||||
CMAKE_GENERATOR: "Visual Studio 16 2019"
|
||||
BUILD_TARGET: install
|
||||
|
|
@ -157,35 +155,35 @@ vs2019-win64-package:
|
|||
- if: $PACKAGE_WINDOWS
|
||||
- if: $DEPLOY_WINDOWS
|
||||
variables:
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DLINPHONE_WINDOWS_SIGN_HASH=$WINDOWS_SIGN_HASH -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON
|
||||
CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_WINDOWS_SIGN_TOOL=$WINDOWS_SIGN_TOOL -DLINPHONE_WINDOWS_SIGN_TIMESTAMP_URL=$WINDOWS_SIGN_TIMESTAMP_URL -DLINPHONE_WINDOWS_SIGN_HASH=$WINDOWS_SIGN_HASH -DENABLE_G729=ON -DENABLE_PQCRYPTO=ON -DENABLE_GPL_THIRD_PARTIES=ON
|
||||
RELEASE_FILE: -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$WINDOWS_PLATFORM/$APP_FOLDER
|
||||
|
||||
#################################################
|
||||
# DEPLOY
|
||||
#################################################
|
||||
|
||||
vs2019-win64-upload:
|
||||
stage: deploy
|
||||
tags: [ "windows-powershell"]
|
||||
rules:
|
||||
- if: $NIGHTLY_MASTER
|
||||
- if: $DEPLOY_WINDOWS
|
||||
needs:
|
||||
- vs2019-win64-package
|
||||
script:
|
||||
- scp -pr build-desktop/OUTPUT/Packages/*.exe ${DEPLOY_SERVER}:${UPLOAD_ROOT_PATH}/${WINDOWS_PLATFORM}/${APP_FOLDER}
|
||||
- if ($MAKE_RELEASE_FILE_URL) { scp -pr build-desktop/OUTPUT/RELEASE ${DEPLOY_SERVER}:${UPLOAD_ROOT_PATH}/${WINDOWS_PLATFORM}/ }
|
||||
- if ($MAKE_RELEASE_FILE_URL) { scp -pr build-desktop/OUTPUT/RELEASE ${MAIN_DEPLOY_SERVER}:${UPLOAD_ROOT_PATH}/${WINDOWS_PLATFORM}/ }
|
||||
#vs2019-win64-upload:
|
||||
# stage: deploy
|
||||
# tags: [ "windows-powershell"]
|
||||
# rules:
|
||||
# - if: $NIGHTLY_MASTER
|
||||
# - if: $DEPLOY_WINDOWS
|
||||
# needs:
|
||||
# - vs2019-win64-package
|
||||
# script:
|
||||
# - scp -pr build-desktop/OUTPUT/Packages/*.exe ${DEPLOY_SERVER}:${UPLOAD_ROOT_PATH}/${WINDOWS_PLATFORM}/${APP_FOLDER}
|
||||
# - if ($MAKE_RELEASE_FILE_URL) { scp -pr build-desktop/OUTPUT/RELEASE ${DEPLOY_SERVER}:${UPLOAD_ROOT_PATH}/${WINDOWS_PLATFORM}/ }
|
||||
# - if ($MAKE_RELEASE_FILE_URL) { scp -pr build-desktop/OUTPUT/RELEASE ${MAIN_DEPLOY_SERVER}:${UPLOAD_ROOT_PATH}/${WINDOWS_PLATFORM}/ }
|
||||
|
||||
vs2019-win64-plugins-upload:
|
||||
stage: deploy
|
||||
tags: [ "windows"]
|
||||
rules:
|
||||
- if: $DEPLOY_PLUGINS
|
||||
needs:
|
||||
- vs2019-win64-scheduled-windows
|
||||
script:
|
||||
- scp "build-desktop/OUTPUT/plugins/app/*.dll" "%DEPLOY_SERVER%:%WINDOWS_UPLOAD_DIRECTORY%/plugins"
|
||||
#vs2019-win64-plugins-upload:
|
||||
# stage: deploy
|
||||
# tags: [ "windows"]
|
||||
# rules:
|
||||
# - if: $DEPLOY_PLUGINS
|
||||
# needs:
|
||||
# - vs2019-win64-scheduled-windows
|
||||
# script:
|
||||
# - scp "build-desktop/OUTPUT/plugins/app/*.dll" "%DEPLOY_SERVER%:%WINDOWS_UPLOAD_DIRECTORY%/plugins"
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ variables:
|
|||
DEBIAN_9_QT_IMAGE_VERSION: 20230417_qtopen_gstreamer
|
||||
DEBIAN_10_IMAGE_VERSION: 20210217_python3
|
||||
UBUNTU_ROLLING_IMAGE_VERSION: 20211012_add_qtwebview
|
||||
UBUNTU_1804_IMAGE_VERSION: 20230706_add_deps_for_av1
|
||||
|
||||
|
||||
workflow:
|
||||
|
|
@ -48,13 +49,13 @@ workflow:
|
|||
include:
|
||||
# - '.gitlab-ci-files/job-linux-prepare.yml'
|
||||
# - '.gitlab-ci-files/job-linux-desktop.yml'
|
||||
# - '.gitlab-ci-files/job-linux-desktop-debian9.yml'
|
||||
# - '.gitlab-ci-files/job-windows-desktop.yml'
|
||||
# - '.gitlab-ci-files/job-macosx-desktop.yml'
|
||||
# - '.gitlab-ci-files/job-linux-desktop-ubuntu-1804.yml'
|
||||
- '.gitlab-ci-files/job-windows-desktop.yml'
|
||||
- '.gitlab-ci-files/job-macosx-desktop.yml'
|
||||
|
||||
|
||||
#stages:
|
||||
# - build
|
||||
# - package
|
||||
# - signing
|
||||
# - deploy
|
||||
stages:
|
||||
- build
|
||||
- package
|
||||
- signing
|
||||
- deploy
|
||||
|
|
|
|||
|
|
@ -183,6 +183,7 @@ endif()
|
|||
|
||||
# Set some SDK variables to configure the APP build as we want it
|
||||
set(ENABLE_CXX_WRAPPER ON CACHE BOOL "Build the C++ wrapper for Liblinphone." FORCE)
|
||||
set(ENABLE_CSHARP_WRAPPER OFF CACHE BOOL "Build the CSharp wrapper for Liblinphone." FORCE)
|
||||
set(ENABLE_THEORA OFF)
|
||||
set(ENABLE_QT_GL ${ENABLE_VIDEO})
|
||||
|
||||
|
|
@ -251,4 +252,4 @@ else()
|
|||
include(cmake/TasksMacos.cmake)
|
||||
endif()
|
||||
|
||||
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/cmake/hook/pre-commit" DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}/.git/hooks/")
|
||||
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/cmake/hook/pre-commit" DESTINATION "${CMAKE_CURRENT_SOURCE_DIR}/.git/hooks/")
|
||||
|
|
|
|||
|
|
@ -37,10 +37,15 @@ set(QT_PACKAGES Core Quick Qml Widgets)# Search Core at first for initialize Qt
|
|||
find_package(Qt6 REQUIRED COMPONENTS Core)
|
||||
find_package(Qt6 REQUIRED COMPONENTS ${QT_PACKAGES})
|
||||
|
||||
#qt6_standard_project_setup()
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
|
||||
if(${Qt6_VERSION} VERSION_LESS "6.3.0")
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
else()
|
||||
qt6_standard_project_setup()
|
||||
endif()
|
||||
|
||||
set(_LINPHONEAPP_SOURCES main.cpp)
|
||||
set(_LINPHONEAPP_QML_FILES)
|
||||
|
||||
|
|
|
|||
|
|
@ -64,7 +64,8 @@ void LoggerModel::onLog(QtMsgType type, QString contextFile, int contextLine, QS
|
|||
contextStr = QStringLiteral("%1:%2: ").arg(fileToDisplay).arg(contextLine);
|
||||
}
|
||||
#else
|
||||
Q_UNUSED(context);
|
||||
Q_UNUSED(contextFile)
|
||||
Q_UNUSED(contextLine)
|
||||
#endif
|
||||
|
||||
auto serviceMsg = Utils::appStringToCoreString(contextStr + msg);
|
||||
|
|
|
|||
135
cmake/GenerateAppMacos.cmake
Normal file
135
cmake/GenerateAppMacos.cmake
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
################################################################################
|
||||
# GenerateFrameworks.cmake
|
||||
# Copyright (c) 2021-2023 Belledonne Communications SARL.
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
cmake_policy(SET CMP0009 NEW) # Do not follow symlinks when doing file(GLOB_RECURSE)
|
||||
|
||||
include("${LINPHONESDK_DIR}/cmake/LinphoneSdkUtils.cmake")
|
||||
|
||||
|
||||
linphone_sdk_convert_comma_separated_list_to_cmake_list("${LINPHONEAPP_MACOS_ARCHS}" _MACOS_ARCHS)
|
||||
list(GET _MACOS_ARCHS 0 _FIRST_ARCH)
|
||||
|
||||
set(MAIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/${LINPHONEAPP_NAME}) #OUTPUT/linphone-app/macos
|
||||
|
||||
################################
|
||||
# Create the desktop directory that will contain the merged content of all architectures
|
||||
################################
|
||||
|
||||
execute_process(
|
||||
COMMAND "${CMAKE_COMMAND}" "-E" "remove_directory" "${MAIN_INSTALL_DIR}"
|
||||
COMMAND "${CMAKE_COMMAND}" "-E" "make_directory" "${MAIN_INSTALL_DIR}"
|
||||
)
|
||||
|
||||
################################
|
||||
# Copy outside folders that should be in .app package
|
||||
################################
|
||||
|
||||
function( copy_outside_folders _ARCH)
|
||||
# Prepare .app
|
||||
execute_process(COMMAND rsync -a --force "${MAIN_INSTALL_DIR}-${_ARCH}/Frameworks/" "${MAIN_INSTALL_DIR}-${_ARCH}/${CMAKE_INSTALL_LIBDIR}/")
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${MAIN_INSTALL_DIR}-${_ARCH}/include/" "${MAIN_INSTALL_DIR}-${_ARCH}/${CMAKE_INSTALL_INCLUDEDIR}/")
|
||||
# move share
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${MAIN_INSTALL_DIR}-${_ARCH}/share/" "${MAIN_INSTALL_DIR}-${_ARCH}/${CMAKE_INSTALL_DATAROOTDIR}/")
|
||||
# move mkspecs
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${MAIN_INSTALL_DIR}-${_ARCH}/mkspecs/" "${MAIN_INSTALL_DIR}-${_ARCH}/${CMAKE_INSTALL_DATAROOTDIR}/")
|
||||
endfunction()
|
||||
|
||||
set(_COPIED FALSE)
|
||||
foreach(_ARCH IN LISTS ${_MACOS_ARCHS})
|
||||
set(_COPIED TRUE)
|
||||
message(STATUS "Copying outside folders for ${_ARCH}")
|
||||
copy_outside_folders(${_ARCH})
|
||||
endforeach()
|
||||
|
||||
if(NOT _COPIED) # this is a bug on cmake as there is one element but foreach doesn't do loop.
|
||||
message(STATUS "Copying outside folders for ${_FIRST_ARCH}")
|
||||
copy_outside_folders(${_FIRST_ARCH})
|
||||
endif()
|
||||
|
||||
################################
|
||||
# Copy and merge content of all architectures in the desktop directory
|
||||
################################
|
||||
# Do not use copy_directory because of symlinks
|
||||
message(STATUS "Copying ${_FIRST_ARCH} into main")
|
||||
execute_process(COMMAND rsync -a --force "${MAIN_INSTALL_DIR}-${_FIRST_ARCH}/" "${MAIN_INSTALL_DIR}" WORKING_DIRECTORY "${LINPHONEAPP_BUILD_DIR}")
|
||||
|
||||
#if(NOT ENABLE_FAT_BINARY)
|
||||
# execute_process(
|
||||
# COMMAND "${CMAKE_COMMAND}" "-E" "remove_directory" "${CMAKE_INSTALL_PREFIX}/Frameworks"
|
||||
# COMMAND "${CMAKE_COMMAND}" "-E" "make_directory" "${CMAKE_INSTALL_PREFIX}/XCFrameworks"
|
||||
# )
|
||||
#endif()
|
||||
|
||||
################################
|
||||
##### MIX (TODO)
|
||||
################################
|
||||
message(STATUS "Mixing")
|
||||
# Get all files in output
|
||||
file(GLOB_RECURSE _BINARIES RELATIVE "${MAIN_INSTALL_DIR}-${_FIRST_ARCH}/" "${MAIN_INSTALL_DIR}-${_FIRST_ARCH}/*")
|
||||
|
||||
if(NOT ENABLE_FAT_BINARY)
|
||||
# Remove all .framework inputs from the result
|
||||
list(FILTER _BINARIES EXCLUDE REGEX ".*\\.framework.*")
|
||||
endif()
|
||||
|
||||
foreach(_FILE IN LISTS ${_BINARIES})
|
||||
get_filename_component(ABSOLUTE_FILE "${MAIN_INSTALL_DIR}-${_FIRST_ARCH}/${_FILE}" ABSOLUTE)
|
||||
if(NOT IS_SYMLINK ${ABSOLUTE_FILE})
|
||||
# Check if lipo can detect an architecture
|
||||
execute_process(COMMAND lipo -archs "${MAIN_INSTALL_DIR}-${_FIRST_ARCH}/${_FILE}"
|
||||
OUTPUT_VARIABLE FILE_ARCHITECTURE
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
WORKING_DIRECTORY "${LINPHONEAPP_BUILD_DIR}"
|
||||
ERROR_QUIET
|
||||
)
|
||||
if(NOT "${FILE_ARCHITECTURE}" STREQUAL "")
|
||||
# There is at least one architecture : Use this candidate to mix with another architecture
|
||||
set(_ALL_ARCH_FILES)
|
||||
foreach(_ARCH IN LISTS ${_ARCHS})
|
||||
list(APPEND _ALL_ARCH_FILES "${MAIN_INSTALL_DIR}-${_ARCH}/${_FILE}")
|
||||
endforeach()
|
||||
string(REPLACE ";" " " _ARCH_STRING "${_ARCHS}")
|
||||
message(STATUS "Mixing ${_FILE} for archs [${_ARCH_STRING}]")
|
||||
execute_process(
|
||||
COMMAND "lipo" "-create" "-output" "${MAIN_INSTALL_DIR}/${_FILE}" ${_ALL_ARCH_FILES}
|
||||
WORKING_DIRECTORY "${LINPHONEAPP_BUILD_DIR}"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
#[[
|
||||
if(NOT ENABLE_FAT_BINARY)
|
||||
# Generate XCFrameworks
|
||||
file(GLOB _FRAMEWORKS "${LINPHONEAPP_BUILD_DIR}/${MAIN_INSTALL_DIR}-${_FIRST_ARCH}/Frameworks/*.framework")
|
||||
foreach(_FRAMEWORK IN LISTS _FRAMEWORKS)
|
||||
get_filename_component(_FRAMEWORK_NAME "${_FRAMEWORK}" NAME_WE)
|
||||
set(_ALL_ARCH_FRAMEWORKS)
|
||||
foreach(_ARCH IN LISTS _MACOS_ARCHS)
|
||||
list(APPEND _ALL_ARCH_FRAMEWORKS "-framework")
|
||||
list(APPEND _ALL_ARCH_FRAMEWORKS "${LINPHONEAPP_BUILD_DIR}/${LINPHONEAPP_NAME}/${LINPHONEAPP_PLATFORM}-${_ARCH}/Frameworks/${_FRAMEWORK_NAME}.framework")
|
||||
endforeach()
|
||||
string(REPLACE ";" " " _ARCH_STRING "${_MACOS_ARCHS}")
|
||||
message(STATUS "Creating XCFramework for ${_FRAMEWORK_NAME} for archs [${_ARCH_STRING}]")
|
||||
execute_process(
|
||||
COMMAND "xcodebuild" "-create-xcframework" "-output" "${CMAKE_INSTALL_PREFIX}/XCFrameworks/${_FRAMEWORK_NAME}.xcframework" ${_ALL_ARCH_FRAMEWORKS}
|
||||
WORKING_DIRECTORY "${LINPHONEAPP_BUILD_DIR}"
|
||||
)
|
||||
endforeach()
|
||||
endif()
|
||||
#]]
|
||||
86
cmake/TasksMacos.cmake
Normal file
86
cmake/TasksMacos.cmake
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
############################################################################
|
||||
# TasksMacos.cmake
|
||||
# Copyright (C) 2010-2023 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.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
set(LINPHONEAPP_MACOS_ARCHS "x86_64" CACHE STRING "MacOS architectures to build: comma-separated list of values in [arm64, x86_64]")
|
||||
option(ENABLE_FAT_BINARY "Enable fat binary generation using lipo." ON)
|
||||
|
||||
set(_MACOS_ARCHS ${LINPHONEAPP_MACOS_ARCHS})
|
||||
#linphone_sdk_convert_comma_separated_list_to_cmake_list("${LINPHONESDK_MACOS_ARCHS}" _MACOS_ARCHS)
|
||||
|
||||
set(LINPHONEAPP_NAME "Linphone")
|
||||
set(LINPHONEAPP_PLATFORM "macos")
|
||||
set(SUB_TARGET app_macos)
|
||||
string(TOLOWER "${LINPHONEAPP_PLATFORM}" LINPHONEAPP_PLATFORM_LOWER)
|
||||
set(_MACOS_INSTALL_RELATIVE_DIR "${LINPHONEAPP_NAME}/${LINPHONEAPP_PLATFORM_LOWER}") # Linphone/macos
|
||||
set(_MACOS_INSTALL_DIR "${APPLICATION_OUTPUT_DIR}/${_MACOS_INSTALL_RELATIVE_DIR}") # build/OUTPUT/Linphone/macos
|
||||
# Use APPLICATION_OUTPUT_DIR. CMAKE_INSTALL_PREFIX can be in Linphone.app/Contents
|
||||
|
||||
############################################################################
|
||||
# Build each selected architecture
|
||||
############################################################################
|
||||
|
||||
#linphone_sdk_get_inherited_cmake_args(_CMAKE_CONFIGURE_ARGS _CMAKE_BUILD_ARGS)
|
||||
#linphone_sdk_get_enable_cmake_args(_MACOS_CMAKE_ARGS)
|
||||
|
||||
set(_MACOS_TARGETS)
|
||||
foreach(_MACOS_ARCH IN LISTS _MACOS_ARCHS)
|
||||
set(_TARGET_NAME ${SUB_TARGET}-${_MACOS_ARCH}) # app_macos-x86_64
|
||||
set(_MACOS_ARCH_BINARY_DIR "${PROJECT_BINARY_DIR}/${_TARGET_NAME}") # build/app_macos-x86_64
|
||||
set(_MACOS_ARCH_INSTALL_DIR "${_MACOS_INSTALL_DIR}-${_MACOS_ARCH}") # build/OUTPUT/Linphone/macos-x86_64
|
||||
|
||||
add_custom_target(${_TARGET_NAME} ALL
|
||||
COMMAND ${CMAKE_COMMAND} -B ${_MACOS_ARCH_BINARY_DIR} -DMONO_ARCH=${_MACOS_ARCH} ${USER_ARGS} ${OPTION_LIST} ${_MACOS_CMAKE_ARGS} -DLINPHONEAPP_INSTALL_PREFIX=${_MACOS_ARCH_INSTALL_DIR} -DCMAKE_TOOLCHAIN_FILE=${PROJECT_SOURCE_DIR}/cmake/toolchains/toolchain-mac-x86_64.cmake -DLINPHONEAPP_BUILD_TYPE="Normal"
|
||||
COMMAND ${CMAKE_COMMAND} --build ${_MACOS_ARCH_BINARY_DIR} --target install ${_CMAKE_BUILD_ARGS}
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
COMMENT "Building Linphone APP for MacOS ${_MACOS_ARCH}"
|
||||
USES_TERMINAL
|
||||
COMMAND_EXPAND_LISTS
|
||||
)
|
||||
list(APPEND _MACOS_TARGETS ${_TARGET_NAME})
|
||||
endforeach()
|
||||
|
||||
|
||||
############################################################################
|
||||
# Generate the aggregated apps
|
||||
############################################################################
|
||||
add_custom_target(gen-apps ALL
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
"-DLINPHONESDK_DIR=${PROJECT_SOURCE_DIR}/external/linphone-sdk"
|
||||
"-DLINPHONEAPP_BUILD_DIR=${CMAKE_BINARY_DIR}"
|
||||
"-DLINPHONEAPP_MACOS_ARCHS=${LINPHONEAPP_MACOS_ARCHS}"
|
||||
"-DLINPHONEAPP_NAME=${_MACOS_INSTALL_RELATIVE_DIR}"
|
||||
"-DLINPHONEAPP_PLATFORM=${LINPHONEAPP_PLATFORM_LOWER}"
|
||||
"-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
|
||||
"-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}"
|
||||
"-DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR}"
|
||||
"-DCMAKE_INSTALL_BINDIR=${CMAKE_INSTALL_BINDIR}"
|
||||
"-DCMAKE_INSTALL_DATAROOTDIR=${CMAKE_INSTALL_DATAROOTDIR}"
|
||||
"-DENABLE_FAT_BINARY=${ENABLE_FAT_BINARY}"
|
||||
"-P" "${PROJECT_SOURCE_DIR}/cmake/GenerateAppMacos.cmake"
|
||||
DEPENDS ${_MACOS_TARGETS}
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
||||
COMMENT "Aggregating applications of all architectures"
|
||||
USES_TERMINAL
|
||||
)
|
||||
|
||||
install(CODE "message(\"Dummy install target\")")
|
||||
|
||||
24
cmake/toolchains/toolchain-mac-arm64.cmake
Normal file
24
cmake/toolchains/toolchain-mac-arm64.cmake
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
################################################################################
|
||||
#
|
||||
# Copyright (c) 2021-2023 Belledonne Communications SARL.
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
################################################################################
|
||||
message(FATAL_ERROR A)
|
||||
set(CMAKE_SYSTEM_PROCESSOR "arm64")
|
||||
set(CMAKE_OSX_ARCHITECTURES "arm64")
|
||||
set(CLANG_TARGET "arm64-apple-macos")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/toolchain-mac-common.cmake")
|
||||
106
cmake/toolchains/toolchain-mac-common.cmake
Normal file
106
cmake/toolchains/toolchain-mac-common.cmake
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
############################################################################
|
||||
# Copyright (c) 2021-2023 Belledonne Communications SARL.
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
############################################################################
|
||||
|
||||
# Building for Mac is only available under APPLE systems
|
||||
if(NOT APPLE)
|
||||
message(FATAL_ERROR "You need to build using a Mac OS X system")
|
||||
endif()
|
||||
execute_process(COMMAND xcode-select -print-path
|
||||
RESULT_VARIABLE XCODE_SELECT_RESULT
|
||||
OUTPUT_VARIABLE XCODE_PATH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(NOT ${XCODE_SELECT_RESULT} EQUAL 0)
|
||||
message(FATAL_ERROR "xcode-select failed: ${XCODE_SELECT_RESULT}. You may need to install Xcode.")
|
||||
endif()
|
||||
|
||||
execute_process(COMMAND xcrun --sdk macosx --show-sdk-version
|
||||
RESULT_VARIABLE XCRUN_SHOW_SDK_VERSION_RESULT
|
||||
OUTPUT_VARIABLE MACOS_SDK_VERSION
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(NOT ${XCRUN_SHOW_SDK_VERSION_RESULT} EQUAL 0)
|
||||
message(FATAL_ERROR "xcrun failed: ${XCRUN_SHOW_SDK_VERSION_RESULT}. You may need to install Xcode.")
|
||||
endif()
|
||||
|
||||
execute_process(COMMAND xcrun --sdk macosx --show-sdk-platform-path
|
||||
RESULT_VARIABLE XCRUN_SHOW_SDK_PATH_RESULT
|
||||
OUTPUT_VARIABLE CMAKE_OSX_SYSROOT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(NOT ${XCRUN_SHOW_SDK_PATH_RESULT} EQUAL 0)
|
||||
message(FATAL_ERROR "xcrun failed: ${XCRUN_SHOW_SDK_PATH_RESULT}. You may need to install Xcode.")
|
||||
endif()
|
||||
set(CMAKE_OSX_SYSROOT "${CMAKE_OSX_SYSROOT}/Developer/SDKs/MacOSX.sdk")
|
||||
|
||||
execute_process(COMMAND xcrun --sdk macosx --find clang
|
||||
RESULT_VARIABLE XCRUN_FIND_CLANG_RESULT
|
||||
OUTPUT_VARIABLE CLANG_PATH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(NOT ${XCRUN_FIND_CLANG_RESULT} EQUAL 0)
|
||||
message(FATAL_ERROR "xcrun failed: ${XCRUN_FIND_CLANG_RESULT}. You may need to install Xcode.")
|
||||
endif()
|
||||
get_filename_component(TOOLCHAIN_PATH "${CLANG_PATH}" DIRECTORY)
|
||||
|
||||
message(STATUS "Using sysroot path: ${CMAKE_OSX_SYSROOT}")
|
||||
message(STATUS "Using sdk version: ${MACOS_SDK_VERSION}")
|
||||
set(SDK_BIN_PATH "${CMAKE_OSX_SYSROOT}/../../usr/bin")
|
||||
|
||||
set(TOOLCHAIN_CC "${TOOLCHAIN_PATH}/clang")
|
||||
set(TOOLCHAIN_CXX "${TOOLCHAIN_PATH}/clang++")
|
||||
set(TOOLCHAIN_OBJC "${TOOLCHAIN_PATH}/clang")
|
||||
set(TOOLCHAIN_LD "${TOOLCHAIN_PATH}/ld")
|
||||
set(TOOLCHAIN_AR "${TOOLCHAIN_PATH}/ar")
|
||||
set(TOOLCHAIN_RANLIB "${TOOLCHAIN_PATH}/ranlib")
|
||||
set(TOOLCHAIN_STRIP "${TOOLCHAIN_PATH}/strip")
|
||||
set(TOOLCHAIN_NM "${TOOLCHAIN_PATH}/nm")
|
||||
|
||||
execute_process(COMMAND xcodebuild -version OUTPUT_VARIABLE XCODE_VERSION_RAW OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
STRING(REGEX REPLACE "Xcode ([^\n]*).*" "\\1" XCODE_VERSION "${XCODE_VERSION_RAW}")
|
||||
|
||||
include(CMakeForceCompiler)
|
||||
|
||||
set(CMAKE_CROSSCOMPILING FALSE)
|
||||
|
||||
# Define name of the target system
|
||||
set(CMAKE_SYSTEM_NAME "Darwin")
|
||||
set(CMAKE_SYSTEM_VERSION ${MACOS_SDK_VERSION})
|
||||
|
||||
# The following variables are needed to build correctly with Xcode
|
||||
if(CMAKE_GENERATOR STREQUAL "Xcode")
|
||||
set(CMAKE_MACOSX_BUNDLE NO)#if YES, cmake try_compile will not be able to test executable.app and then API info will fail.
|
||||
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED NO)
|
||||
set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED NO)
|
||||
set(CMAKE_XCODE_ATTRIBUTE_BITCODE_GENERATION_MODE "bitcode")
|
||||
endif()
|
||||
|
||||
# Define the compiler
|
||||
set(CMAKE_C_COMPILER "${TOOLCHAIN_CC}")
|
||||
set(CMAKE_C_COMPILER_TARGET "${CLANG_TARGET}")
|
||||
set(CMAKE_CXX_COMPILER "${TOOLCHAIN_CXX}")
|
||||
set(CMAKE_CXX_COMPILER_TARGET "${CLANG_TARGET}")
|
||||
set(CMAKE_AR "${TOOLCHAIN_AR}" CACHE FILEPATH "ar")
|
||||
set(CMAKE_RANLIB "${TOOLCHAIN_RANLIB}" CACHE FILEPATH "ranlib")
|
||||
set(CMAKE_LINKER "${TOOLCHAIN_LD}" CACHE FILEPATH "linker")
|
||||
set(CMAKE_NM "${TOOLCHAIN_NM}" CACHE FILEPATH "nm")
|
||||
|
||||
set(CMAKE_FIND_ROOT_PATH ${CMAKE_OSX_SYSROOT} ${CMAKE_INSTALL_PREFIX})
|
||||
|
||||
#important: the GUI identifier is required so that executables can be launched on simulators
|
||||
set(MACOSX_BUNDLE_GUI_IDENTIFIER "org.linphone.\${PRODUCT_NAME:identifier}")
|
||||
24
cmake/toolchains/toolchain-mac-x86_64.cmake
Normal file
24
cmake/toolchains/toolchain-mac-x86_64.cmake
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
################################################################################
|
||||
#
|
||||
# Copyright (c) 2021-2023 Belledonne Communications SARL.
|
||||
#
|
||||
# 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/>.
|
||||
#
|
||||
################################################################################
|
||||
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||
set(CMAKE_OSX_ARCHITECTURES "x86_64")
|
||||
set(CLANG_TARGET "x86_64-apple-darwin")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/toolchain-mac-common.cmake")
|
||||
21
external/CMakeLists.txt
vendored
21
external/CMakeLists.txt
vendored
|
|
@ -1,23 +1,2 @@
|
|||
|
||||
|
||||
|
||||
if( APPLE )
|
||||
set(LINPHONESDK_BUILD_TYPE "Macos")
|
||||
set(ENABLE_FAT_BINARY "ON")
|
||||
if( NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "Minimum OS X deployment version")
|
||||
endif()
|
||||
if(CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "arm64")# TODO: add universal build
|
||||
set(LINPHONESDK_MACOS_ARCHS "x86_64" CACHE STRING "MacOS architectures to build for: comma-separated list of values in [x86_64]")
|
||||
else()
|
||||
set(LINPHONESDK_MACOS_ARCHS "x86_64" CACHE STRING "MacOS architectures to build for: comma-separated list of values in [x86_64]")
|
||||
endif()
|
||||
set(CMAKE_OSX_ARCHITECTURES ${LINPHONESDK_MACOS_ARCHS} CACHE STRING "")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||
elseif(WIN32)
|
||||
set(LINPHONESDK_BUILD_TYPE "Default")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
add_subdirectory(linphone-sdk/)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue