mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-18 03:48:09 +00:00
113 lines
4.8 KiB
CMake
113 lines
4.8 KiB
CMake
############################################################################
|
|
# 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)
|
|
|
|
|
|
############################################################################
|
|
# Clean previously generated SDK
|
|
############################################################################
|
|
|
|
#add_custom_target(clean-sdk ALL
|
|
# COMMAND "${CMAKE_COMMAND}"
|
|
# "-DLINPHONESDK_DIR=${PROJECT_SOURCE_DIR}"
|
|
# "-DLINPHONESDK_BUILD_DIR=${PROJECT_BINARY_DIR}"
|
|
# "-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}"
|
|
# "-P" "${PROJECT_SOURCE_DIR}/cmake/macos/CleanSDK.cmake"
|
|
# WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
|
# COMMENT "Cleaning SDK"
|
|
# USES_TERMINAL
|
|
#)
|
|
|
|
|
|
############################################################################
|
|
# 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)
|
|
|
|
|
|
#-DLINPHONE_OUTPUT_DIR=${LINPHONE_OUTPUT_DIR}
|
|
|
|
|
|
set(_MACOS_TARGETS)
|
|
foreach(_MACOS_ARCH IN LISTS _MACOS_ARCHS)
|
|
set(_MACOS_ARCH_BINARY_DIR "${PROJECT_BINARY_DIR}/app_mac-${_MACOS_ARCH}")
|
|
set(_MACOS_ARCH_INSTALL_DIR "${PROJECT_BINARY_DIR}/OUTPUT/mac-${_MACOS_ARCH}")
|
|
add_custom_target(app_mac-${_MACOS_ARCH} ALL
|
|
COMMAND ${CMAKE_COMMAND} -B ${_MACOS_ARCH_BINARY_DIR} ${USER_ARGS} ${OPTION_LIST} -DCMAKE_INSTALL_PREFIX=${_MACOS_ARCH_INSTALL_DIR} -DLINPHONE_OUTPUT_DIR=${LINPHONE_OUTPUT_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}/linphone-app
|
|
DEPENDS sdk
|
|
COMMENT "Building Linphone APP for MacOS ${_MACOS_ARCH}"
|
|
USES_TERMINAL
|
|
COMMAND_EXPAND_LISTS
|
|
)
|
|
list(APPEND _MACOS_TARGETS mac-${_MACOS_ARCH})
|
|
endforeach()
|
|
|
|
|
|
############################################################################
|
|
# Generate the aggregated frameworks
|
|
############################################################################
|
|
|
|
#add_custom_target(gen-frameworks ALL
|
|
# COMMAND "${CMAKE_COMMAND}"
|
|
# "-DLINPHONESDK_DIR=${PROJECT_SOURCE_DIR}"
|
|
# "-DLINPHONESDK_BUILD_DIR=${PROJECT_BINARY_DIR}"
|
|
# "-DLINPHONESDK_MACOS_ARCHS=${LINPHONESDK_MACOS_ARCHS}"
|
|
# "-DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR}/linphone-sdk/mac"
|
|
# "-DENABLE_FAT_BINARY=${ENABLE_FAT_BINARY}"
|
|
# "-P" "${PROJECT_SOURCE_DIR}/cmake/macos/GenerateFrameworks.cmake"
|
|
# DEPENDS ${_MACOS_TARGETS}
|
|
# WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
|
# COMMENT "Aggregating frameworks of all architectures"
|
|
# USES_TERMINAL
|
|
#)
|
|
|
|
|
|
############################################################################
|
|
# Generate the SDK
|
|
############################################################################
|
|
|
|
#list(GET _MACOS_ARCHS 0 _FIRST_ARCH)
|
|
#add_custom_target(sdk ALL
|
|
# COMMAND "${CMAKE_COMMAND}"
|
|
# "-DLINPHONESDK_PLATFORM=${LINPHONESDK_PLATFORM}"
|
|
# "-DLINPHONESDK_DIR=${PROJECT_SOURCE_DIR}"
|
|
# "-DLINPHONESDK_BUILD_DIR=${PROJECT_BINARY_DIR}"
|
|
# "-DLINPHONESDK_VERSION=${LINPHONESDK_VERSION}"
|
|
# "-DLINPHONESDK_ENABLED_FEATURES_FILENAME=${CMAKE_BINARY_DIR}/enabled_features.txt"
|
|
# "-DLINPHONESDK_MACOS_ARCHS=${LINPHONESDK_MACOS_ARCHS}"
|
|
# "-DLINPHONESDK_MACOS_BASE_URL=${LINPHONESDK_MACOS_BASE_URL}"
|
|
# "-DENABLE_FAT_BINARY=${ENABLE_FAT_BINARY}"
|
|
# "-P" "${PROJECT_SOURCE_DIR}/cmake/macos/GenerateSDK.cmake"
|
|
# DEPENDS gen-frameworks
|
|
# WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
|
|
# COMMENT "Generating the SDK (zip file and podspec)"
|
|
# USES_TERMINAL
|
|
#)
|