From 3e7452af299fc53546502ed94c62179adea8a939 Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Wed, 25 Mar 2020 22:34:39 +0100 Subject: [PATCH] MAcOs fix : PREFIX_PATH order and add custom paths to it, fix minizip path for install_name_tool Revert moving tools folder for hooks --- CMakeLists.txt | 22 ++++++++++++------- linphone-desktop/CMakeLists.txt | 9 ++++---- .../tools => tools}/build_qt_rpm | 0 .../tools => tools}/check_qml_syntax | 0 .../tools => tools}/private/pre-commit | 0 {linphone-desktop/tools => tools}/test_qml | 0 .../tools => tools}/update_resources | 0 7 files changed, 19 insertions(+), 12 deletions(-) rename {linphone-desktop/tools => tools}/build_qt_rpm (100%) rename {linphone-desktop/tools => tools}/check_qml_syntax (100%) rename {linphone-desktop/tools => tools}/private/pre-commit (100%) rename {linphone-desktop/tools => tools}/test_qml (100%) rename {linphone-desktop/tools => tools}/update_resources (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index e2071843a..b79a0a55a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,8 +26,11 @@ 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 + #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() endif() endforeach() @@ -43,7 +46,8 @@ set(MINIZIP_BUILD_DIR "${CMAKE_BINARY_DIR}/minizip_BUILD") set(MINIZIP_OUTPUT_DIR "${CMAKE_BINARY_DIR}/minizip_OUTPUT") set(APPLICATION_OUTPUT_DIR "${CMAKE_BINARY_DIR}/OUTPUT") message("minizip=${MINIZIP_OUTPUT_DIR} sdk=${LINPHONE_OUTPUT_DIR}") -set(PREFIX_PATH "${LINPHONE_OUTPUT_DIR}|${MINIZIP_OUTPUT_DIR}|${APPLICATION_OUTPUT_DIR}") + +set(PREFIX_PATH "${LINPHONE_OUTPUT_DIR}|${MINIZIP_OUTPUT_DIR}|${APPLICATION_OUTPUT_DIR}${PREFIX_PATH}") # Avoid cmake warning if CMP0071 is not set. if (POLICY CMP0071) @@ -95,18 +99,19 @@ list(APPEND APP_OPTIONS "-DENABLE_FFMPEG=${ENABLE_FFMPEG}") 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}") include(ExternalProject) -set(PROJECT_BUILD_COMMAND "") +set(PROJECT_BUILD_COMMAND "--verbose") if(CMAKE_BUILD_PARALLEL_LEVEL) list(APPEND APP_OPTIONS "-DCMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL}") if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.12.0") #CMAKE_BUILD_PARALLEL_LEVEL will not always work for External projects list(APPEND PROJECT_BUILD_COMMAND "--parallel" "${CMAKE_BUILD_PARALLEL_LEVEL}") endif() endif() - +message("User Args : ${USER_ARGS}") ExternalProject_Add(sdk PREFIX "${CMAKE_BINARY_DIR}/sdk" SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-sdk" @@ -117,7 +122,7 @@ ExternalProject_Add(sdk PREFIX "${CMAKE_BINARY_DIR}/sdk" BUILD_COMMAND ${CMAKE_COMMAND} --build --config $ ${PROJECT_BUILD_COMMAND} INSTALL_COMMAND cmake -E echo "Skipping install step." LIST_SEPARATOR | # Use the alternate list separator - CMAKE_ARGS ${APP_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH= -DCMAKE_PREFIX_PATH=${PREFIX_PATH} ${USER_ARGS} + CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH= -DCMAKE_PREFIX_PATH=${PREFIX_PATH} #BUILD_ALWAYS NO #${DO_BUILD} ) ExternalProject_Add_Step(sdk force_build @@ -133,7 +138,7 @@ ExternalProject_Add(minizip PREFIX "${CMAKE_BINARY_DIR}/minizip" DEPENDS sdk BUILD_COMMAND ${CMAKE_COMMAND} --build --config $ ${PROJECT_BUILD_COMMAND} LIST_SEPARATOR | # Use the alternate list separator - CMAKE_ARGS ${APP_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH= -DCMAKE_PREFIX_PATH=${PREFIX_PATH} ${USER_ARGS} + CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH= -DCMAKE_PREFIX_PATH=${PREFIX_PATH} ) ExternalProject_Add(linphone-qt PREFIX "${CMAKE_BINARY_DIR}/linphoneqt" SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-desktop" @@ -141,7 +146,8 @@ ExternalProject_Add(linphone-qt PREFIX "${CMAKE_BINARY_DIR}/linphoneqt" DEPENDS minizip sdk BUILD_COMMAND ${CMAKE_COMMAND} --build --config $ ${PROJECT_BUILD_COMMAND} LIST_SEPARATOR | # Use the alternate list separator - CMAKE_ARGS ${APP_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH= -DCMAKE_PREFIX_PATH=${PREFIX_PATH} ${USER_ARGS} + CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH= -DCMAKE_PREFIX_PATH=${PREFIX_PATH} + # ${APP_OPTIONS} BUILD_ALWAYS ON ) ExternalProject_Add(linphone-qt-only PREFIX "${CMAKE_BINARY_DIR}/linphoneqt" @@ -149,6 +155,6 @@ ExternalProject_Add(linphone-qt-only PREFIX "${CMAKE_BINARY_DIR}/linphoneqt" INSTALL_DIR "${APPLICATION_OUTPUT_DIR}" BUILD_COMMAND ${CMAKE_COMMAND} --build --config $ ${PROJECT_BUILD_COMMAND} LIST_SEPARATOR | # Use the alternate list separator - CMAKE_ARGS ${APP_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH= -DCMAKE_PREFIX_PATH=${PREFIX_PATH} ${USER_ARGS} + CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH= -DCMAKE_PREFIX_PATH=${PREFIX_PATH} EXCLUDE_FROM_ALL ON ) diff --git a/linphone-desktop/CMakeLists.txt b/linphone-desktop/CMakeLists.txt index 069c2ec28..709b1f974 100644 --- a/linphone-desktop/CMakeLists.txt +++ b/linphone-desktop/CMakeLists.txt @@ -22,8 +22,8 @@ cmake_minimum_required(VERSION 3.1) project(linphoneqt VERSION 4.1.1) -message("CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}") -message("Options : ${ENABLE_PACKAGING}, ${ENABLE_UPDATE_CHECK}, ${ENABLE_UNIT_TESTS}, ${ENABLE_TESTS}, ${ENABLE_TESTS_COMPONENTS}, ${ENABLE_TOOLS}, ${ENABLE_STRICT}, ${ENABLE_FFMPEG}, ${ENABLE_OPUS}") +#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) @@ -72,7 +72,8 @@ 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") +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() @@ -503,7 +504,7 @@ source_group( # ------------------------------ 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") + execute_process(COMMAND install_name_tool -id "@executable_path/../Frameworks/libminizip.dylib" "${MINIZIP_PREFIX}/${CMAKE_INSTALL_LIBDIR}/libminizip.dylib") elseif(NOT WIN32) # target_link_libraries(${TARGET_NAME} "${MINIZIP_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/libminizip.so") endif() diff --git a/linphone-desktop/tools/build_qt_rpm b/tools/build_qt_rpm similarity index 100% rename from linphone-desktop/tools/build_qt_rpm rename to tools/build_qt_rpm diff --git a/linphone-desktop/tools/check_qml_syntax b/tools/check_qml_syntax similarity index 100% rename from linphone-desktop/tools/check_qml_syntax rename to tools/check_qml_syntax diff --git a/linphone-desktop/tools/private/pre-commit b/tools/private/pre-commit similarity index 100% rename from linphone-desktop/tools/private/pre-commit rename to tools/private/pre-commit diff --git a/linphone-desktop/tools/test_qml b/tools/test_qml similarity index 100% rename from linphone-desktop/tools/test_qml rename to tools/test_qml diff --git a/linphone-desktop/tools/update_resources b/tools/update_resources similarity index 100% rename from linphone-desktop/tools/update_resources rename to tools/update_resources