Hello community,
here is the log from the commit of package extra-cmake-modules for
openSUSE:Factory checked in at 2018-04-19 15:13:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/extra-cmake-modules (Old)
and /work/SRC/openSUSE:Factory/.extra-cmake-modules.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "extra-cmake-modules"
Thu Apr 19 15:13:57 2018 rev:52 rq:596844 version:5.45.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/extra-cmake-modules/extra-cmake-modules.changes
2018-03-20 21:44:40.063582758 +0100
+++
/work/SRC/openSUSE:Factory/.extra-cmake-modules.new/extra-cmake-modules.changes
2018-04-19 15:15:30.576884506 +0200
@@ -1,0 +2,16 @@
+Sat Apr 14 13:19:02 CEST 2018 - [email protected]
+
+- Update to 5.45.0
+ * New feature release
+ * For more details please see:
+ * https://www.kde.org/announcements/kde-frameworks-5.45.0.php
+- Changes since 5.44.0:
+ * Make use of upstream CMake infrastructure to detect the compiler toolchain
+ * API dox: fix some "code-block" lines to have empty lines before/after
+ * Add ECMSetupQtPluginMacroNames
+ * Provide androiddeployqt with all prefix paths
+ * Include the "stdcpp-path" in the json file
+ * Resolve symlinks in QML import paths
+ * Provide QML import paths to androiddeployqt
+
+-------------------------------------------------------------------
Old:
----
extra-cmake-modules-5.44.0.tar.xz
New:
----
extra-cmake-modules-5.45.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ extra-cmake-modules.spec ++++++
--- /var/tmp/diff_new_pack.cYHQSL/_old 2018-04-19 15:15:31.220858955 +0200
+++ /var/tmp/diff_new_pack.cYHQSL/_new 2018-04-19 15:15:31.224858796 +0200
@@ -16,7 +16,7 @@
#
-%define _tar_path 5.44
+%define _tar_path 5.45
# Full KF5 version (e.g. 5.33.0)
%{!?_kf5_version: %global _kf5_version %{version}}
# Last major and minor KF5 version (e.g. 5.33)
@@ -27,7 +27,7 @@
%bcond_with doc
%endif
Name: extra-cmake-modules
-Version: 5.44.0
+Version: 5.45.0
Release: 0
Summary: CMake modules
License: BSD-3-Clause
++++++ extra-cmake-modules-5.44.0.tar.xz -> extra-cmake-modules-5.45.0.tar.xz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/extra-cmake-modules-5.44.0/CMakeLists.txt
new/extra-cmake-modules-5.45.0/CMakeLists.txt
--- old/extra-cmake-modules-5.44.0/CMakeLists.txt 2018-03-03
10:48:12.000000000 +0100
+++ new/extra-cmake-modules-5.45.0/CMakeLists.txt 2018-04-04
18:46:25.000000000 +0200
@@ -32,7 +32,7 @@
# Preliminary setup
#
-set(VERSION "5.44.0") # handled by release scripts
+set(VERSION "5.45.0") # handled by release scripts
if (POLICY CMP0048)
cmake_policy(SET CMP0048 NEW)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/extra-cmake-modules-5.44.0/docs/module/ECMSetupQtPluginMacroNames.rst
new/extra-cmake-modules-5.45.0/docs/module/ECMSetupQtPluginMacroNames.rst
--- old/extra-cmake-modules-5.44.0/docs/module/ECMSetupQtPluginMacroNames.rst
1970-01-01 01:00:00.000000000 +0100
+++ new/extra-cmake-modules-5.45.0/docs/module/ECMSetupQtPluginMacroNames.rst
2018-04-04 18:46:25.000000000 +0200
@@ -0,0 +1 @@
+.. ecm-module:: ../../modules/ECMSetupQtPluginMacroNames.cmake
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/extra-cmake-modules-5.44.0/modules/ECMSetupQtPluginMacroNames.cmake
new/extra-cmake-modules-5.45.0/modules/ECMSetupQtPluginMacroNames.cmake
--- old/extra-cmake-modules-5.44.0/modules/ECMSetupQtPluginMacroNames.cmake
1970-01-01 01:00:00.000000000 +0100
+++ new/extra-cmake-modules-5.45.0/modules/ECMSetupQtPluginMacroNames.cmake
2018-04-04 18:46:25.000000000 +0200
@@ -0,0 +1,237 @@
+#.rst:
+# ECMSetupQtPluginMacroNames
+# ---------------
+#
+# Instruct CMake's automoc about C++ preprocessor macros used to define
Qt-style plugins.
+#
+# ::
+#
+# ecm_setup_qtplugin_macro_names(
+# [JSON_NONE <macro_name> [<macro_name> [...]]]
+# [JSON_ARG1 <macro_name> [<macro_name> [...]]]
+# [JSON_ARG2 <macro_name> [<macro_name> [...]]]
+# [JSON_ARG3 <macro_name> [<macro_name> [...]]]
+# [CONFIG_CODE_VARIABLE <variable_name>] )
+#
+# CMake's automoc needs some support when parsing C++ source files to detect
whether moc
+# should be run on those files and if there are also dependencies on other
files, like those
+# with Qt plugin metadata in JSON format. Because automoc just greps overs the
raw plain text
+# of the sources without any C++ preprocessor-like processing.
+# CMake in newer versions provides the variables
``CMAKE_AUTOMOC_DEPEND_FILTERS`` (CMake >= 3.9.0)
+# and ``CMAKE_AUTOMOC_MACRO_NAMES`` (CMake >= 3.10) to allow the developer to
assist automoc.
+#
+# This macro cares for the explicit setup needed for those variables for
common cases of
+# C++ preprocessor macros used for Qt-style plugins.
+#
+# JSON_NONE lists the names of C++ preprocessor macros for Qt-style plugins
which do not refer to
+# external files with the plugin metadata.
+#
+# JSON_ARG1 lists the names of C++ preprocessor macros for Qt-style plugins
where the first argument
+# to the macro is the name of the external file with the plugin metadata.
+#
+# JSON_ARG2 is the same as JSON_ARG1 but with the file name being the second
argument.
+#
+# JSON_ARG3 is the same as JSON_ARG1 but with the file name being the third
argument.
+#
+# CONFIG_CODE_VARIABLE specifies the name of the variable which will get set as
+# value some generated CMake code for instructing automoc for the given macro
names,
+# as useful in an installed CMake config file. The variable can then be used
as usual in
+# the template file for such a CMake config file, by ``@<variable_name>@``.
+#
+#
+# Example usage:
+#
+# Given some plugin-oriented Qt-based software which defines a custom C++
preprocessor
+# macro ``EXPORT_MYPLUGIN`` for declaring the central plugin object:
+#
+# .. code-block:: c++
+#
+# #define EXPORT_MYPLUGIN_WITH_JSON(classname, jsonFile) \
+# class classname : public QObject \
+# { \
+# Q_OBJECT \
+# Q_PLUGIN_METADATA(IID "myplugin" FILE jsonFile) \
+# explicit classname() {} \
+# };
+#
+# In the CMake buildsystem of the library one calls
+#
+# .. code-block:: cmake
+#
+# ecm_setup_qtplugin_macro_names(
+# JSON_ARG2
+# EXPORT_MYPLUGIN_WITH_JSON
+# )
+#
+# to instruct automoc about the usage of that macro in the sources of the
+# library itself.
+#
+# Given the software installs a library including the header with the macro
+# definition and a CMake config file, so 3rd-party can create additional
+# plugins by linking against the library, one passes additionally the name of
+# a variable which shall be set as value the CMake code needed to instruct
+# automoc about the usage of that macro.
+#
+# .. code-block:: cmake
+#
+# ecm_setup_qtplugin_macro_names(
+# JSON_ARG2
+# EXPORT_MYPLUGIN_WITH_JSON
+# CONFIG_CODE_VARIABLE
+# PACKAGE_SETUP_AUTOMOC_VARIABLES
+# )
+#
+# This variable then is used in the template file (e.g.
+# ``MyProjectConfig.cmake.in``) for the libary's installed CMake config file
+# and that way will ensure that in the 3rd-party plugin's buildsystem
+# automoc is instructed as well as needed:
+#
+# .. code-block:: cmake
+#
+# @PACKAGE_SETUP_AUTOMOC_VARIABLES@
+#
+# Since 5.45.0.
+
+#=============================================================================
+# Copyright 2018 Friedrich W. H. Kossebau <[email protected]>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+include(CMakePackageConfigHelpers)
+
+macro(ecm_setup_qtplugin_macro_names)
+ set(options )
+ set(oneValueArgs CONFIG_CODE_VARIABLE)
+ set(multiValueArgs JSON_NONE JSON_ARG1 JSON_ARG2 JSON_ARG3)
+
+ cmake_parse_arguments(ESQMN "${options}" "${oneValueArgs}"
"${multiValueArgs}" ${ARGN})
+
+ if(ESQMN_UNPARSED_ARGUMENTS)
+ message(FATAL_ERROR "Unknown keywords given to
ECM_SETUP_QTPLUGIN_MACRO_NAMES(): \"${ESQMN_UNPARSED_ARGUMENTS}\"")
+ endif()
+
+ # CMAKE_AUTOMOC_MACRO_NAMES
+ if(NOT CMAKE_VERSION VERSION_LESS "3.10.0")
+ # CMake 3.9+ warns about automoc on files without Q_OBJECT, and
doesn't know about other macros.
+ # 3.10+ lets us provide more macro names that require automoc.
+ list(APPEND CMAKE_AUTOMOC_MACRO_NAMES
+ ${ESQMN_JSON_NONE}
+ ${ESQMN_JSON_ARG1}
+ ${ESQMN_JSON_ARG2}
+ ${ESQMN_JSON_ARG3}
+ )
+ endif()
+
+ # CMAKE_AUTOMOC_DEPEND_FILTERS
+ if(NOT CMAKE_VERSION VERSION_LESS "3.9.0")
+ # CMake's automoc needs help to find names of plugin metadata files in
case Q_PLUGIN_METADATA
+ # is indirectly used via other C++ preprocessor macros
+ # 3.9+ lets us provide some filter rule pairs (keyword, regexp) to
match the names of such files
+ # in the plain text of the sources. See AUTOMOC_DEPEND_FILTERS docs
for details.
+ foreach(macro_name ${ESQMN_JSON_ARG1})
+ list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
+ "${macro_name}"
+ "[\n^][ \t]*${macro_name}[ \t\n]*\\([ \t\n]*\"([^\"]+)\""
+ )
+ endforeach()
+ foreach(macro_name ${ESQMN_JSON_ARG2})
+ list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
+ "${macro_name}"
+ "[\n^][ \t]*${macro_name}[ \t\n]*\\([^,]*,[ \t\n]*\"([^\"]+)\""
+ )
+ endforeach()
+ foreach(macro_name ${ESQMN_JSON_ARG3})
+ list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
+ "${macro_name}"
+ "[\n^][ \t]*${macro_name}[ \t\n]*\\([^,]*,[^,]*,[
\t\n]*\"([^\"]+)\""
+ )
+ endforeach()
+ endif()
+
+ if (ESQMN_CONFIG_CODE_VARIABLE)
+ set(_content
+"####################################################################################
+# CMAKE_AUTOMOC
+")
+ set(_all_macro_names
+ ${ESQMN_JSON_NONE}
+ ${ESQMN_JSON_ARG1}
+ ${ESQMN_JSON_ARG2}
+ ${ESQMN_JSON_ARG3}
+ )
+ string(APPEND _content "
+if(NOT CMAKE_VERSION VERSION_LESS \"3.10.0\")
+ # CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't
know about other macros.
+ # 3.10+ lets us provide more macro names that require automoc.
+ list(APPEND CMAKE_AUTOMOC_MACRO_NAMES ${_all_macro_names})
+endif()
+")
+
+ if(ESQMN_JSON_ARG1 OR ESQMN_JSON_ARG2 OR ESQMN_JSON_ARG3)
+ string(APPEND _content "
+if(NOT CMAKE_VERSION VERSION_LESS \"3.9.0\")
+ # CMake's automoc needs help to find names of plugin metadata files in
case Q_PLUGIN_METADATA
+ # is indirectly used via other C++ preprocessor macros
+ # 3.9+ lets us provide some filter rule pairs (keyword, regexp) to match
the names of such files
+ # in the plain text of the sources. See AUTOMOC_DEPEND_FILTERS docs for
details.
+")
+ if(ESQMN_JSON_ARG1)
+ string(APPEND _content
+" foreach(macro_name ${ESQMN_JSON_ARG1})
+ list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
+ \"\${macro_name}\"
+ \"[\\n^][ \\t]*\${macro_name}[ \\t\\n]*\\\\([
\\t\\n]*\\\"([^\\\"]+)\\\"\"
+ )
+ endforeach()
+")
+ endif()
+ if(ESQMN_JSON_ARG2)
+ string(APPEND _content
+" foreach(macro_name ${ESQMN_JSON_ARG2})
+ list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
+ \"\${macro_name}\"
+ \"[\\n^][ \\t]*\${macro_name}[ \\t\\n]*\\\\([^,]*,[
\\t\\n]*\\\"([^\\\"]+)\\\"\"
+ )
+ endforeach()
+")
+ endif()
+ if(ESQMN_JSON_ARG3)
+ string(APPEND _content
+" foreach(macro_name ${ESQMN_JSON_ARG3})
+ list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
+ \"\${macro_name}\"
+ \"[\\n^][ \\t]*\${macro_name}[ \\t\\n]*\\\\([^,]*,[^,]*,[
\\t\\n]*\\\"([^\\\"]+)\\\"\"
+ )
+ endforeach()
+")
+ endif()
+ string(APPEND _content "endif()")
+ endif()
+ string(APPEND _content "
+####################################################################################"
+ )
+
+ set(${ESQMN_CONFIG_CODE_VARIABLE} ${_content})
+ endif()
+endmacro()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/extra-cmake-modules-5.44.0/toolchain/Android.cmake
new/extra-cmake-modules-5.45.0/toolchain/Android.cmake
--- old/extra-cmake-modules-5.44.0/toolchain/Android.cmake 2018-03-03
10:48:12.000000000 +0100
+++ new/extra-cmake-modules-5.45.0/toolchain/Android.cmake 2018-04-04
18:46:25.000000000 +0200
@@ -133,7 +133,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-cmake_minimum_required(VERSION "3.1")
+cmake_minimum_required(VERSION "3.7")
#input
set(ANDROID_NDK "$ENV{ANDROID_NDK}" CACHE path "Android NDK path")
@@ -146,21 +146,18 @@
set(ANDROID_API_LEVEL "14" CACHE string "Android API Level")
set(ANDROID_SDK_BUILD_TOOLS_REVISION "21.1.1" CACHE string "Android API Level")
-set(_HOST "${CMAKE_HOST_SYSTEM_NAME}-${CMAKE_HOST_SYSTEM_PROCESSOR}")
-string(TOLOWER "${_HOST}" _HOST)
-get_filename_component(_CMAKE_ANDROID_DIR "${CMAKE_TOOLCHAIN_FILE}" PATH)
-
-set(CMAKE_SYSROOT
-
"${ANDROID_NDK}/platforms/android-${ANDROID_API_LEVEL}/arch-${ANDROID_ARCHITECTURE}")
-if(NOT EXISTS ${CMAKE_SYSROOT})
- message(FATAL_ERROR "Couldn't find the Android NDK Root in
${CMAKE_SYSROOT}")
+set(CMAKE_ANDROID_NDK ${ANDROID_NDK})
+set(CMAKE_SYSTEM_VERSION ${ANDROID_API_LEVEL})
+set(CMAKE_ANDROID_ARCH ${ANDROID_ARCHITECTURE})
+set(CMAKE_ANDROID_ARCH_ABI ${ANDROID_ABI})
+set(CMAKE_SYSTEM_NAME Android)
+if (NOT CMAKE_ANDROID_STL_TYPE)
+ set(CMAKE_ANDROID_STL_TYPE gnustl_shared)
endif()
-#actual code
-SET(CMAKE_SYSTEM_NAME Android)
-SET(CMAKE_SYSTEM_VERSION 1)
-SET(ANDROID TRUE)
+include(${CMAKE_ROOT}/Modules/Platform/Android-GNU.cmake REQUIRED)
+include(${CMAKE_ROOT}/Modules/Platform/Android-Initialize.cmake REQUIRED)
if (NOT DEFINED ECM_ADDITIONAL_FIND_ROOT_PATH)
SET(ECM_ADDITIONAL_FIND_ROOT_PATH ${CMAKE_PREFIX_PATH})
@@ -171,55 +168,11 @@
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
-set(ANDROID_TOOLCHAIN_ROOT
"${ANDROID_NDK}/toolchains/${ANDROID_TOOLCHAIN}-${ANDROID_GCC_VERSION}/prebuilt/${_HOST}/bin")
-set(ANDROID_LIBS_ROOT
"${ANDROID_NDK}/sources/cxx-stl/gnu-libstdc++/${ANDROID_GCC_VERSION}")
-
-# includes
-include_directories(SYSTEM
- "${CMAKE_SYSROOT}/usr/include"
- "${ANDROID_LIBS_ROOT}/include/"
- "${ANDROID_LIBS_ROOT}/libs/${ANDROID_ABI}/include"
- "${ANDROID_NDK}/sysroot/usr/include"
- "${ANDROID_NDK}/sysroot/usr/include/${ANDROID_COMPILER_PREFIX}"
-)
-
-# libraries
-set(ANDROID_LIBRARIES_PATH
- "${CMAKE_SYSROOT}/usr/lib")
-set(CMAKE_SYSTEM_LIBRARY_PATH
- ${ANDROID_LIBRARIES_PATH}
- "${ANDROID_LIBS_ROOT}/libs/${ANDROID_ABI}/"
-)
-set(CMAKE_FIND_LIBRARY_SUFFIXES ".so")
-set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-
-# Settling hard on gnustl_shared as C++ helper runtime for now,
-# given this is most similar to what is on GNU/Linux, which is what
-# the average software targetted by this toolchain is built against otherwise.
-# If requested by devs, the used helper runtime could be made an option later.
-# Related info: https://developer.android.com/ndk/guides/cpp-support.html
-find_library(GNUSTL_SHARED gnustl_shared)
-if(NOT GNUSTL_SHARED)
- message(FATAL_ERROR "Selected Android platform does not provide
gnustl_shared: ${CMAKE_SYSTEM_LIBRARY_PATH}")
-endif()
-
-link_directories(${CMAKE_SYSTEM_LIBRARY_PATH})
-
-set(CMAKE_C_COMPILER
"${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_COMPILER_PREFIX}-gcc")
-set(CMAKE_CXX_COMPILER
"${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_COMPILER_PREFIX}-g++")
-
-set(CMAKE_EXE_LINKER_FLAGS "${GNUSTL_SHARED}
-Wl,-rpath-link,${ANDROID_LIBRARIES_PATH} -llog -lz -lm -ldl -lc -lgcc" CACHE
STRING "")
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}" CACHE STRING "")
-set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}" CACHE STRING "")
-
#we want executables to be shared libraries, hooks will invoke the exported
cmake function
set(CMAKE_CXX_LINK_EXECUTABLE
"<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS>
<CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o
<TARGET> <OBJECTS> <LINK_LIBRARIES>"
)
-# ANDROID is needed for Qt to define Q_OS_ANDROID, __ANDROID_API__ is expected
by the Android NDK
-add_definitions(-DANDROID -D__ANDROID_API__=${ANDROID_API_LEVEL})
-
set(ECM_DIR "${CMAKE_CURRENT_LIST_DIR}/../cmake" CACHE STRING "")
######### generation
@@ -229,6 +182,7 @@
# from CMakeDetermineSystem.cmake and from CMakeSystem.cmake generated within
the
# build directory.
if(DEFINED QTANDROID_EXPORTED_TARGET AND NOT TARGET ${CREATEAPK_TARGET_NAME})
+ get_filename_component(_CMAKE_ANDROID_DIR "${CMAKE_TOOLCHAIN_FILE}" PATH)
if(NOT DEFINED ANDROID_APK_DIR)
message(FATAL_ERROR "Define an apk dir to initialize from using
-DANDROID_APK_DIR=<path>. The specified directory must contain the
AndroidManifest.xml file.")
elseif(NOT EXISTS "${ANDROID_APK_DIR}/AndroidManifest.xml")
@@ -239,12 +193,40 @@
set(EXPORT_DIR
"${CMAKE_BINARY_DIR}/${QTANDROID_EXPORTED_TARGET}_build_apk/")
set(EXECUTABLE_DESTINATION_PATH
"${EXPORT_DIR}/libs/${ANDROID_ABI}/lib${QTANDROID_EXPORTED_TARGET}.so")
+ set(QML_IMPORT_PATHS "")
+ foreach(prefix ${ECM_ADDITIONAL_FIND_ROOT_PATH})
+ # qmlimportscanner chokes on symlinks, so we need to resolve those
first
+ get_filename_component(qml_path "${prefix}/lib/qml" REALPATH)
+ if(EXISTS ${qml_path})
+ if (QML_IMPORT_PATHS)
+ set(QML_IMPORT_PATHS "${QML_IMPORT_PATHS},${qml_path}")
+ else()
+ set(QML_IMPORT_PATHS "${qml_path}")
+ endif()
+ endif()
+ endforeach()
+ set(EXTRA_PREFIX_DIRS "")
+ foreach(prefix ${ECM_ADDITIONAL_FIND_ROOT_PATH})
+ if (EXTRA_PREFIX_DIRS)
+ set(EXTRA_PREFIX_DIRS "${EXTRA_PREFIX_DIRS}, \"${prefix}\"")
+ else()
+ set(EXTRA_PREFIX_DIRS "\"${prefix}\"")
+ endif()
+ endforeach()
+ string(TOLOWER "${CMAKE_HOST_SYSTEM_NAME}" _LOWER_CMAKE_HOST_SYSTEM_NAME)
configure_file("${_CMAKE_ANDROID_DIR}/deployment-file.json.in"
"${QTANDROID_EXPORTED_TARGET}-deployment.json.in")
if (CMAKE_GENERATOR STREQUAL "Unix Makefiles")
set(arguments "\\$(ARGS)")
endif()
+ function(havestl var access VALUE)
+ if (NOT VALUE STREQUAL "")
+ file(WRITE ${CMAKE_BINARY_DIR}/stl "${VALUE}")
+ endif()
+ endfunction()
+ variable_watch(CMAKE_CXX_STANDARD_LIBRARIES havestl)
+
add_custom_target(${CREATEAPK_TARGET_NAME}
COMMAND cmake -E echo "Generating
$<TARGET_NAME:${QTANDROID_EXPORTED_TARGET}> with
$<TARGET_FILE_DIR:Qt5::qmake>/androiddeployqt"
COMMAND cmake -E remove_directory "${EXPORT_DIR}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/extra-cmake-modules-5.44.0/toolchain/deployment-file.json.in
new/extra-cmake-modules-5.45.0/toolchain/deployment-file.json.in
--- old/extra-cmake-modules-5.44.0/toolchain/deployment-file.json.in
2018-03-03 10:48:12.000000000 +0100
+++ new/extra-cmake-modules-5.45.0/toolchain/deployment-file.json.in
2018-04-04 18:46:25.000000000 +0200
@@ -5,12 +5,15 @@
"toolchain-prefix": "@ANDROID_TOOLCHAIN@",
"tool-prefix": "@ANDROID_COMPILER_PREFIX@",
"toolchain-version": "@ANDROID_GCC_VERSION@",
- "ndk-host": "@_HOST@",
+ "ndk-host": "@_LOWER_CMAKE_HOST_SYSTEM_NAME@-@CMAKE_HOST_SYSTEM_PROCESSOR@",
"target-architecture": "@ANDROID_ABI@",
"application-binary": "@EXECUTABLE_DESTINATION_PATH@",
"qml-root-path": "@CMAKE_SOURCE_DIR@",
+ "qml-import-paths": "@QML_IMPORT_PATHS@",
##EXTRALIBS##
##EXTRAPLUGINS##
"android-package-source-directory": "@ANDROID_APK_DIR@",
- "sdkBuildToolsRevision": "@ANDROID_SDK_BUILD_TOOLS_REVISION@"
+ "stdcpp-path":##CMAKE_CXX_STANDARD_LIBRARIES##,
+ "sdkBuildToolsRevision": "@ANDROID_SDK_BUILD_TOOLS_REVISION@",
+ "extraPrefixDirs": [ @EXTRA_PREFIX_DIRS@ ]
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/extra-cmake-modules-5.44.0/toolchain/specifydependencies.cmake
new/extra-cmake-modules-5.45.0/toolchain/specifydependencies.cmake
--- old/extra-cmake-modules-5.44.0/toolchain/specifydependencies.cmake
2018-03-03 10:48:12.000000000 +0100
+++ new/extra-cmake-modules-5.45.0/toolchain/specifydependencies.cmake
2018-04-04 18:46:25.000000000 +0200
@@ -42,6 +42,9 @@
endif()
file(READ "${INPUT_FILE}" CONTENTS)
+file(READ "stl" stl_contents)
+
string(REPLACE "##EXTRALIBS##" "${extralibs}" NEWCONTENTS "${CONTENTS}")
string(REPLACE "##EXTRAPLUGINS##" "${extraplugins}" NEWCONTENTS
"${NEWCONTENTS}")
+string(REPLACE "##CMAKE_CXX_STANDARD_LIBRARIES##" "${stl_contents}"
NEWCONTENTS "${NEWCONTENTS}")
file(WRITE "${OUTPUT_FILE}" ${NEWCONTENTS})