From f576fe9eca3e95d99e74656e6b582f6ea3b37e0d Mon Sep 17 00:00:00 2001 From: Aline Gondim Santos <aline.gondimsantos@savoirfairelinux.com> Date: Tue, 17 Jan 2023 11:36:48 -0300 Subject: [PATCH] windows: fix contrib build Change-Id: I3276506fbcf2a8092e2175daed806d90f0963f3f --- CMakeLists.txt | 154 +++++++++++++++++++++++++------------------------ 1 file changed, 78 insertions(+), 76 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e77822c3a..7aead20594 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,87 +14,89 @@ option(JAMI_VIDEO "Build with video support" ON) option(BUILD_CONTRIB "Build contrib to CONTRIB_PATH" ON) option(BUILD_EXTRA_TOOLS "Build extra tools" OFF) -################################################################################ -# Contrib -################################################################################ +if(NOT MSVC) + ################################################################################ + # Contrib + ################################################################################ -# Android target mapping for contrib -if (ANDROID_ABI STREQUAL "x86") - set(TARGET i686-linux-android) -elseif (ANDROID_ABI STREQUAL "x86_64") - set(TARGET x86_64-linux-android) -elseif (ANDROID_ABI STREQUAL "arm64-v8a") - set(TARGET aarch64-linux-android) -elseif (ANDROID_ABI STREQUAL "armeabi-v7a") - set(TARGET armv7a-linux-androideabi) -else() - set(TARGET ${CMAKE_LIBRARY_ARCHITECTURE}) - if (NOT TARGET) - execute_process(COMMAND gcc -dumpmachine COMMAND tr -d '\n' OUTPUT_VARIABLE TARGET) + # Android target mapping for contrib + if (ANDROID_ABI STREQUAL "x86") + set(TARGET i686-linux-android) + elseif (ANDROID_ABI STREQUAL "x86_64") + set(TARGET x86_64-linux-android) + elseif (ANDROID_ABI STREQUAL "arm64-v8a") + set(TARGET aarch64-linux-android) + elseif (ANDROID_ABI STREQUAL "armeabi-v7a") + set(TARGET armv7a-linux-androideabi) + else() + set(TARGET ${CMAKE_LIBRARY_ARCHITECTURE}) + if (NOT TARGET) + execute_process(COMMAND gcc -dumpmachine COMMAND tr -d '\n' OUTPUT_VARIABLE TARGET) + endif() endif() -endif() -set(CONTRIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/contrib/${TARGET}) + set(CONTRIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/contrib/${TARGET}) -if (BUILD_EXTRA_TOOLS) - set(ENV{PATH} "${CMAKE_CURRENT_SOURCE_DIR}/extras/tools/build/bin:$ENV{PATH}") - execute_process( - COMMAND ./bootstrap - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/extras/tools) - execute_process( - COMMAND make - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/extras/tools) - execute_process( - COMMAND make .pkg-config - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/extras/tools) - execute_process( - COMMAND make .gas - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/extras/tools) -endif() -if (JAMI_JNI) - # Generate swig binding - add_custom_command( - OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/jami_wrapper.cpp - COMMAND env PACKAGEDIR=${JAMI_JNI_PACKAGEDIR} "./make-swig.sh" - DEPENDS - ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/make-swig.sh - ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/jni_interface.i - ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/callmanager.i - ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/configurationmanager.i - ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/conversation.i - ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/managerimpl.i - ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/data_view.i - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni - ) -endif() -if (BUILD_CONTRIB) - set(CONTRIB_BUILD_PATH ${CMAKE_CURRENT_SOURCE_DIR}/contrib/native-${TARGET}) - file(MAKE_DIRECTORY ${CONTRIB_BUILD_PATH}) - file(MAKE_DIRECTORY ${CONTRIB_PATH}) - - if (ANDROID) - # See https://developer.android.com/ndk/guides/other_build_systems - set(ENV{ANDROID_NDK} ${ANDROID_NDK}) - set(ENV{ANDROID_ABI} ${ANDROID_ABI}) - set(ENV{ANDROID_API} ${ANDROID_PLATFORM}) - set(ENV{TOOLCHAIN} ${ANDROID_TOOLCHAIN_ROOT}) - set(ENV{TARGET} ${TARGET}) - set(ENV{API} ${ANDROID_PLATFORM_LEVEL}) - set(ENV{CC} $ENV{TOOLCHAIN}/bin/${TARGET}$ENV{API}-clang) - set(ENV{CXX} $ENV{TOOLCHAIN}/bin/${TARGET}$ENV{API}-clang++) - set(ENV{AS} "$ENV{CC} -c") - set(ENV{AR} ${CMAKE_AR}) - set(ENV{RANLIB} ${CMAKE_RANLIB}) - set(ENV{STRIP} ${CMAKE_STRIP}) - set(ENV{LD} $ENV{TOOLCHAIN}/bin/ld) + if (BUILD_EXTRA_TOOLS) + set(ENV{PATH} "${CMAKE_CURRENT_SOURCE_DIR}/extras/tools/build/bin:$ENV{PATH}") + execute_process( + COMMAND ./bootstrap + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/extras/tools) + execute_process( + COMMAND make + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/extras/tools) + execute_process( + COMMAND make .pkg-config + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/extras/tools) + execute_process( + COMMAND make .gas + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/extras/tools) + endif() + if (JAMI_JNI) + # Generate swig binding + add_custom_command( + OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/jami_wrapper.cpp + COMMAND env PACKAGEDIR=${JAMI_JNI_PACKAGEDIR} "./make-swig.sh" + DEPENDS + ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/make-swig.sh + ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/jni_interface.i + ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/callmanager.i + ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/configurationmanager.i + ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/conversation.i + ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/managerimpl.i + ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni/data_view.i + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin/jni + ) endif() + if (BUILD_CONTRIB) + set(CONTRIB_BUILD_PATH ${CMAKE_CURRENT_SOURCE_DIR}/contrib/native-${TARGET}) + file(MAKE_DIRECTORY ${CONTRIB_BUILD_PATH}) + file(MAKE_DIRECTORY ${CONTRIB_PATH}) + + if (ANDROID) + # See https://developer.android.com/ndk/guides/other_build_systems + set(ENV{ANDROID_NDK} ${ANDROID_NDK}) + set(ENV{ANDROID_ABI} ${ANDROID_ABI}) + set(ENV{ANDROID_API} ${ANDROID_PLATFORM}) + set(ENV{TOOLCHAIN} ${ANDROID_TOOLCHAIN_ROOT}) + set(ENV{TARGET} ${TARGET}) + set(ENV{API} ${ANDROID_PLATFORM_LEVEL}) + set(ENV{CC} $ENV{TOOLCHAIN}/bin/${TARGET}$ENV{API}-clang) + set(ENV{CXX} $ENV{TOOLCHAIN}/bin/${TARGET}$ENV{API}-clang++) + set(ENV{AS} "$ENV{CC} -c") + set(ENV{AR} ${CMAKE_AR}) + set(ENV{RANLIB} ${CMAKE_RANLIB}) + set(ENV{STRIP} ${CMAKE_STRIP}) + set(ENV{LD} $ENV{TOOLCHAIN}/bin/ld) + endif() - execute_process( - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/contrib/bootstrap --host=${TARGET} - WORKING_DIRECTORY ${CONTRIB_BUILD_PATH}) - execute_process(COMMAND make list - WORKING_DIRECTORY ${CONTRIB_BUILD_PATH}) - execute_process(COMMAND make - WORKING_DIRECTORY ${CONTRIB_BUILD_PATH}) + execute_process( + COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/contrib/bootstrap --host=${TARGET} + WORKING_DIRECTORY ${CONTRIB_BUILD_PATH}) + execute_process(COMMAND make list + WORKING_DIRECTORY ${CONTRIB_BUILD_PATH}) + execute_process(COMMAND make + WORKING_DIRECTORY ${CONTRIB_BUILD_PATH}) + endif() endif() ################################################################################ -- GitLab