diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..33b1f4a
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,95 @@
+cmake_minimum_required(VERSION 2.8)
+
+if(CMAKE_VERSION VERSION_LESS "3.7.0")
+ set(CMAKE_INCLUDE_CURRENT_DIR ON)
+endif()
+
+set(MAYA_QT_NDEBUG)
+
+set(CMAKE_PREFIX_PATH $ENV{MAYA_LOCATION})
+set(Qt5_DIR cmake/Qt5)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+
+find_package(Qt5 COMPONENTS Widgets Network REQUIRED)
+
+# include the project setting file
+# NOTE: intended that devkit root is 'PATH/TO/MAYA/devkit'
+include($ENV{MAYA_LOCATION}/devkit/cmake/pluginEntry.cmake)
+
+# specify project name
+set(PROJECT_NAME rslm)
+
+set(LIBRARY_DIRS $ENV{MAYA_LOCATION}/lib)
+
+set(HEADERS
+ src/interfaces.h
+ src/singleton.h
+ src/utils.h
+ src/recorder.h
+ src/receiverworker.h
+ src/mapping.h
+ src/animations.h
+ src/constants.h
+ src/ui/button.h
+ src/ui/categoryheader.h
+ src/ui/commandapicontent.h
+ src/ui/infocontent.h
+ src/ui/receivercontent.h
+ src/ui/recordbutton.h
+ src/ui/rootwidget.h
+ src/ui/updatercontent.h
+ thirdparty/lz4/lz4.h
+ thirdparty/lz4/lz4hc.h
+ thirdparty/lz4/lz4frame.h
+ thirdparty/lz4/lz4frame_static.h
+ thirdparty/lz4/xxhash.h
+ src/jsonv2parser.h
+ src/jsonv3parser.h
+ src/framework.h
+)
+
+# set SOURCE_FILES
+set(SOURCE_FILES ${HEADERS}
+ src/framework.cpp
+ src/animations.cpp
+ src/main.cpp
+ src/mapping.cpp
+ src/receiverworker.cpp
+ src/recorder.cpp
+ src/utils.cpp
+ src/ui/button.cpp
+ src/ui/categoryheader.cpp
+ src/ui/commandapicontent.cpp
+ src/ui/infocontent.cpp
+ src/ui/receivercontent.cpp
+ src/ui/recordbutton.cpp
+ src/ui/rootwidget.cpp
+ src/ui/updatercontent.cpp
+ src/jsonv2parser.cpp
+ src/jsonv3parser.cpp
+ thirdparty/lz4/lz4.c
+ thirdparty/lz4/lz4hc.c
+ thirdparty/lz4/xxhash.c
+ thirdparty/lz4/lz4frame.c
+ resources.qrc
+)
+
+set(INCLUDE_DIRS
+ src
+ src/ui
+ thirdparty/lz4
+ $ENV{MAYA_LOCATION}/include/QtCore
+ $ENV{MAYA_LOCATION}/include/QtGui
+ $ENV{MAYA_LOCATION}/include/QtWidgets
+ $ENV{MAYA_LOCATION}/include/QtNetwork
+)
+# set linking libraries
+set(LIBRARIES OpenMaya OpenMayaUI OpenMayaAnim Foundation)
+
+build_plugin()
+
+
+
+target_link_libraries(rslm Qt5::Widgets Qt5::Network)
diff --git a/CMakeLists.txt.user b/CMakeLists.txt.user
new file mode 100644
index 0000000..59712c1
--- /dev/null
+++ b/CMakeLists.txt.user
@@ -0,0 +1,247 @@
+
+
+
+
+
+ EnvironmentId
+ {3a173038-2ce5-4dea-8eda-52e75c665fd7}
+
+
+ ProjectExplorer.Project.ActiveTarget
+ 0
+
+
+ ProjectExplorer.Project.EditorSettings
+
+ true
+ false
+ true
+
+ Cpp
+
+ CppGlobal
+
+
+
+ QmlJS
+
+ QmlJSGlobal
+
+
+ 2
+ UTF-8
+ false
+ 4
+ false
+ 80
+ true
+ true
+ 1
+ true
+ false
+ 0
+ true
+ true
+ 0
+ 8
+ true
+ 1
+ true
+ true
+ true
+ *.md, *.MD, Makefile
+ false
+ true
+
+
+
+ ProjectExplorer.Project.PluginSettings
+
+
+ true
+ true
+ true
+ true
+ true
+
+
+ 0
+ true
+
+ -fno-delayed-template-parsing
+
+ false
+ {63bde9bf-667f-4a79-b205-0859ae65f523}
+
+ true
+ Builtin.DefaultTidyAndClazy
+ 4
+
+
+
+ true
+
+
+
+
+ ProjectExplorer.Project.Target.0
+
+ Desktop
+ Maya 2020 kit
+ Maya 2020 kit
+ {cd1b8d53-d162-4f2f-966d-73b6ca58318d}
+ 0
+ 0
+ 0
+
+ -GNinja
+-DCMAKE_BUILD_TYPE:String=Release
+-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
+-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
+-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
+-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}
+ 2
+ D:\GIT\rokoko-studio-live-maya\release
+
+
+
+
+ all
+
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ Build
+ Build
+ ProjectExplorer.BuildSteps.Build
+
+
+
+
+
+ clean
+
+
+ true
+ CMakeProjectManager.MakeStep
+
+ 1
+ Clean
+ Clean
+ ProjectExplorer.BuildSteps.Clean
+
+ 2
+ false
+
+
+ Release
+ CMakeProjectManager.CMakeBuildConfiguration
+
+ 1
+
+
+ 0
+ Deploy
+ Deploy
+ ProjectExplorer.BuildSteps.Deploy
+
+ 1
+
+ false
+ ProjectExplorer.DefaultDeployConfiguration
+
+ 1
+
+
+ dwarf
+
+ cpu-cycles
+
+
+ 250
+
+ -e
+ cpu-cycles
+ --call-graph
+ dwarf,4096
+ -F
+ 250
+
+ -F
+ true
+ 4096
+ false
+ false
+ 1000
+
+ true
+
+ false
+ false
+ false
+ false
+ true
+ 0.01
+ 10
+ true
+ kcachegrind
+ 1
+ 25
+
+ 1
+ true
+ false
+ true
+ valgrind
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ 10
+ 11
+ 12
+ 13
+ 14
+
+
+ 2
+
+
+ ProjectExplorer.CustomExecutableRunConfiguration
+
+
+ false
+
+ false
+ true
+ false
+ false
+ false
+
+
+
+ 1
+
+
+
+ ProjectExplorer.Project.TargetCount
+ 1
+
+
+ ProjectExplorer.Project.Updater.FileVersion
+ 22
+
+
+ Version
+ 22
+
+
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..0a04128
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/README.md b/README.md
index d9a5ce4..54b59c7 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Rokoko Studio Live for Maya
+# Rokoko Studio Live Plugin for Maya
This plugin lets you stream animation data from Rokoko Studio into Maya.
@@ -36,7 +36,8 @@ Plugin's UI consists of 3 collapsible categories.
# Usage
First of all, make sure Rokoko Studio is running and live streaming **Custom** option is enabled.
-Select `JSON v2` as data format and `UDP` as protocol. Leave `Port` and `Forward IP` values by default.
+Select `JSON v2` or `JSON v3` as data format and `UDP` as protocol. Leave `Port` and `Forward IP` values by default.
+Alternatively you can just enable **Maya** option.
![enableStreaming](images/customStreaming.png)
Than go to Maya and hit `Start Receiver` button.
diff --git a/cmake/Qt5/Qt5Config.cmake b/cmake/Qt5/Qt5Config.cmake
new file mode 100644
index 0000000..68124f6
--- /dev/null
+++ b/cmake/Qt5/Qt5Config.cmake
@@ -0,0 +1,51 @@
+
+if (CMAKE_VERSION VERSION_LESS 3.1.0)
+ message(FATAL_ERROR "Qt5 requires at least CMake version 3.1.0")
+endif()
+
+if (NOT Qt5_FIND_COMPONENTS)
+ set(Qt5_NOT_FOUND_MESSAGE "The Qt5 package requires at least one component")
+ set(Qt5_FOUND False)
+ return()
+endif()
+
+set(_Qt5_FIND_PARTS_REQUIRED)
+if (Qt5_FIND_REQUIRED)
+ set(_Qt5_FIND_PARTS_REQUIRED REQUIRED)
+endif()
+set(_Qt5_FIND_PARTS_QUIET)
+if (Qt5_FIND_QUIETLY)
+ set(_Qt5_FIND_PARTS_QUIET QUIET)
+endif()
+
+get_filename_component(_qt5_install_prefix "${CMAKE_CURRENT_LIST_DIR}/.." ABSOLUTE)
+
+set(_Qt5_NOTFOUND_MESSAGE)
+
+include(${CMAKE_CURRENT_LIST_DIR}/Qt5ModuleLocation.cmake)
+
+foreach(module ${Qt5_FIND_COMPONENTS})
+ find_package(Qt5${module}
+ ${_Qt5_FIND_PARTS_QUIET}
+ ${_Qt5_FIND_PARTS_REQUIRED}
+ PATHS ${_qt5_module_paths} NO_DEFAULT_PATH
+ )
+ if (NOT Qt5${module}_FOUND)
+ string(CONFIGURE ${_qt5_module_location_template} _expected_module_location @ONLY)
+
+ if (Qt5_FIND_REQUIRED_${module})
+ set(_Qt5_NOTFOUND_MESSAGE "${_Qt5_NOTFOUND_MESSAGE}Failed to find Qt5 component \"${module}\" config file at \"${_expected_module_location}\"\n")
+ elseif(NOT Qt5_FIND_QUIETLY)
+ message(WARNING "Failed to find Qt5 component \"${module}\" config file at \"${_expected_module_location}\"")
+ endif()
+
+ unset(_expected_module_location)
+ endif()
+endforeach()
+
+if (_Qt5_NOTFOUND_MESSAGE)
+ set(Qt5_NOT_FOUND_MESSAGE "${_Qt5_NOTFOUND_MESSAGE}")
+ set(Qt5_FOUND False)
+endif()
+
+_qt5_Core_check_file_exists("${CMAKE_CURRENT_LIST_DIR}/Qt5ConfigVersion.cmake")
diff --git a/cmake/Qt5/Qt5ConfigVersion.cmake b/cmake/Qt5/Qt5ConfigVersion.cmake
new file mode 100644
index 0000000..66543cc
--- /dev/null
+++ b/cmake/Qt5/Qt5ConfigVersion.cmake
@@ -0,0 +1,11 @@
+
+set(PACKAGE_VERSION 5.12.5)
+
+if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+endif()
diff --git a/cmake/Qt5/Qt5ModuleLocation.cmake b/cmake/Qt5/Qt5ModuleLocation.cmake
new file mode 100644
index 0000000..ccbb939
--- /dev/null
+++ b/cmake/Qt5/Qt5ModuleLocation.cmake
@@ -0,0 +1,6 @@
+set(_qt5_root_dir ${_qt5_install_prefix})
+set(_qt5_module_paths ${_qt5_install_prefix})
+
+set(_qt5_at @)
+set(_qt5_module_location_template ${_qt5_install_prefix}/Qt5${_qt5_at}module${_qt5_at}/Qt5${_qt5_at}module${_qt5_at}Config.cmake)
+unset(_qt5_at)
diff --git a/cmake/Qt5Core/Qt5CTestMacros.cmake b/cmake/Qt5Core/Qt5CTestMacros.cmake
new file mode 100644
index 0000000..962d49d
--- /dev/null
+++ b/cmake/Qt5Core/Qt5CTestMacros.cmake
@@ -0,0 +1,243 @@
+#
+# W A R N I N G
+# -------------
+#
+# This file is not part of the Qt API. It exists purely as an
+# implementation detail. This file, and its contents may change from version to
+# version without notice, or even be removed.
+#
+# We mean it.
+
+message("CMAKE_VERSION: ${CMAKE_VERSION}")
+message("CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")
+message("CMAKE_MODULES_UNDER_TEST: ${CMAKE_MODULES_UNDER_TEST}")
+foreach(_mod ${CMAKE_MODULES_UNDER_TEST})
+ message("CMAKE_${_mod}_MODULE_MAJOR_VERSION: ${CMAKE_${_mod}_MODULE_MAJOR_VERSION}")
+ message("CMAKE_${_mod}_MODULE_MINOR_VERSION: ${CMAKE_${_mod}_MODULE_MINOR_VERSION}")
+ message("CMAKE_${_mod}_MODULE_PATCH_VERSION: ${CMAKE_${_mod}_MODULE_PATCH_VERSION}")
+endforeach()
+
+set(BUILD_OPTIONS_LIST)
+
+if (CMAKE_C_COMPILER)
+ list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}")
+endif()
+
+if (CMAKE_CXX_COMPILER)
+ list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
+endif()
+
+if (CMAKE_BUILD_TYPE)
+ list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
+endif()
+
+if (CMAKE_TOOLCHAIN_FILE)
+ list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}")
+endif()
+
+if (CMAKE_VERBOSE_MAKEFILE)
+ list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_VERBOSE_MAKEFILE=1")
+endif()
+
+if (NO_GUI)
+ list(APPEND BUILD_OPTIONS_LIST "-DNO_GUI=True")
+endif()
+if (NO_WIDGETS)
+ list(APPEND BUILD_OPTIONS_LIST "-DNO_WIDGETS=True")
+endif()
+if (NO_DBUS)
+ list(APPEND BUILD_OPTIONS_LIST "-DNO_DBUS=True")
+endif()
+
+# Qt requires C++11 features in header files, which means
+# the buildsystem needs to add a -std flag for certain compilers
+# CMake adds the flag automatically in most cases, but notably not
+# on Windows prior to CMake 3.3
+if (CMAKE_VERSION VERSION_LESS 3.3)
+ if (CMAKE_CXX_COMPILER_ID STREQUAL AppleClang
+ OR (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL Clang))
+ list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_CXX_FLAGS=-std=gnu++0x -stdlib=libc++")
+ elseif (CMAKE_CXX_COMPILER_ID STREQUAL GNU
+ OR CMAKE_CXX_COMPILER_ID STREQUAL Clang)
+ list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_CXX_FLAGS=-std=gnu++0x")
+ endif()
+endif()
+
+foreach(module ${CMAKE_MODULES_UNDER_TEST})
+ list(APPEND BUILD_OPTIONS_LIST
+ "-DCMAKE_${module}_MODULE_MAJOR_VERSION=${CMAKE_${module}_MODULE_MAJOR_VERSION}"
+ "-DCMAKE_${module}_MODULE_MINOR_VERSION=${CMAKE_${module}_MODULE_MINOR_VERSION}"
+ "-DCMAKE_${module}_MODULE_PATCH_VERSION=${CMAKE_${module}_MODULE_PATCH_VERSION}"
+ )
+endforeach()
+
+macro(expect_pass _dir)
+ cmake_parse_arguments(_ARGS "" "BINARY" "" ${ARGN})
+ string(REPLACE "(" "_" testname "${_dir}")
+ string(REPLACE ")" "_" testname "${testname}")
+ add_test(${testname} ${CMAKE_CTEST_COMMAND}
+ --build-and-test
+ "${CMAKE_CURRENT_SOURCE_DIR}/${_dir}"
+ "${CMAKE_CURRENT_BINARY_DIR}/${_dir}"
+ --build-config "${CMAKE_BUILD_TYPE}"
+ --build-generator ${CMAKE_GENERATOR}
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
+ --build-project ${_dir}
+ --build-options "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" ${BUILD_OPTIONS_LIST}
+ --test-command ${_ARGS_BINARY}
+ )
+endmacro()
+
+macro(expect_fail _dir)
+ string(REPLACE "(" "_" testname "${_dir}")
+ string(REPLACE ")" "_" testname "${testname}")
+ file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}")
+ file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/${_dir}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}")
+
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/${_dir}/FindPackageHints.cmake" "set(Qt5Tests_PREFIX_PATH \"${CMAKE_PREFIX_PATH}\")")
+
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/CMakeLists.txt"
+ "
+ cmake_minimum_required(VERSION 2.8)
+ project(${_dir})
+
+ try_compile(Result \${CMAKE_CURRENT_BINARY_DIR}/${_dir}
+ \${CMAKE_CURRENT_SOURCE_DIR}/${_dir}
+ ${_dir}
+ OUTPUT_VARIABLE Out
+ )
+ message(\"\${Out}\")
+ if (Result)
+ message(SEND_ERROR \"Succeeded build which should fail\")
+ endif()
+ "
+ )
+ add_test(${testname} ${CMAKE_CTEST_COMMAND}
+ --build-and-test
+ "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}"
+ "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/build"
+ --build-config "${CMAKE_BUILD_TYPE}"
+ --build-generator ${CMAKE_GENERATOR}
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
+ --build-project ${_dir}
+ --build-options "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" ${BUILD_OPTIONS_LIST}
+ )
+endmacro()
+
+function(test_module_includes)
+
+ set(all_args ${ARGN})
+ set(packages_string "")
+ set(libraries_string "")
+
+ foreach(_package ${Qt5_MODULE_TEST_DEPENDS})
+ set(packages_string
+ "
+ ${packages_string}
+ find_package(Qt5${_package} 5.0.0 REQUIRED)
+ "
+ )
+ endforeach()
+
+ while(all_args)
+ list(GET all_args 0 qtmodule)
+ list(REMOVE_AT all_args 0 1)
+
+ set(CMAKE_MODULE_VERSION ${CMAKE_${qtmodule}_MODULE_MAJOR_VERSION}.${CMAKE_${qtmodule}_MODULE_MINOR_VERSION}.${CMAKE_${qtmodule}_MODULE_PATCH_VERSION} )
+
+ set(packages_string
+ "${packages_string}
+ find_package(Qt5${qtmodule} 5.0.0 REQUIRED)
+ include_directories(\${Qt5${qtmodule}_INCLUDE_DIRS})
+ add_definitions(\${Qt5${qtmodule}_DEFINITIONS})\n")
+
+ list(FIND CMAKE_MODULES_UNDER_TEST ${qtmodule} _findIndex)
+ if (NOT _findIndex STREQUAL -1)
+ set(packages_string
+ "${packages_string}
+ if(NOT \"\${Qt5${qtmodule}_VERSION}\" VERSION_EQUAL ${CMAKE_MODULE_VERSION})
+ message(SEND_ERROR \"Qt5${qtmodule}_VERSION variable was not ${CMAKE_MODULE_VERSION}. Got \${Qt5${qtmodule}_VERSION} instead.\")
+ endif()
+ if(NOT \"\${Qt5${qtmodule}_VERSION_MAJOR}\" VERSION_EQUAL ${CMAKE_${qtmodule}_MODULE_MAJOR_VERSION})
+ message(SEND_ERROR \"Qt5${qtmodule}_VERSION_MAJOR variable was not ${CMAKE_${qtmodule}_MODULE_MAJOR_VERSION}. Got \${Qt5${qtmodule}_VERSION_MAJOR} instead.\")
+ endif()
+ if(NOT \"\${Qt5${qtmodule}_VERSION_MINOR}\" VERSION_EQUAL ${CMAKE_${qtmodule}_MODULE_MINOR_VERSION})
+ message(SEND_ERROR \"Qt5${qtmodule}_VERSION_MINOR variable was not ${CMAKE_${qtmodule}_MODULE_MINOR_VERSION}. Got \${Qt5${qtmodule}_VERSION_MINOR} instead.\")
+ endif()
+ if(NOT \"\${Qt5${qtmodule}_VERSION_PATCH}\" VERSION_EQUAL ${CMAKE_${qtmodule}_MODULE_PATCH_VERSION})
+ message(SEND_ERROR \"Qt5${qtmodule}_VERSION_PATCH variable was not ${CMAKE_${qtmodule}_MODULE_PATCH_VERSION}. Got \${Qt5${qtmodule}_VERSION_PATCH} instead.\")
+ endif()
+ if(NOT \"\${Qt5${qtmodule}_VERSION_STRING}\" VERSION_EQUAL ${CMAKE_MODULE_VERSION})
+ message(SEND_ERROR \"Qt5${qtmodule}_VERSION_STRING variable was not ${CMAKE_MODULE_VERSION}. Got \${Qt5${qtmodule}_VERSION_STRING} instead.\")
+ endif()\n"
+ )
+ endif()
+ set(libraries_string "${libraries_string} Qt5::${qtmodule}")
+ endwhile()
+
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/module_includes/CMakeLists.txt"
+ "
+ cmake_minimum_required(VERSION 2.8)
+ project(module_includes)
+
+ ${packages_string}
+
+ set(CMAKE_CXX_FLAGS \"\${CMAKE_CXX_FLAGS} \${Qt5Core_EXECUTABLE_COMPILE_FLAGS}\")
+ if (CMAKE_VERSION VERSION_LESS 3.3)
+ if (CMAKE_CXX_COMPILER_ID STREQUAL AppleClang
+ OR (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL Clang))
+ set(CMAKE_CXX_FLAGS \"\${CMAKE_CXX_FLAGS} -std=gnu++0x -stdlib=libc++\")
+ elseif (CMAKE_CXX_COMPILER_ID STREQUAL GNU
+ OR CMAKE_CXX_COMPILER_ID STREQUAL Clang)
+ set(CMAKE_CXX_FLAGS \"\${CMAKE_CXX_FLAGS} -std=gnu++0x\")
+ endif()
+ endif()
+
+ add_executable(module_includes_exe \"\${CMAKE_CURRENT_SOURCE_DIR}/main.cpp\")
+ target_link_libraries(module_includes_exe ${libraries_string})\n"
+ )
+
+ set(all_args ${ARGN})
+ set(includes_string "")
+ set(instances_string "")
+ while(all_args)
+ list(GET all_args 0 qtmodule)
+ list(GET all_args 1 qtclass)
+ if (${qtclass}_NAMESPACE)
+ set(qtinstancetype ${${qtclass}_NAMESPACE}::${qtclass})
+ else()
+ set(qtinstancetype ${qtclass})
+ endif()
+ list(REMOVE_AT all_args 0 1)
+ set(includes_string
+ "${includes_string}
+ #include <${qtclass}>
+ #include
+ #include
+ #include "
+ )
+ set(instances_string
+ "${instances_string}
+ ${qtinstancetype} local${qtclass};
+ ")
+ endwhile()
+
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/module_includes/main.cpp"
+ "
+
+ ${includes_string}
+
+ int main(int, char **) { ${instances_string} return 0; }\n"
+ )
+
+ add_test(module_includes ${CMAKE_CTEST_COMMAND}
+ --build-and-test
+ "${CMAKE_CURRENT_BINARY_DIR}/module_includes/"
+ "${CMAKE_CURRENT_BINARY_DIR}/module_includes/build"
+ --build-config "${CMAKE_BUILD_TYPE}"
+ --build-generator ${CMAKE_GENERATOR}
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
+ --build-project module_includes
+ --build-options "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" ${BUILD_OPTIONS_LIST}
+ )
+endfunction()
diff --git a/cmake/Qt5Core/Qt5CoreConfig.cmake b/cmake/Qt5Core/Qt5CoreConfig.cmake
new file mode 100644
index 0000000..2858ec9
--- /dev/null
+++ b/cmake/Qt5Core/Qt5CoreConfig.cmake
@@ -0,0 +1,190 @@
+
+if (CMAKE_VERSION VERSION_LESS 3.1.0)
+ message(FATAL_ERROR "Qt 5 Core module requires at least CMake version 3.1.0")
+endif()
+
+get_filename_component(_qt5Core_install_prefix "$ENV{MAYA_LOCATION}" ABSOLUTE)
+
+# For backwards compatibility only. Use Qt5Core_VERSION instead.
+set(Qt5Core_VERSION_STRING 5.12.5)
+
+set(Qt5Core_LIBRARIES Qt5::Core)
+
+macro(_qt5_Core_check_file_exists file)
+ if(NOT EXISTS "${file}" )
+ message(FATAL_ERROR "The imported target \"Qt5::Core\" references the file
+ \"${file}\"
+but this file does not exist. Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+ \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+ endif()
+endmacro()
+
+macro(_populate_Core_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
+ set_property(TARGET Qt5::Core APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+
+ set(imported_location "${_qt5Core_install_prefix}/bin/${LIB_LOCATION}")
+ _qt5_Core_check_file_exists(${imported_location})
+ set_target_properties(Qt5::Core PROPERTIES
+ "INTERFACE_LINK_LIBRARIES" "${_Qt5Core_LIB_DEPENDENCIES}"
+ "IMPORTED_LOCATION_${Configuration}" ${imported_location}
+ # For backward compatibility with CMake < 2.8.12
+ "IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}" "${_Qt5Core_LIB_DEPENDENCIES}"
+ )
+
+ set(imported_implib "${_qt5Core_install_prefix}/lib/${IMPLIB_LOCATION}")
+ _qt5_Core_check_file_exists(${imported_implib})
+ if(NOT "${IMPLIB_LOCATION}" STREQUAL "")
+ set_target_properties(Qt5::Core PROPERTIES
+ "IMPORTED_IMPLIB_${Configuration}" ${imported_implib}
+ )
+ endif()
+endmacro()
+
+if (NOT TARGET Qt5::Core)
+
+ set(_Qt5Core_OWN_INCLUDE_DIRS "${_qt5Core_install_prefix}/include/" "${_qt5Core_install_prefix}/include/QtCore")
+ set(Qt5Core_PRIVATE_INCLUDE_DIRS
+ "${_qt5Core_install_prefix}/include/QtCore/5.12.5"
+ "${_qt5Core_install_prefix}/include/QtCore/5.12.5/QtCore"
+ )
+
+ foreach(_dir ${_Qt5Core_OWN_INCLUDE_DIRS})
+ _qt5_Core_check_file_exists(${_dir})
+ endforeach()
+
+ # Only check existence of private includes if the Private component is
+ # specified.
+ list(FIND Qt5Core_FIND_COMPONENTS Private _check_private)
+ if (NOT _check_private STREQUAL -1)
+ foreach(_dir ${Qt5Core_PRIVATE_INCLUDE_DIRS})
+ _qt5_Core_check_file_exists(${_dir})
+ endforeach()
+ endif()
+
+ set(Qt5Core_INCLUDE_DIRS ${_Qt5Core_OWN_INCLUDE_DIRS})
+
+ set(Qt5Core_DEFINITIONS -DQT_CORE_LIB)
+ set(Qt5Core_COMPILE_DEFINITIONS QT_CORE_LIB)
+ set(_Qt5Core_MODULE_DEPENDENCIES "")
+
+
+ set(Qt5Core_OWN_PRIVATE_INCLUDE_DIRS ${Qt5Core_PRIVATE_INCLUDE_DIRS})
+
+ set(_Qt5Core_FIND_DEPENDENCIES_REQUIRED)
+ if (Qt5Core_FIND_REQUIRED)
+ set(_Qt5Core_FIND_DEPENDENCIES_REQUIRED REQUIRED)
+ endif()
+ set(_Qt5Core_FIND_DEPENDENCIES_QUIET)
+ if (Qt5Core_FIND_QUIETLY)
+ set(_Qt5Core_DEPENDENCIES_FIND_QUIET QUIET)
+ endif()
+ set(_Qt5Core_FIND_VERSION_EXACT)
+ if (Qt5Core_FIND_VERSION_EXACT)
+ set(_Qt5Core_FIND_VERSION_EXACT EXACT)
+ endif()
+
+ set(Qt5Core_EXECUTABLE_COMPILE_FLAGS "")
+
+ foreach(_module_dep ${_Qt5Core_MODULE_DEPENDENCIES})
+ if (NOT Qt5${_module_dep}_FOUND)
+ find_package(Qt5${_module_dep}
+ 5.12.5 ${_Qt5Core_FIND_VERSION_EXACT}
+ ${_Qt5Core_DEPENDENCIES_FIND_QUIET}
+ ${_Qt5Core_FIND_DEPENDENCIES_REQUIRED}
+ PATHS "${CMAKE_CURRENT_LIST_DIR}/.." NO_DEFAULT_PATH
+ )
+ endif()
+
+ if (NOT Qt5${_module_dep}_FOUND)
+ set(Qt5Core_FOUND False)
+ return()
+ endif()
+
+ list(APPEND Qt5Core_INCLUDE_DIRS "${Qt5${_module_dep}_INCLUDE_DIRS}")
+ list(APPEND Qt5Core_PRIVATE_INCLUDE_DIRS "${Qt5${_module_dep}_PRIVATE_INCLUDE_DIRS}")
+ list(APPEND Qt5Core_DEFINITIONS ${Qt5${_module_dep}_DEFINITIONS})
+ list(APPEND Qt5Core_COMPILE_DEFINITIONS ${Qt5${_module_dep}_COMPILE_DEFINITIONS})
+ list(APPEND Qt5Core_EXECUTABLE_COMPILE_FLAGS ${Qt5${_module_dep}_EXECUTABLE_COMPILE_FLAGS})
+ endforeach()
+ list(REMOVE_DUPLICATES Qt5Core_INCLUDE_DIRS)
+ list(REMOVE_DUPLICATES Qt5Core_PRIVATE_INCLUDE_DIRS)
+ list(REMOVE_DUPLICATES Qt5Core_DEFINITIONS)
+ list(REMOVE_DUPLICATES Qt5Core_COMPILE_DEFINITIONS)
+ list(REMOVE_DUPLICATES Qt5Core_EXECUTABLE_COMPILE_FLAGS)
+
+ set(_Qt5Core_LIB_DEPENDENCIES "")
+
+
+ add_library(Qt5::Core SHARED IMPORTED)
+
+ set_property(TARGET Qt5::Core PROPERTY
+ INTERFACE_INCLUDE_DIRECTORIES ${_Qt5Core_OWN_INCLUDE_DIRS})
+ set_property(TARGET Qt5::Core PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS QT_CORE_LIB)
+
+ set_property(TARGET Qt5::Core PROPERTY INTERFACE_QT_ENABLED_FEATURES properties;animation;textcodec;big_codecs;codecs;commandlineparser;cxx11_future;textdate;datestring;filesystemiterator;filesystemwatcher;gestures;itemmodel;proxymodel;identityproxymodel;library;mimetype;processenvironment;process;statemachine;qeventtransition;regularexpression;settings;sharedmemory;sortfilterproxymodel;std-atomic64;stringlistmodel;systemsemaphore;temporaryfile;timezone;topleveldomain;translation;xmlstream;xmlstreamreader;xmlstreamwriter)
+ set_property(TARGET Qt5::Core PROPERTY INTERFACE_QT_DISABLED_FEATURES )
+
+ set(_Qt5Core_PRIVATE_DIRS_EXIST TRUE)
+ foreach (_Qt5Core_PRIVATE_DIR ${Qt5Core_OWN_PRIVATE_INCLUDE_DIRS})
+ if (NOT EXISTS ${_Qt5Core_PRIVATE_DIR})
+ set(_Qt5Core_PRIVATE_DIRS_EXIST FALSE)
+ endif()
+ endforeach()
+
+ if (_Qt5Core_PRIVATE_DIRS_EXIST)
+ add_library(Qt5::CorePrivate INTERFACE IMPORTED)
+ set_property(TARGET Qt5::CorePrivate PROPERTY
+ INTERFACE_INCLUDE_DIRECTORIES ${Qt5Core_OWN_PRIVATE_INCLUDE_DIRS}
+ )
+ set(_Qt5Core_PRIVATEDEPS)
+ foreach(dep ${_Qt5Core_LIB_DEPENDENCIES})
+ if (TARGET ${dep}Private)
+ list(APPEND _Qt5Core_PRIVATEDEPS ${dep}Private)
+ endif()
+ endforeach()
+ set_property(TARGET Qt5::CorePrivate PROPERTY
+ INTERFACE_LINK_LIBRARIES Qt5::Core ${_Qt5Core_PRIVATEDEPS}
+ )
+ endif()
+
+ _populate_Core_target_properties(RELEASE "Qt5Core.dll" "Qt5Core.lib" )
+
+
+ if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Core_target_properties(DEBUG "Qt5Cored.dll" "Qt5Cored.lib" )
+ endif()
+
+
+
+ file(GLOB pluginTargets "${CMAKE_CURRENT_LIST_DIR}/Qt5Core_*Plugin.cmake")
+
+ macro(_populate_Core_plugin_properties Plugin Configuration PLUGIN_LOCATION)
+ set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+
+ set(imported_location "${_qt5Core_install_prefix}/plugins/${PLUGIN_LOCATION}")
+ _qt5_Core_check_file_exists(${imported_location})
+ set_target_properties(Qt5::${Plugin} PROPERTIES
+ "IMPORTED_LOCATION_${Configuration}" ${imported_location}
+ )
+ endmacro()
+
+ if (pluginTargets)
+ foreach(pluginTarget ${pluginTargets})
+ include(${pluginTarget})
+ endforeach()
+ endif()
+
+
+ include("${CMAKE_CURRENT_LIST_DIR}/Qt5CoreConfigExtras.cmake")
+
+ include("${CMAKE_CURRENT_LIST_DIR}/Qt5CoreMacros.cmake")
+
+_qt5_Core_check_file_exists("${CMAKE_CURRENT_LIST_DIR}/Qt5CoreConfigVersion.cmake")
+
+endif()
diff --git a/cmake/Qt5Core/Qt5CoreConfigExtras.cmake b/cmake/Qt5Core/Qt5CoreConfigExtras.cmake
new file mode 100644
index 0000000..8cd6617
--- /dev/null
+++ b/cmake/Qt5Core/Qt5CoreConfigExtras.cmake
@@ -0,0 +1,131 @@
+
+if (NOT TARGET Qt5::qmake)
+ add_executable(Qt5::qmake IMPORTED)
+
+ set(imported_location "${_qt5Core_install_prefix}/bin/qmake.exe")
+ _qt5_Core_check_file_exists(${imported_location})
+
+ set_target_properties(Qt5::qmake PROPERTIES
+ IMPORTED_LOCATION ${imported_location}
+ )
+endif()
+
+if (NOT TARGET Qt5::moc)
+ add_executable(Qt5::moc IMPORTED)
+
+ set(imported_location "${_qt5Core_install_prefix}/bin/moc.exe")
+ _qt5_Core_check_file_exists(${imported_location})
+
+ set_target_properties(Qt5::moc PROPERTIES
+ IMPORTED_LOCATION ${imported_location}
+ )
+ # For CMake automoc feature
+ get_target_property(QT_MOC_EXECUTABLE Qt5::moc LOCATION)
+endif()
+
+if (NOT TARGET Qt5::rcc)
+ add_executable(Qt5::rcc IMPORTED)
+
+ set(imported_location "${_qt5Core_install_prefix}/bin/rcc.exe")
+ _qt5_Core_check_file_exists(${imported_location})
+
+ set_target_properties(Qt5::rcc PROPERTIES
+ IMPORTED_LOCATION ${imported_location}
+ )
+endif()
+
+set(Qt5Core_QMAKE_EXECUTABLE Qt5::qmake)
+set(Qt5Core_MOC_EXECUTABLE Qt5::moc)
+set(Qt5Core_RCC_EXECUTABLE Qt5::rcc)
+
+set_property(TARGET Qt5::Core PROPERTY INTERFACE_QT_MAJOR_VERSION 5)
+set_property(TARGET Qt5::Core PROPERTY INTERFACE_QT_COORD_TYPE double)
+set_property(TARGET Qt5::Core APPEND PROPERTY
+ COMPATIBLE_INTERFACE_STRING QT_MAJOR_VERSION QT_COORD_TYPE
+)
+
+include("${CMAKE_CURRENT_LIST_DIR}/Qt5CoreConfigExtrasMkspecDir.cmake")
+
+foreach(_dir ${_qt5_corelib_extra_includes})
+ _qt5_Core_check_file_exists(${_dir})
+endforeach()
+
+list(APPEND Qt5Core_INCLUDE_DIRS ${_qt5_corelib_extra_includes})
+set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${_qt5_corelib_extra_includes})
+set(_qt5_corelib_extra_includes)
+
+# Targets using Qt need to use the POSITION_INDEPENDENT_CODE property. The
+# Qt5_POSITION_INDEPENDENT_CODE variable is used in the # qt5_use_module
+# macro to add it.
+set(Qt5_POSITION_INDEPENDENT_CODE True)
+
+# On x86 and x86-64 systems with ELF binaries (especially Linux), due to
+# a new optimization in GCC 5.x in combination with a recent version of
+# GNU binutils, compiling Qt applications with -fPIE is no longer
+# enough.
+# Applications now need to be compiled with the -fPIC option if the Qt option
+# "reduce relocations" is active. For backward compatibility only, Qt accepts
+# the use of -fPIE for GCC 4.x versions.
+set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_COMPILE_OPTIONS )
+
+# TODO Qt6: Remove
+set(Qt5Core_EXECUTABLE_COMPILE_FLAGS "")
+
+
+
+set_property(TARGET Qt5::Core APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS $<$>:QT_NO_DEBUG>)
+
+set_property(TARGET Qt5::Core PROPERTY INTERFACE_COMPILE_FEATURES cxx_decltype)
+
+
+
+set(Qt5Core_QTMAIN_LIBRARIES Qt5::WinMain)
+
+if (NOT TARGET Qt5::WinMain)
+ add_library(Qt5::WinMain STATIC IMPORTED)
+
+ set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ set(imported_location "${_qt5Core_install_prefix}/lib/qtmain.lib")
+
+ set_target_properties(Qt5::WinMain PROPERTIES
+ IMPORTED_LOCATION_RELEASE ${imported_location}
+ )
+
+ set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+
+ set(imported_location "${_qt5Core_install_prefix}/lib/qtmaind.lib")
+
+ set_target_properties(Qt5::WinMain PROPERTIES
+ IMPORTED_LOCATION_DEBUG ${imported_location}
+ )
+
+ if (NOT Qt5_NO_LINK_QTMAIN)
+ set(_isExe $,EXECUTABLE>)
+ set(_isWin32 $>)
+ set(_isNotExcluded $>>)
+ set(_isPolicyNEW $)
+ get_target_property(_configs Qt5::Core IMPORTED_CONFIGURATIONS)
+ set_property(TARGET Qt5::Core APPEND PROPERTY
+ INTERFACE_LINK_LIBRARIES
+ $<$:Qt5::WinMain>
+ )
+ # For backward compatibility with CMake < 2.8.12
+ foreach(_config ${_configs})
+ set_property(TARGET Qt5::Core APPEND PROPERTY
+ IMPORTED_LINK_INTERFACE_LIBRARIES_${_config}
+ $<$:Qt5::WinMain>
+ )
+ endforeach()
+ unset(_configs)
+ unset(_isExe)
+ unset(_isWin32)
+ unset(_isNotExcluded)
+ unset(_isPolicyNEW)
+ endif()
+endif()
+
+get_filename_component(_Qt5CoreConfigDir ${CMAKE_CURRENT_LIST_FILE} PATH)
+
+set(_Qt5CTestMacros "${_Qt5CoreConfigDir}/Qt5CTestMacros.cmake")
+
+_qt5_Core_check_file_exists(${_Qt5CTestMacros})
diff --git a/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake b/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake
new file mode 100644
index 0000000..b5266b9
--- /dev/null
+++ b/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake
@@ -0,0 +1,2 @@
+
+set(_qt5_corelib_extra_includes "${_qt5Core_install_prefix}/.//mkspecs/win32-msvc")
diff --git a/cmake/Qt5Core/Qt5CoreConfigVersion.cmake b/cmake/Qt5Core/Qt5CoreConfigVersion.cmake
new file mode 100644
index 0000000..66543cc
--- /dev/null
+++ b/cmake/Qt5Core/Qt5CoreConfigVersion.cmake
@@ -0,0 +1,11 @@
+
+set(PACKAGE_VERSION 5.12.5)
+
+if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+endif()
diff --git a/cmake/Qt5Core/Qt5CoreMacros.cmake b/cmake/Qt5Core/Qt5CoreMacros.cmake
new file mode 100644
index 0000000..3a60b8e
--- /dev/null
+++ b/cmake/Qt5Core/Qt5CoreMacros.cmake
@@ -0,0 +1,395 @@
+#=============================================================================
+# Copyright 2005-2011 Kitware, Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# * Neither the name of Kitware, Inc. nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "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 COPYRIGHT
+# HOLDER OR CONTRIBUTORS 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.
+#=============================================================================
+
+######################################
+#
+# Macros for building Qt files
+#
+######################################
+
+include(CMakeParseArguments)
+
+# macro used to create the names of output files preserving relative dirs
+macro(QT5_MAKE_OUTPUT_FILE infile prefix ext outfile )
+ string(LENGTH ${CMAKE_CURRENT_BINARY_DIR} _binlength)
+ string(LENGTH ${infile} _infileLength)
+ set(_checkinfile ${CMAKE_CURRENT_SOURCE_DIR})
+ if(_infileLength GREATER _binlength)
+ string(SUBSTRING "${infile}" 0 ${_binlength} _checkinfile)
+ if(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+ file(RELATIVE_PATH rel ${CMAKE_CURRENT_BINARY_DIR} ${infile})
+ else()
+ file(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
+ endif()
+ else()
+ file(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
+ endif()
+ if(WIN32 AND rel MATCHES "^([a-zA-Z]):(.*)$") # absolute path
+ set(rel "${CMAKE_MATCH_1}_${CMAKE_MATCH_2}")
+ endif()
+ set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${rel}")
+ string(REPLACE ".." "__" _outfile ${_outfile})
+ get_filename_component(outpath ${_outfile} PATH)
+ get_filename_component(_outfile ${_outfile} NAME_WE)
+ file(MAKE_DIRECTORY ${outpath})
+ set(${outfile} ${outpath}/${prefix}${_outfile}.${ext})
+endmacro()
+
+
+macro(QT5_GET_MOC_FLAGS _moc_flags)
+ set(${_moc_flags})
+ get_directory_property(_inc_DIRS INCLUDE_DIRECTORIES)
+
+ if(CMAKE_INCLUDE_CURRENT_DIR)
+ list(APPEND _inc_DIRS ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+ endif()
+
+ foreach(_current ${_inc_DIRS})
+ if("${_current}" MATCHES "\\.framework/?$")
+ string(REGEX REPLACE "/[^/]+\\.framework" "" framework_path "${_current}")
+ set(${_moc_flags} ${${_moc_flags}} "-F${framework_path}")
+ else()
+ set(${_moc_flags} ${${_moc_flags}} "-I${_current}")
+ endif()
+ endforeach()
+
+ get_directory_property(_defines COMPILE_DEFINITIONS)
+ foreach(_current ${_defines})
+ set(${_moc_flags} ${${_moc_flags}} "-D${_current}")
+ endforeach()
+
+ if(WIN32)
+ set(${_moc_flags} ${${_moc_flags}} -DWIN32)
+ endif()
+ if (MSVC)
+ set(${_moc_flags} ${${_moc_flags}} --compiler-flavor=msvc)
+ endif()
+endmacro()
+
+
+# helper macro to set up a moc rule
+function(QT5_CREATE_MOC_COMMAND infile outfile moc_flags moc_options moc_target moc_depends)
+ # Pass the parameters in a file. Set the working directory to
+ # be that containing the parameters file and reference it by
+ # just the file name. This is necessary because the moc tool on
+ # MinGW builds does not seem to handle spaces in the path to the
+ # file given with the @ syntax.
+ get_filename_component(_moc_outfile_name "${outfile}" NAME)
+ get_filename_component(_moc_outfile_dir "${outfile}" PATH)
+ if(_moc_outfile_dir)
+ set(_moc_working_dir WORKING_DIRECTORY ${_moc_outfile_dir})
+ endif()
+ set (_moc_parameters_file ${outfile}_parameters)
+ set (_moc_parameters ${moc_flags} ${moc_options} -o "${outfile}" "${infile}")
+ string (REPLACE ";" "\n" _moc_parameters "${_moc_parameters}")
+
+ if(moc_target)
+ set(_moc_parameters_file ${_moc_parameters_file}$<$>:_$>)
+ set(targetincludes "$")
+ set(targetdefines "$")
+
+ set(targetincludes "$<$:-I$\n>")
+ set(targetdefines "$<$:-D$\n>")
+
+ file (GENERATE
+ OUTPUT ${_moc_parameters_file}
+ CONTENT "${targetdefines}${targetincludes}${_moc_parameters}\n"
+ )
+
+ set(targetincludes)
+ set(targetdefines)
+ else()
+ file(WRITE ${_moc_parameters_file} "${_moc_parameters}\n")
+ endif()
+
+ set(_moc_extra_parameters_file @${_moc_parameters_file})
+ add_custom_command(OUTPUT ${outfile}
+ COMMAND ${Qt5Core_MOC_EXECUTABLE} ${_moc_extra_parameters_file}
+ DEPENDS ${infile} ${moc_depends}
+ ${_moc_working_dir}
+ VERBATIM)
+ set_source_files_properties(${infile} PROPERTIES SKIP_AUTOMOC ON)
+ set_source_files_properties(${outfile} PROPERTIES SKIP_AUTOMOC ON)
+ set_source_files_properties(${outfile} PROPERTIES SKIP_AUTOUIC ON)
+endfunction()
+
+
+function(QT5_GENERATE_MOC infile outfile )
+ # get include dirs and flags
+ qt5_get_moc_flags(moc_flags)
+ get_filename_component(abs_infile ${infile} ABSOLUTE)
+ set(_outfile "${outfile}")
+ if(NOT IS_ABSOLUTE "${outfile}")
+ set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}")
+ endif()
+ if ("x${ARGV2}" STREQUAL "xTARGET")
+ set(moc_target ${ARGV3})
+ endif()
+ qt5_create_moc_command(${abs_infile} ${_outfile} "${moc_flags}" "" "${moc_target}" "")
+endfunction()
+
+
+# qt5_wrap_cpp(outfiles inputfile ... )
+
+function(QT5_WRAP_CPP outfiles )
+ # get include dirs
+ qt5_get_moc_flags(moc_flags)
+
+ set(options)
+ set(oneValueArgs TARGET)
+ set(multiValueArgs OPTIONS DEPENDS)
+
+ cmake_parse_arguments(_WRAP_CPP "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ set(moc_files ${_WRAP_CPP_UNPARSED_ARGUMENTS})
+ set(moc_options ${_WRAP_CPP_OPTIONS})
+ set(moc_target ${_WRAP_CPP_TARGET})
+ set(moc_depends ${_WRAP_CPP_DEPENDS})
+
+ foreach(it ${moc_files})
+ get_filename_component(it ${it} ABSOLUTE)
+ qt5_make_output_file(${it} moc_ cpp outfile)
+ qt5_create_moc_command(${it} ${outfile} "${moc_flags}" "${moc_options}" "${moc_target}" "${moc_depends}")
+ list(APPEND ${outfiles} ${outfile})
+ endforeach()
+ set(${outfiles} ${${outfiles}} PARENT_SCOPE)
+endfunction()
+
+
+
+# _qt5_parse_qrc_file(infile _out_depends _rc_depends)
+# internal
+
+function(_QT5_PARSE_QRC_FILE infile _out_depends _rc_depends)
+ get_filename_component(rc_path ${infile} PATH)
+
+ if(EXISTS "${infile}")
+ # parse file for dependencies
+ # all files are absolute paths or relative to the location of the qrc file
+ file(READ "${infile}" RC_FILE_CONTENTS)
+ string(REGEX MATCHALL "]*>" "" RC_FILE "${RC_FILE}")
+ if(NOT IS_ABSOLUTE "${RC_FILE}")
+ set(RC_FILE "${rc_path}/${RC_FILE}")
+ endif()
+ set(RC_DEPENDS ${RC_DEPENDS} "${RC_FILE}")
+ endforeach()
+ # Since this cmake macro is doing the dependency scanning for these files,
+ # let's make a configured file and add it as a dependency so cmake is run
+ # again when dependencies need to be recomputed.
+ qt5_make_output_file("${infile}" "" "qrc.depends" out_depends)
+ configure_file("${infile}" "${out_depends}" COPYONLY)
+ else()
+ # The .qrc file does not exist (yet). Let's add a dependency and hope
+ # that it will be generated later
+ set(out_depends)
+ endif()
+
+ set(${_out_depends} ${out_depends} PARENT_SCOPE)
+ set(${_rc_depends} ${RC_DEPENDS} PARENT_SCOPE)
+endfunction()
+
+
+# qt5_add_binary_resources(target inputfiles ... )
+
+function(QT5_ADD_BINARY_RESOURCES target )
+
+ set(options)
+ set(oneValueArgs DESTINATION)
+ set(multiValueArgs OPTIONS)
+
+ cmake_parse_arguments(_RCC "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ set(rcc_files ${_RCC_UNPARSED_ARGUMENTS})
+ set(rcc_options ${_RCC_OPTIONS})
+ set(rcc_destination ${_RCC_DESTINATION})
+
+ if(NOT rcc_destination)
+ set(rcc_destination ${CMAKE_CURRENT_BINARY_DIR}/${target}.rcc)
+ endif()
+
+ foreach(it ${rcc_files})
+ get_filename_component(infile ${it} ABSOLUTE)
+
+ _QT5_PARSE_QRC_FILE(${infile} _out_depends _rc_depends)
+ set_source_files_properties(${infile} PROPERTIES SKIP_AUTORCC ON)
+ set(infiles ${infiles} ${infile})
+ set(out_depends ${out_depends} ${_out_depends})
+ set(rc_depends ${rc_depends} ${_rc_depends})
+ endforeach()
+
+ add_custom_command(OUTPUT ${rcc_destination}
+ COMMAND ${Qt5Core_RCC_EXECUTABLE}
+ ARGS ${rcc_options} --binary --name ${target} --output ${rcc_destination} ${infiles}
+ DEPENDS ${rc_depends} ${out_depends} ${infiles} VERBATIM)
+ add_custom_target(${target} ALL DEPENDS ${rcc_destination})
+endfunction()
+
+
+# qt5_add_resources(outfiles inputfile ... )
+
+function(QT5_ADD_RESOURCES outfiles )
+
+ set(options)
+ set(oneValueArgs)
+ set(multiValueArgs OPTIONS)
+
+ cmake_parse_arguments(_RCC "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ set(rcc_files ${_RCC_UNPARSED_ARGUMENTS})
+ set(rcc_options ${_RCC_OPTIONS})
+
+ if("${rcc_options}" MATCHES "-binary")
+ message(WARNING "Use qt5_add_binary_resources for binary option")
+ endif()
+
+ foreach(it ${rcc_files})
+ get_filename_component(outfilename ${it} NAME_WE)
+ get_filename_component(infile ${it} ABSOLUTE)
+ set(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cpp)
+
+ _QT5_PARSE_QRC_FILE(${infile} _out_depends _rc_depends)
+ set_source_files_properties(${infile} PROPERTIES SKIP_AUTORCC ON)
+
+ add_custom_command(OUTPUT ${outfile}
+ COMMAND ${Qt5Core_RCC_EXECUTABLE}
+ ARGS ${rcc_options} --name ${outfilename} --output ${outfile} ${infile}
+ MAIN_DEPENDENCY ${infile}
+ DEPENDS ${_rc_depends} "${_out_depends}" VERBATIM)
+ set_source_files_properties(${outfile} PROPERTIES SKIP_AUTOMOC ON)
+ set_source_files_properties(${outfile} PROPERTIES SKIP_AUTOUIC ON)
+ list(APPEND ${outfiles} ${outfile})
+ endforeach()
+ set(${outfiles} ${${outfiles}} PARENT_SCOPE)
+endfunction()
+
+# qt5_add_big_resources(outfiles inputfile ... )
+
+function(QT5_ADD_BIG_RESOURCES outfiles )
+ if (CMAKE_VERSION VERSION_LESS 3.9)
+ message(FATAL_ERROR, "qt5_add_big_resources requires CMake 3.9 or newer")
+ endif()
+
+ set(options)
+ set(oneValueArgs)
+ set(multiValueArgs OPTIONS)
+
+ cmake_parse_arguments(_RCC "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ set(rcc_files ${_RCC_UNPARSED_ARGUMENTS})
+ set(rcc_options ${_RCC_OPTIONS})
+
+ if("${rcc_options}" MATCHES "-binary")
+ message(WARNING "Use qt5_add_binary_resources for binary option")
+ endif()
+
+ foreach(it ${rcc_files})
+ get_filename_component(outfilename ${it} NAME_WE)
+ get_filename_component(infile ${it} ABSOLUTE)
+ set(tmpoutfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}tmp.cpp)
+ set(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.o)
+
+ _QT5_PARSE_QRC_FILE(${infile} _out_depends _rc_depends)
+ set_source_files_properties(${infile} PROPERTIES SKIP_AUTORCC ON)
+ add_custom_command(OUTPUT ${tmpoutfile}
+ COMMAND ${Qt5Core_RCC_EXECUTABLE} ${rcc_options} --name ${outfilename} --pass 1 --output ${tmpoutfile} ${infile}
+ DEPENDS ${infile} ${_rc_depends} "${out_depends}" VERBATIM)
+ add_custom_target(big_resources_${outfilename} ALL DEPENDS ${tmpoutfile})
+ add_library(rcc_object_${outfilename} OBJECT ${tmpoutfile})
+ set_target_properties(rcc_object_${outfilename} PROPERTIES AUTOMOC OFF)
+ set_target_properties(rcc_object_${outfilename} PROPERTIES AUTOUIC OFF)
+ add_dependencies(rcc_object_${outfilename} big_resources_${outfilename})
+ # The modification of TARGET_OBJECTS needs the following change in cmake
+ # https://gitlab.kitware.com/cmake/cmake/commit/93c89bc75ceee599ba7c08b8fe1ac5104942054f
+ add_custom_command(OUTPUT ${outfile}
+ COMMAND ${Qt5Core_RCC_EXECUTABLE}
+ ARGS ${rcc_options} --name ${outfilename} --pass 2 --temp $ --output ${outfile} ${infile}
+ DEPENDS rcc_object_${outfilename}
+ VERBATIM)
+ list(APPEND ${outfiles} ${outfile})
+ endforeach()
+ set(${outfiles} ${${outfiles}} PARENT_SCOPE)
+endfunction()
+
+set(_Qt5_COMPONENT_PATH "${CMAKE_CURRENT_LIST_DIR}/..")
+
+if (NOT CMAKE_VERSION VERSION_LESS 2.8.9)
+ macro(qt5_use_modules _target _link_type)
+ if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.11)
+ if(CMAKE_WARN_DEPRECATED)
+ set(messageType WARNING)
+ endif()
+ if(CMAKE_ERROR_DEPRECATED)
+ set(messageType FATAL_ERROR)
+ endif()
+ if(messageType)
+ message(${messageType} "The qt5_use_modules macro is obsolete. Use target_link_libraries with IMPORTED targets instead.")
+ endif()
+ endif()
+
+ if (NOT TARGET ${_target})
+ message(FATAL_ERROR "The first argument to qt5_use_modules must be an existing target.")
+ endif()
+ if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE" )
+ set(_qt5_modules ${ARGN})
+ set(_qt5_link_type ${_link_type})
+ else()
+ set(_qt5_modules ${_link_type} ${ARGN})
+ endif()
+
+ if ("${_qt5_modules}" STREQUAL "")
+ message(FATAL_ERROR "qt5_use_modules requires at least one Qt module to use.")
+ endif()
+
+ foreach(_module ${_qt5_modules})
+ if (NOT Qt5${_module}_FOUND)
+ find_package(Qt5${_module} PATHS "${_Qt5_COMPONENT_PATH}" NO_DEFAULT_PATH)
+ if (NOT Qt5${_module}_FOUND)
+ message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
+ endif()
+ endif()
+ target_link_libraries(${_target} ${_qt5_link_type} ${Qt5${_module}_LIBRARIES})
+ set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_module}_INCLUDE_DIRS})
+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_module}_COMPILE_DEFINITIONS})
+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG)
+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO QT_NO_DEBUG)
+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL QT_NO_DEBUG)
+ if (Qt5_POSITION_INDEPENDENT_CODE
+ AND (CMAKE_VERSION VERSION_LESS 2.8.12
+ AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU"
+ OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0)))
+ set_property(TARGET ${_target} PROPERTY POSITION_INDEPENDENT_CODE ${Qt5_POSITION_INDEPENDENT_CODE})
+ endif()
+ endforeach()
+ endmacro()
+endif()
diff --git a/cmake/Qt5Gui/Qt5GuiConfig.cmake b/cmake/Qt5Gui/Qt5GuiConfig.cmake
new file mode 100644
index 0000000..cb89f25
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5GuiConfig.cmake
@@ -0,0 +1,187 @@
+
+if (CMAKE_VERSION VERSION_LESS 3.1.0)
+ message(FATAL_ERROR "Qt 5 Gui module requires at least CMake version 3.1.0")
+endif()
+
+get_filename_component(_qt5Gui_install_prefix "$ENV{MAYA_LOCATION}" ABSOLUTE)
+
+# For backwards compatibility only. Use Qt5Gui_VERSION instead.
+set(Qt5Gui_VERSION_STRING 5.12.5)
+
+set(Qt5Gui_LIBRARIES Qt5::Gui)
+
+macro(_qt5_Gui_check_file_exists file)
+ if(NOT EXISTS "${file}" )
+ message(FATAL_ERROR "The imported target \"Qt5::Gui\" references the file
+ \"${file}\"
+but this file does not exist. Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+ \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+ endif()
+endmacro()
+
+macro(_populate_Gui_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
+ set_property(TARGET Qt5::Gui APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+
+ set(imported_location "${_qt5Gui_install_prefix}/bin/${LIB_LOCATION}")
+ _qt5_Gui_check_file_exists(${imported_location})
+ set_target_properties(Qt5::Gui PROPERTIES
+ "INTERFACE_LINK_LIBRARIES" "${_Qt5Gui_LIB_DEPENDENCIES}"
+ "IMPORTED_LOCATION_${Configuration}" ${imported_location}
+ # For backward compatibility with CMake < 2.8.12
+ "IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}" "${_Qt5Gui_LIB_DEPENDENCIES}"
+ )
+
+ set(imported_implib "${_qt5Gui_install_prefix}/lib/${IMPLIB_LOCATION}")
+ _qt5_Gui_check_file_exists(${imported_implib})
+ if(NOT "${IMPLIB_LOCATION}" STREQUAL "")
+ set_target_properties(Qt5::Gui PROPERTIES
+ "IMPORTED_IMPLIB_${Configuration}" ${imported_implib}
+ )
+ endif()
+endmacro()
+
+if (NOT TARGET Qt5::Gui)
+
+ set(_Qt5Gui_OWN_INCLUDE_DIRS "${_qt5Gui_install_prefix}/include/" "${_qt5Gui_install_prefix}/include/QtGui")
+ set(Qt5Gui_PRIVATE_INCLUDE_DIRS
+ "${_qt5Gui_install_prefix}/include/QtGui/5.12.5"
+ "${_qt5Gui_install_prefix}/include/QtGui/5.12.5/QtGui"
+ )
+
+ foreach(_dir ${_Qt5Gui_OWN_INCLUDE_DIRS})
+ _qt5_Gui_check_file_exists(${_dir})
+ endforeach()
+
+ # Only check existence of private includes if the Private component is
+ # specified.
+ list(FIND Qt5Gui_FIND_COMPONENTS Private _check_private)
+ if (NOT _check_private STREQUAL -1)
+ foreach(_dir ${Qt5Gui_PRIVATE_INCLUDE_DIRS})
+ _qt5_Gui_check_file_exists(${_dir})
+ endforeach()
+ endif()
+
+ set(Qt5Gui_INCLUDE_DIRS ${_Qt5Gui_OWN_INCLUDE_DIRS})
+
+ set(Qt5Gui_DEFINITIONS -DQT_GUI_LIB)
+ set(Qt5Gui_COMPILE_DEFINITIONS QT_GUI_LIB)
+ set(_Qt5Gui_MODULE_DEPENDENCIES "Core")
+
+
+ set(Qt5Gui_OWN_PRIVATE_INCLUDE_DIRS ${Qt5Gui_PRIVATE_INCLUDE_DIRS})
+
+ set(_Qt5Gui_FIND_DEPENDENCIES_REQUIRED)
+ if (Qt5Gui_FIND_REQUIRED)
+ set(_Qt5Gui_FIND_DEPENDENCIES_REQUIRED REQUIRED)
+ endif()
+ set(_Qt5Gui_FIND_DEPENDENCIES_QUIET)
+ if (Qt5Gui_FIND_QUIETLY)
+ set(_Qt5Gui_DEPENDENCIES_FIND_QUIET QUIET)
+ endif()
+ set(_Qt5Gui_FIND_VERSION_EXACT)
+ if (Qt5Gui_FIND_VERSION_EXACT)
+ set(_Qt5Gui_FIND_VERSION_EXACT EXACT)
+ endif()
+
+ set(Qt5Gui_EXECUTABLE_COMPILE_FLAGS "")
+
+ foreach(_module_dep ${_Qt5Gui_MODULE_DEPENDENCIES})
+ if (NOT Qt5${_module_dep}_FOUND)
+ find_package(Qt5${_module_dep}
+ 5.12.5 ${_Qt5Gui_FIND_VERSION_EXACT}
+ ${_Qt5Gui_DEPENDENCIES_FIND_QUIET}
+ ${_Qt5Gui_FIND_DEPENDENCIES_REQUIRED}
+ PATHS "${CMAKE_CURRENT_LIST_DIR}/.." NO_DEFAULT_PATH
+ )
+ endif()
+
+ if (NOT Qt5${_module_dep}_FOUND)
+ set(Qt5Gui_FOUND False)
+ return()
+ endif()
+
+ list(APPEND Qt5Gui_INCLUDE_DIRS "${Qt5${_module_dep}_INCLUDE_DIRS}")
+ list(APPEND Qt5Gui_PRIVATE_INCLUDE_DIRS "${Qt5${_module_dep}_PRIVATE_INCLUDE_DIRS}")
+ list(APPEND Qt5Gui_DEFINITIONS ${Qt5${_module_dep}_DEFINITIONS})
+ list(APPEND Qt5Gui_COMPILE_DEFINITIONS ${Qt5${_module_dep}_COMPILE_DEFINITIONS})
+ list(APPEND Qt5Gui_EXECUTABLE_COMPILE_FLAGS ${Qt5${_module_dep}_EXECUTABLE_COMPILE_FLAGS})
+ endforeach()
+ list(REMOVE_DUPLICATES Qt5Gui_INCLUDE_DIRS)
+ list(REMOVE_DUPLICATES Qt5Gui_PRIVATE_INCLUDE_DIRS)
+ list(REMOVE_DUPLICATES Qt5Gui_DEFINITIONS)
+ list(REMOVE_DUPLICATES Qt5Gui_COMPILE_DEFINITIONS)
+ list(REMOVE_DUPLICATES Qt5Gui_EXECUTABLE_COMPILE_FLAGS)
+
+ set(_Qt5Gui_LIB_DEPENDENCIES "Qt5::Core")
+
+
+ add_library(Qt5::Gui SHARED IMPORTED)
+
+ set_property(TARGET Qt5::Gui PROPERTY
+ INTERFACE_INCLUDE_DIRECTORIES ${_Qt5Gui_OWN_INCLUDE_DIRS})
+ set_property(TARGET Qt5::Gui PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS QT_GUI_LIB)
+
+ set_property(TARGET Qt5::Gui PROPERTY INTERFACE_QT_ENABLED_FEATURES accessibility;action;clipboard;colornames;cssparser;cursor;desktopservices;imageformat_xpm;draganddrop;opengl;imageformatplugin;highdpiscaling;im;image_heuristic_mask;image_text;imageformat_bmp;imageformat_jpeg;imageformat_png;imageformat_ppm;imageformat_xbm;movie;pdf;picture;sessionmanager;shortcut;standarditemmodel;systemtrayicon;tabletevent;texthtmlparser;textodfwriter;validator;whatsthis;wheelevent)
+ set_property(TARGET Qt5::Gui PROPERTY INTERFACE_QT_DISABLED_FEATURES opengles2;dynamicgl;angle;combined-angle-lib;opengles3;opengles31;opengles32;openvg;vulkan)
+
+ set(_Qt5Gui_PRIVATE_DIRS_EXIST TRUE)
+ foreach (_Qt5Gui_PRIVATE_DIR ${Qt5Gui_OWN_PRIVATE_INCLUDE_DIRS})
+ if (NOT EXISTS ${_Qt5Gui_PRIVATE_DIR})
+ set(_Qt5Gui_PRIVATE_DIRS_EXIST FALSE)
+ endif()
+ endforeach()
+
+ if (_Qt5Gui_PRIVATE_DIRS_EXIST)
+ add_library(Qt5::GuiPrivate INTERFACE IMPORTED)
+ set_property(TARGET Qt5::GuiPrivate PROPERTY
+ INTERFACE_INCLUDE_DIRECTORIES ${Qt5Gui_OWN_PRIVATE_INCLUDE_DIRS}
+ )
+ set(_Qt5Gui_PRIVATEDEPS)
+ foreach(dep ${_Qt5Gui_LIB_DEPENDENCIES})
+ if (TARGET ${dep}Private)
+ list(APPEND _Qt5Gui_PRIVATEDEPS ${dep}Private)
+ endif()
+ endforeach()
+ set_property(TARGET Qt5::GuiPrivate PROPERTY
+ INTERFACE_LINK_LIBRARIES Qt5::Gui ${_Qt5Gui_PRIVATEDEPS}
+ )
+ endif()
+
+ _populate_Gui_target_properties(RELEASE "Qt5Gui.dll" "Qt5Gui.lib" )
+
+
+ if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_target_properties(DEBUG "Qt5Guid.dll" "Qt5Guid.lib" )
+ endif()
+
+ file(GLOB pluginTargets "${CMAKE_CURRENT_LIST_DIR}/Qt5Gui_*Plugin.cmake")
+
+ macro(_populate_Gui_plugin_properties Plugin Configuration PLUGIN_LOCATION)
+ set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+
+ set(imported_location "${_qt5Gui_install_prefix}/plugins/${PLUGIN_LOCATION}")
+ _qt5_Gui_check_file_exists(${imported_location})
+ set_target_properties(Qt5::${Plugin} PROPERTIES
+ "IMPORTED_LOCATION_${Configuration}" ${imported_location}
+ )
+ endmacro()
+
+ if (pluginTargets)
+ foreach(pluginTarget ${pluginTargets})
+ include(${pluginTarget})
+ endforeach()
+ endif()
+
+
+ include("${CMAKE_CURRENT_LIST_DIR}/Qt5GuiConfigExtras.cmake")
+
+
+_qt5_Gui_check_file_exists("${CMAKE_CURRENT_LIST_DIR}/Qt5GuiConfigVersion.cmake")
+
+endif()
diff --git a/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake b/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
new file mode 100644
index 0000000..1954505
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake
@@ -0,0 +1,83 @@
+
+
+
+macro(_qt5gui_find_extra_libs Name Libs LibDir IncDirs)
+ set(Qt5Gui_${Name}_LIBRARIES)
+ set(Qt5Gui_${Name}_INCLUDE_DIRS ${IncDirs})
+ foreach(_lib ${Libs})
+ if (IS_ABSOLUTE ${_lib})
+ get_filename_component(_libFile ${_lib} NAME_WE)
+ if (_libFile MATCHES "^${CMAKE_SHARED_LIBRARY_PREFIX}(.*)")
+ set(_libFile ${CMAKE_MATCH_1})
+ endif()
+ else()
+ set(_libFile ${_lib})
+ endif()
+
+ string(REGEX REPLACE [^_A-Za-z0-9] _ _cmake_lib_name ${_libFile})
+ if (NOT TARGET Qt5::Gui_${_cmake_lib_name} AND NOT _Qt5Gui_${_cmake_lib_name}_LIBRARY_DONE)
+ if (IS_ABSOLUTE ${_lib})
+ set(Qt5Gui_${_cmake_lib_name}_LIBRARY ${_lib})
+ else()
+ find_library(Qt5Gui_${_cmake_lib_name}_LIBRARY ${_lib}
+ )
+ endif()
+ if (NOT Qt5Gui_${_cmake_lib_name}_LIBRARY)
+ # The above find_library call doesn't work for finding
+ # libraries in Windows SDK paths outside of the proper
+ # environment, even if the libraries are present. In other
+ # cases it is OK for the libraries to not be found
+ # because they are optional dependencies of Qt5Gui, needed
+ # only if the qopengl.h header is used.
+ # We try to find the libraries in the first place because Qt may be
+ # compiled with another set of GL libraries (such as coming
+ # from ANGLE). The point of these find calls is to try to
+ # find the same binaries as Qt is compiled with (as they are
+ # in the interface of QtGui), so an effort is made to do so
+ # above with paths known to qmake.
+ set(_Qt5Gui_${_cmake_lib_name}_LIBRARY_DONE TRUE)
+ unset(Qt5Gui_${_cmake_lib_name}_LIBRARY CACHE)
+ else()
+ add_library(Qt5::Gui_${_cmake_lib_name} SHARED IMPORTED)
+ set_property(TARGET Qt5::Gui_${_cmake_lib_name} APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${Qt5Gui_${Name}_INCLUDE_DIRS})
+
+ set_property(TARGET Qt5::Gui_${_cmake_lib_name} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ _qt5_Gui_check_file_exists("${Qt5Gui_${_cmake_lib_name}_LIBRARY}")
+ set_property(TARGET Qt5::Gui_${_cmake_lib_name} PROPERTY IMPORTED_LOCATION_RELEASE "${Qt5Gui_${_cmake_lib_name}_LIBRARY}")
+
+ set_property(TARGET Qt5::Gui_${_cmake_lib_name} PROPERTY IMPORTED_IMPLIB_RELEASE "${Qt5Gui_${_cmake_lib_name}_LIBRARY}")
+ unset(Qt5Gui_${_cmake_lib_name}_LIBRARY CACHE)
+
+ find_library(Qt5Gui_${_cmake_lib_name}_LIBRARY_DEBUG ${_lib}d
+ PATHS "${LibDir}"
+ NO_DEFAULT_PATH
+ )
+ if (Qt5Gui_${_cmake_lib_name}_LIBRARY_DEBUG)
+ set_property(TARGET Qt5::Gui_${_cmake_lib_name} APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ _qt5_Gui_check_file_exists("${Qt5Gui_${_cmake_lib_name}_LIBRARY_DEBUG}")
+ set_property(TARGET Qt5::Gui_${_cmake_lib_name} PROPERTY IMPORTED_LOCATION_DEBUG "${Qt5Gui_${_cmake_lib_name}_LIBRARY_DEBUG}")
+ set_property(TARGET Qt5::Gui_${_cmake_lib_name} PROPERTY IMPORTED_IMPLIB_DEBUG "${Qt5Gui_${_cmake_lib_name}_LIBRARY_DEBUG}")
+ endif()
+ unset(Qt5Gui_${_cmake_lib_name}_LIBRARY_DEBUG CACHE)
+ list(APPEND Qt5Gui_${Name}_LIBRARIES Qt5::Gui_${_cmake_lib_name})
+ endif()
+ endif()
+ endforeach()
+endmacro()
+
+
+
+_qt5gui_find_extra_libs(OPENGL "glu32;opengl32;gdi32;user32" "" "")
+
+
+
+set(Qt5Gui_OPENGL_IMPLEMENTATION GL)
+
+get_target_property(_configs Qt5::Gui IMPORTED_CONFIGURATIONS)
+foreach(_config ${_configs})
+ set_property(TARGET Qt5::Gui APPEND PROPERTY
+ IMPORTED_LINK_DEPENDENT_LIBRARIES_${_config}
+ ${Qt5Gui_EGL_LIBRARIES} ${Qt5Gui_OPENGL_LIBRARIES}
+ )
+endforeach()
+unset(_configs)
diff --git a/cmake/Qt5Gui/Qt5GuiConfigVersion.cmake b/cmake/Qt5Gui/Qt5GuiConfigVersion.cmake
new file mode 100644
index 0000000..66543cc
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5GuiConfigVersion.cmake
@@ -0,0 +1,11 @@
+
+set(PACKAGE_VERSION 5.12.5)
+
+if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+endif()
diff --git a/cmake/Qt5Gui/Qt5Gui_QGifPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QGifPlugin.cmake
new file mode 100644
index 0000000..dd59844
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QGifPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QGifPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QGifPlugin RELEASE "imageformats/qgif.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QGifPlugin DEBUG "imageformats/qgifd.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QGifPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QICNSPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QICNSPlugin.cmake
new file mode 100644
index 0000000..752e621
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QICNSPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QICNSPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QICNSPlugin RELEASE "imageformats/qicns.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QICNSPlugin DEBUG "imageformats/qicnsd.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QICNSPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QICOPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QICOPlugin.cmake
new file mode 100644
index 0000000..4133e22
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QICOPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QICOPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QICOPlugin RELEASE "imageformats/qico.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QICOPlugin DEBUG "imageformats/qicod.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QICOPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QJpegPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QJpegPlugin.cmake
new file mode 100644
index 0000000..944f56b
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QJpegPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QJpegPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QJpegPlugin RELEASE "imageformats/qjpeg.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QJpegPlugin DEBUG "imageformats/qjpegd.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QJpegPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin.cmake
new file mode 100644
index 0000000..8d10b71
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QMinimalIntegrationPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QMinimalIntegrationPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QMinimalIntegrationPlugin RELEASE "platforms/qminimal.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QMinimalIntegrationPlugin DEBUG "platforms/qminimald.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QMinimalIntegrationPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QOffscreenIntegrationPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QOffscreenIntegrationPlugin.cmake
new file mode 100644
index 0000000..5d1d5c9
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QOffscreenIntegrationPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QOffscreenIntegrationPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QOffscreenIntegrationPlugin RELEASE "platforms/qoffscreen.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QOffscreenIntegrationPlugin DEBUG "platforms/qoffscreend.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QOffscreenIntegrationPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QTgaPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QTgaPlugin.cmake
new file mode 100644
index 0000000..0e755ee
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QTgaPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QTgaPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QTgaPlugin RELEASE "imageformats/qtga.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QTgaPlugin DEBUG "imageformats/qtgad.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QTgaPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QTiffPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QTiffPlugin.cmake
new file mode 100644
index 0000000..b3a5fa7
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QTiffPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QTiffPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QTiffPlugin RELEASE "imageformats/qtiff.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QTiffPlugin DEBUG "imageformats/qtiffd.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QTiffPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QTuioTouchPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QTuioTouchPlugin.cmake
new file mode 100644
index 0000000..a71760e
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QTuioTouchPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QTuioTouchPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QTuioTouchPlugin RELEASE "generic/qtuiotouchplugin.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QTuioTouchPlugin DEBUG "generic/qtuiotouchplugind.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QTuioTouchPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QWbmpPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QWbmpPlugin.cmake
new file mode 100644
index 0000000..40c6cb1
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QWbmpPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QWbmpPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QWbmpPlugin RELEASE "imageformats/qwbmp.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QWbmpPlugin DEBUG "imageformats/qwbmpd.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QWbmpPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QWebGLIntegrationPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QWebGLIntegrationPlugin.cmake
new file mode 100644
index 0000000..a97d610
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QWebGLIntegrationPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QWebGLIntegrationPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QWebGLIntegrationPlugin RELEASE "platforms/qwebgl.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QWebGLIntegrationPlugin DEBUG "platforms/qwebgld.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QWebGLIntegrationPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QWebpPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QWebpPlugin.cmake
new file mode 100644
index 0000000..cf14a50
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QWebpPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QWebpPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QWebpPlugin RELEASE "imageformats/qwebp.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QWebpPlugin DEBUG "imageformats/qwebpd.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QWebpPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QWindowsDirect2DIntegrationPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QWindowsDirect2DIntegrationPlugin.cmake
new file mode 100644
index 0000000..f6dcf0c
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QWindowsDirect2DIntegrationPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QWindowsDirect2DIntegrationPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QWindowsDirect2DIntegrationPlugin RELEASE "platforms/qdirect2d.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QWindowsDirect2DIntegrationPlugin DEBUG "platforms/qdirect2dd.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QWindowsDirect2DIntegrationPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QWindowsIntegrationPlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QWindowsIntegrationPlugin.cmake
new file mode 100644
index 0000000..307f221
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QWindowsIntegrationPlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QWindowsIntegrationPlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QWindowsIntegrationPlugin RELEASE "platforms/qwindows.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QWindowsIntegrationPlugin DEBUG "platforms/qwindowsd.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QWindowsIntegrationPlugin)
diff --git a/cmake/Qt5Gui/Qt5Gui_QXdgDesktopPortalThemePlugin.cmake b/cmake/Qt5Gui/Qt5Gui_QXdgDesktopPortalThemePlugin.cmake
new file mode 100644
index 0000000..2bd4442
--- /dev/null
+++ b/cmake/Qt5Gui/Qt5Gui_QXdgDesktopPortalThemePlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QXdgDesktopPortalThemePlugin MODULE IMPORTED)
+
+_populate_Gui_plugin_properties(QXdgDesktopPortalThemePlugin RELEASE "platformthemes/qxdgdesktopportal.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Gui_plugin_properties(QXdgDesktopPortalThemePlugin DEBUG "platformthemes/qxdgdesktopportald.dll")
+endif()
+
+list(APPEND Qt5Gui_PLUGINS Qt5::QXdgDesktopPortalThemePlugin)
diff --git a/cmake/Qt5Network/Qt5NetworkConfig.cmake b/cmake/Qt5Network/Qt5NetworkConfig.cmake
new file mode 100644
index 0000000..904cd32
--- /dev/null
+++ b/cmake/Qt5Network/Qt5NetworkConfig.cmake
@@ -0,0 +1,188 @@
+
+if (CMAKE_VERSION VERSION_LESS 3.1.0)
+ message(FATAL_ERROR "Qt 5 Network module requires at least CMake version 3.1.0")
+endif()
+
+get_filename_component(_qt5Network_install_prefix "$ENV{MAYA_LOCATION}" ABSOLUTE)
+
+# For backwards compatibility only. Use Qt5Network_VERSION instead.
+set(Qt5Network_VERSION_STRING 5.12.5)
+
+set(Qt5Network_LIBRARIES Qt5::Network)
+
+macro(_qt5_Network_check_file_exists file)
+ if(NOT EXISTS "${file}" )
+ message(FATAL_ERROR "The imported target \"Qt5::Network\" references the file
+ \"${file}\"
+but this file does not exist. Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+ \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+ endif()
+endmacro()
+
+macro(_populate_Network_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
+ set_property(TARGET Qt5::Network APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+
+ set(imported_location "${_qt5Network_install_prefix}/bin/${LIB_LOCATION}")
+ _qt5_Network_check_file_exists(${imported_location})
+ set_target_properties(Qt5::Network PROPERTIES
+ "INTERFACE_LINK_LIBRARIES" "${_Qt5Network_LIB_DEPENDENCIES}"
+ "IMPORTED_LOCATION_${Configuration}" ${imported_location}
+ # For backward compatibility with CMake < 2.8.12
+ "IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}" "${_Qt5Network_LIB_DEPENDENCIES}"
+ )
+
+ set(imported_implib "${_qt5Network_install_prefix}/lib/${IMPLIB_LOCATION}")
+ _qt5_Network_check_file_exists(${imported_implib})
+ if(NOT "${IMPLIB_LOCATION}" STREQUAL "")
+ set_target_properties(Qt5::Network PROPERTIES
+ "IMPORTED_IMPLIB_${Configuration}" ${imported_implib}
+ )
+ endif()
+endmacro()
+
+if (NOT TARGET Qt5::Network)
+
+ set(_Qt5Network_OWN_INCLUDE_DIRS "${_qt5Network_install_prefix}/include/" "${_qt5Network_install_prefix}/include/QtNetwork")
+ set(Qt5Network_PRIVATE_INCLUDE_DIRS
+ "${_qt5Network_install_prefix}/include/QtNetwork/5.12.5"
+ "${_qt5Network_install_prefix}/include/QtNetwork/5.12.5/QtNetwork"
+ )
+
+ foreach(_dir ${_Qt5Network_OWN_INCLUDE_DIRS})
+ _qt5_Network_check_file_exists(${_dir})
+ endforeach()
+
+ # Only check existence of private includes if the Private component is
+ # specified.
+ list(FIND Qt5Network_FIND_COMPONENTS Private _check_private)
+ if (NOT _check_private STREQUAL -1)
+ foreach(_dir ${Qt5Network_PRIVATE_INCLUDE_DIRS})
+ _qt5_Network_check_file_exists(${_dir})
+ endforeach()
+ endif()
+
+ set(Qt5Network_INCLUDE_DIRS ${_Qt5Network_OWN_INCLUDE_DIRS})
+
+ set(Qt5Network_DEFINITIONS -DQT_NETWORK_LIB)
+ set(Qt5Network_COMPILE_DEFINITIONS QT_NETWORK_LIB)
+ set(_Qt5Network_MODULE_DEPENDENCIES "Core")
+
+
+ set(Qt5Network_OWN_PRIVATE_INCLUDE_DIRS ${Qt5Network_PRIVATE_INCLUDE_DIRS})
+
+ set(_Qt5Network_FIND_DEPENDENCIES_REQUIRED)
+ if (Qt5Network_FIND_REQUIRED)
+ set(_Qt5Network_FIND_DEPENDENCIES_REQUIRED REQUIRED)
+ endif()
+ set(_Qt5Network_FIND_DEPENDENCIES_QUIET)
+ if (Qt5Network_FIND_QUIETLY)
+ set(_Qt5Network_DEPENDENCIES_FIND_QUIET QUIET)
+ endif()
+ set(_Qt5Network_FIND_VERSION_EXACT)
+ if (Qt5Network_FIND_VERSION_EXACT)
+ set(_Qt5Network_FIND_VERSION_EXACT EXACT)
+ endif()
+
+ set(Qt5Network_EXECUTABLE_COMPILE_FLAGS "")
+
+ foreach(_module_dep ${_Qt5Network_MODULE_DEPENDENCIES})
+ if (NOT Qt5${_module_dep}_FOUND)
+ find_package(Qt5${_module_dep}
+ 5.12.5 ${_Qt5Network_FIND_VERSION_EXACT}
+ ${_Qt5Network_DEPENDENCIES_FIND_QUIET}
+ ${_Qt5Network_FIND_DEPENDENCIES_REQUIRED}
+ PATHS "${CMAKE_CURRENT_LIST_DIR}/.." NO_DEFAULT_PATH
+ )
+ endif()
+
+ if (NOT Qt5${_module_dep}_FOUND)
+ set(Qt5Network_FOUND False)
+ return()
+ endif()
+
+ list(APPEND Qt5Network_INCLUDE_DIRS "${Qt5${_module_dep}_INCLUDE_DIRS}")
+ list(APPEND Qt5Network_PRIVATE_INCLUDE_DIRS "${Qt5${_module_dep}_PRIVATE_INCLUDE_DIRS}")
+ list(APPEND Qt5Network_DEFINITIONS ${Qt5${_module_dep}_DEFINITIONS})
+ list(APPEND Qt5Network_COMPILE_DEFINITIONS ${Qt5${_module_dep}_COMPILE_DEFINITIONS})
+ list(APPEND Qt5Network_EXECUTABLE_COMPILE_FLAGS ${Qt5${_module_dep}_EXECUTABLE_COMPILE_FLAGS})
+ endforeach()
+ list(REMOVE_DUPLICATES Qt5Network_INCLUDE_DIRS)
+ list(REMOVE_DUPLICATES Qt5Network_PRIVATE_INCLUDE_DIRS)
+ list(REMOVE_DUPLICATES Qt5Network_DEFINITIONS)
+ list(REMOVE_DUPLICATES Qt5Network_COMPILE_DEFINITIONS)
+ list(REMOVE_DUPLICATES Qt5Network_EXECUTABLE_COMPILE_FLAGS)
+
+ set(_Qt5Network_LIB_DEPENDENCIES "Qt5::Core")
+
+
+ add_library(Qt5::Network SHARED IMPORTED)
+
+ set_property(TARGET Qt5::Network PROPERTY
+ INTERFACE_INCLUDE_DIRECTORIES ${_Qt5Network_OWN_INCLUDE_DIRS})
+ set_property(TARGET Qt5::Network PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS QT_NETWORK_LIB)
+
+ set_property(TARGET Qt5::Network PROPERTY INTERFACE_QT_ENABLED_FEATURES networkinterface;bearermanagement;dnslookup;dtls;ftp;http;localserver;networkdiskcache;networkproxy;socks5;ssl;udpsocket)
+ set_property(TARGET Qt5::Network PROPERTY INTERFACE_QT_DISABLED_FEATURES opensslv11;sctp)
+
+ set(_Qt5Network_PRIVATE_DIRS_EXIST TRUE)
+ foreach (_Qt5Network_PRIVATE_DIR ${Qt5Network_OWN_PRIVATE_INCLUDE_DIRS})
+ if (NOT EXISTS ${_Qt5Network_PRIVATE_DIR})
+ set(_Qt5Network_PRIVATE_DIRS_EXIST FALSE)
+ endif()
+ endforeach()
+
+ if (_Qt5Network_PRIVATE_DIRS_EXIST)
+ add_library(Qt5::NetworkPrivate INTERFACE IMPORTED)
+ set_property(TARGET Qt5::NetworkPrivate PROPERTY
+ INTERFACE_INCLUDE_DIRECTORIES ${Qt5Network_OWN_PRIVATE_INCLUDE_DIRS}
+ )
+ set(_Qt5Network_PRIVATEDEPS)
+ foreach(dep ${_Qt5Network_LIB_DEPENDENCIES})
+ if (TARGET ${dep}Private)
+ list(APPEND _Qt5Network_PRIVATEDEPS ${dep}Private)
+ endif()
+ endforeach()
+ set_property(TARGET Qt5::NetworkPrivate PROPERTY
+ INTERFACE_LINK_LIBRARIES Qt5::Network ${_Qt5Network_PRIVATEDEPS}
+ )
+ endif()
+
+ _populate_Network_target_properties(RELEASE "Qt5Network.dll" "Qt5Network.lib" )
+
+
+ if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Network_target_properties(DEBUG "Qt5Networkd.dll" "Qt5Networkd.lib" )
+ endif()
+
+
+
+ file(GLOB pluginTargets "${CMAKE_CURRENT_LIST_DIR}/Qt5Network_*Plugin.cmake")
+
+ macro(_populate_Network_plugin_properties Plugin Configuration PLUGIN_LOCATION)
+ set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+
+ set(imported_location "${_qt5Network_install_prefix}/plugins/${PLUGIN_LOCATION}")
+ _qt5_Network_check_file_exists(${imported_location})
+ set_target_properties(Qt5::${Plugin} PROPERTIES
+ "IMPORTED_LOCATION_${Configuration}" ${imported_location}
+ )
+ endmacro()
+
+ if (pluginTargets)
+ foreach(pluginTarget ${pluginTargets})
+ include(${pluginTarget})
+ endforeach()
+ endif()
+
+
+
+
+_qt5_Network_check_file_exists("${CMAKE_CURRENT_LIST_DIR}/Qt5NetworkConfigVersion.cmake")
+
+endif()
diff --git a/cmake/Qt5Network/Qt5NetworkConfigVersion.cmake b/cmake/Qt5Network/Qt5NetworkConfigVersion.cmake
new file mode 100644
index 0000000..66543cc
--- /dev/null
+++ b/cmake/Qt5Network/Qt5NetworkConfigVersion.cmake
@@ -0,0 +1,11 @@
+
+set(PACKAGE_VERSION 5.12.5)
+
+if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+endif()
diff --git a/cmake/Qt5Network/Qt5Network_QGenericEnginePlugin.cmake b/cmake/Qt5Network/Qt5Network_QGenericEnginePlugin.cmake
new file mode 100644
index 0000000..85ea907
--- /dev/null
+++ b/cmake/Qt5Network/Qt5Network_QGenericEnginePlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QGenericEnginePlugin MODULE IMPORTED)
+
+_populate_Network_plugin_properties(QGenericEnginePlugin RELEASE "bearer/qgenericbearer.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Network_plugin_properties(QGenericEnginePlugin DEBUG "bearer/qgenericbearerd.dll")
+endif()
+
+list(APPEND Qt5Network_PLUGINS Qt5::QGenericEnginePlugin)
diff --git a/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake b/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake
new file mode 100644
index 0000000..8e999d2
--- /dev/null
+++ b/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake
@@ -0,0 +1,191 @@
+
+if (CMAKE_VERSION VERSION_LESS 3.1.0)
+ message(FATAL_ERROR "Qt 5 Widgets module requires at least CMake version 3.1.0")
+endif()
+
+get_filename_component(_qt5Widgets_install_prefix "$ENV{MAYA_LOCATION}" ABSOLUTE)
+
+# For backwards compatibility only. Use Qt5Widgets_VERSION instead.
+set(Qt5Widgets_VERSION_STRING 5.12.5)
+
+set(Qt5Widgets_LIBRARIES Qt5::Widgets)
+
+macro(_qt5_Widgets_check_file_exists file)
+ if(NOT EXISTS "${file}" )
+ message(FATAL_ERROR "The imported target \"Qt5::Widgets\" references the file
+ \"${file}\"
+but this file does not exist. Possible reasons include:
+* The file was deleted, renamed, or moved to another location.
+* An install or uninstall procedure did not complete successfully.
+* The installation package was faulty and contained
+ \"${CMAKE_CURRENT_LIST_FILE}\"
+but not all the files it references.
+")
+ endif()
+endmacro()
+
+macro(_populate_Widgets_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
+ set_property(TARGET Qt5::Widgets APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+
+ set(imported_location "${_qt5Widgets_install_prefix}/bin/${LIB_LOCATION}")
+ _qt5_Widgets_check_file_exists(${imported_location})
+ set_target_properties(Qt5::Widgets PROPERTIES
+ "INTERFACE_LINK_LIBRARIES" "${_Qt5Widgets_LIB_DEPENDENCIES}"
+ "IMPORTED_LOCATION_${Configuration}" ${imported_location}
+ # For backward compatibility with CMake < 2.8.12
+ "IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}" "${_Qt5Widgets_LIB_DEPENDENCIES}"
+ )
+
+ set(imported_implib "${_qt5Widgets_install_prefix}/lib/${IMPLIB_LOCATION}")
+ _qt5_Widgets_check_file_exists(${imported_implib})
+ if(NOT "${IMPLIB_LOCATION}" STREQUAL "")
+ set_target_properties(Qt5::Widgets PROPERTIES
+ "IMPORTED_IMPLIB_${Configuration}" ${imported_implib}
+ )
+ endif()
+endmacro()
+
+if (NOT TARGET Qt5::Widgets)
+
+ set(_Qt5Widgets_OWN_INCLUDE_DIRS "${_qt5Widgets_install_prefix}/include/" "${_qt5Widgets_install_prefix}/include/QtWidgets")
+ set(Qt5Widgets_PRIVATE_INCLUDE_DIRS
+ "${_qt5Widgets_install_prefix}/include/QtWidgets/5.12.5"
+ "${_qt5Widgets_install_prefix}/include/QtWidgets/5.12.5/QtWidgets"
+ )
+
+ foreach(_dir ${_Qt5Widgets_OWN_INCLUDE_DIRS})
+ _qt5_Widgets_check_file_exists(${_dir})
+ endforeach()
+
+ # Only check existence of private includes if the Private component is
+ # specified.
+ list(FIND Qt5Widgets_FIND_COMPONENTS Private _check_private)
+ if (NOT _check_private STREQUAL -1)
+ foreach(_dir ${Qt5Widgets_PRIVATE_INCLUDE_DIRS})
+ _qt5_Widgets_check_file_exists(${_dir})
+ endforeach()
+ endif()
+
+ set(Qt5Widgets_INCLUDE_DIRS ${_Qt5Widgets_OWN_INCLUDE_DIRS})
+
+ set(Qt5Widgets_DEFINITIONS -DQT_WIDGETS_LIB)
+ set(Qt5Widgets_COMPILE_DEFINITIONS QT_WIDGETS_LIB)
+ set(_Qt5Widgets_MODULE_DEPENDENCIES "Gui;Core")
+
+
+ set(Qt5Widgets_OWN_PRIVATE_INCLUDE_DIRS ${Qt5Widgets_PRIVATE_INCLUDE_DIRS})
+
+ set(_Qt5Widgets_FIND_DEPENDENCIES_REQUIRED)
+ if (Qt5Widgets_FIND_REQUIRED)
+ set(_Qt5Widgets_FIND_DEPENDENCIES_REQUIRED REQUIRED)
+ endif()
+ set(_Qt5Widgets_FIND_DEPENDENCIES_QUIET)
+ if (Qt5Widgets_FIND_QUIETLY)
+ set(_Qt5Widgets_DEPENDENCIES_FIND_QUIET QUIET)
+ endif()
+ set(_Qt5Widgets_FIND_VERSION_EXACT)
+ if (Qt5Widgets_FIND_VERSION_EXACT)
+ set(_Qt5Widgets_FIND_VERSION_EXACT EXACT)
+ endif()
+
+ set(Qt5Widgets_EXECUTABLE_COMPILE_FLAGS "")
+
+ foreach(_module_dep ${_Qt5Widgets_MODULE_DEPENDENCIES})
+ if (NOT Qt5${_module_dep}_FOUND)
+ find_package(Qt5${_module_dep}
+ 5.12.5 ${_Qt5Widgets_FIND_VERSION_EXACT}
+ ${_Qt5Widgets_DEPENDENCIES_FIND_QUIET}
+ ${_Qt5Widgets_FIND_DEPENDENCIES_REQUIRED}
+ PATHS "${CMAKE_CURRENT_LIST_DIR}/.." NO_DEFAULT_PATH
+ )
+ endif()
+
+ if (NOT Qt5${_module_dep}_FOUND)
+ set(Qt5Widgets_FOUND False)
+ return()
+ endif()
+
+ list(APPEND Qt5Widgets_INCLUDE_DIRS "${Qt5${_module_dep}_INCLUDE_DIRS}")
+ list(APPEND Qt5Widgets_PRIVATE_INCLUDE_DIRS "${Qt5${_module_dep}_PRIVATE_INCLUDE_DIRS}")
+ list(APPEND Qt5Widgets_DEFINITIONS ${Qt5${_module_dep}_DEFINITIONS})
+ list(APPEND Qt5Widgets_COMPILE_DEFINITIONS ${Qt5${_module_dep}_COMPILE_DEFINITIONS})
+ list(APPEND Qt5Widgets_EXECUTABLE_COMPILE_FLAGS ${Qt5${_module_dep}_EXECUTABLE_COMPILE_FLAGS})
+ endforeach()
+ list(REMOVE_DUPLICATES Qt5Widgets_INCLUDE_DIRS)
+ list(REMOVE_DUPLICATES Qt5Widgets_PRIVATE_INCLUDE_DIRS)
+ list(REMOVE_DUPLICATES Qt5Widgets_DEFINITIONS)
+ list(REMOVE_DUPLICATES Qt5Widgets_COMPILE_DEFINITIONS)
+ list(REMOVE_DUPLICATES Qt5Widgets_EXECUTABLE_COMPILE_FLAGS)
+
+ set(_Qt5Widgets_LIB_DEPENDENCIES "Qt5::Gui;Qt5::Core")
+
+
+ add_library(Qt5::Widgets SHARED IMPORTED)
+
+ set_property(TARGET Qt5::Widgets PROPERTY
+ INTERFACE_INCLUDE_DIRECTORIES ${_Qt5Widgets_OWN_INCLUDE_DIRS})
+ set_property(TARGET Qt5::Widgets PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS QT_WIDGETS_LIB)
+
+ set_property(TARGET Qt5::Widgets PROPERTY INTERFACE_QT_ENABLED_FEATURES abstractbutton;abstractslider;groupbox;buttongroup;label;pushbutton;menu;lineedit;spinbox;slider;scrollbar;scrollarea;itemviews;tableview;toolbutton;calendarwidget;checkbox;dialog;dialogbuttonbox;colordialog;listview;columnview;combobox;commandlinkbutton;completer;contextmenu;datawidgetmapper;datetimeedit;dial;filesystemmodel;dirmodel;resizehandler;mainwindow;dockwidget;textedit;errormessage;splitter;stackedwidget;treeview;filedialog;fontcombobox;fontdialog;formlayout;fscompleter;graphicsview;graphicseffect;inputdialog;keysequenceedit;lcdnumber;listwidget;mdiarea;menubar;messagebox;paint_debug;progressbar;progressdialog;radiobutton;rubberband;scroller;sizegrip;splashscreen;statusbar;statustip;style-stylesheet;syntaxhighlighter;tabbar;tablewidget;tabwidget;textbrowser;toolbar;toolbox;tooltip;treewidget;undocommand;undostack;undogroup;undoview;wizard)
+ set_property(TARGET Qt5::Widgets PROPERTY INTERFACE_QT_DISABLED_FEATURES )
+
+ set(_Qt5Widgets_PRIVATE_DIRS_EXIST TRUE)
+ foreach (_Qt5Widgets_PRIVATE_DIR ${Qt5Widgets_OWN_PRIVATE_INCLUDE_DIRS})
+ if (NOT EXISTS ${_Qt5Widgets_PRIVATE_DIR})
+ set(_Qt5Widgets_PRIVATE_DIRS_EXIST FALSE)
+ endif()
+ endforeach()
+
+ if (_Qt5Widgets_PRIVATE_DIRS_EXIST)
+ add_library(Qt5::WidgetsPrivate INTERFACE IMPORTED)
+ set_property(TARGET Qt5::WidgetsPrivate PROPERTY
+ INTERFACE_INCLUDE_DIRECTORIES ${Qt5Widgets_OWN_PRIVATE_INCLUDE_DIRS}
+ )
+ set(_Qt5Widgets_PRIVATEDEPS)
+ foreach(dep ${_Qt5Widgets_LIB_DEPENDENCIES})
+ if (TARGET ${dep}Private)
+ list(APPEND _Qt5Widgets_PRIVATEDEPS ${dep}Private)
+ endif()
+ endforeach()
+ set_property(TARGET Qt5::WidgetsPrivate PROPERTY
+ INTERFACE_LINK_LIBRARIES Qt5::Widgets ${_Qt5Widgets_PRIVATEDEPS}
+ )
+ endif()
+
+ _populate_Widgets_target_properties(RELEASE "Qt5Widgets.dll" "Qt5Widgets.lib" )
+
+
+
+ if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Widgets_target_properties(DEBUG "Qt5Widgetsd.dll" "Qt5Widgetsd.lib" )
+ endif()
+
+
+
+ file(GLOB pluginTargets "${CMAKE_CURRENT_LIST_DIR}/Qt5Widgets_*Plugin.cmake")
+
+ macro(_populate_Widgets_plugin_properties Plugin Configuration PLUGIN_LOCATION)
+ set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+
+ set(imported_location "${_qt5Widgets_install_prefix}/plugins/${PLUGIN_LOCATION}")
+ _qt5_Widgets_check_file_exists(${imported_location})
+ set_target_properties(Qt5::${Plugin} PROPERTIES
+ "IMPORTED_LOCATION_${Configuration}" ${imported_location}
+ )
+ endmacro()
+
+ if (pluginTargets)
+ foreach(pluginTarget ${pluginTargets})
+ include(${pluginTarget})
+ endforeach()
+ endif()
+
+
+ include("${CMAKE_CURRENT_LIST_DIR}/Qt5WidgetsConfigExtras.cmake")
+
+ include("${CMAKE_CURRENT_LIST_DIR}/Qt5WidgetsMacros.cmake")
+
+_qt5_Widgets_check_file_exists("${CMAKE_CURRENT_LIST_DIR}/Qt5WidgetsConfigVersion.cmake")
+
+endif()
diff --git a/cmake/Qt5Widgets/Qt5WidgetsConfigExtras.cmake b/cmake/Qt5Widgets/Qt5WidgetsConfigExtras.cmake
new file mode 100644
index 0000000..5127239
--- /dev/null
+++ b/cmake/Qt5Widgets/Qt5WidgetsConfigExtras.cmake
@@ -0,0 +1,15 @@
+
+if (NOT TARGET Qt5::uic)
+ add_executable(Qt5::uic IMPORTED)
+
+ set(imported_location "${_qt5Widgets_install_prefix}/bin/uic.exe")
+ _qt5_Widgets_check_file_exists(${imported_location})
+
+ set_target_properties(Qt5::uic PROPERTIES
+ IMPORTED_LOCATION ${imported_location}
+ )
+endif()
+
+include("${CMAKE_CURRENT_LIST_DIR}/Qt5Widgets_AccessibleFactory.cmake" OPTIONAL)
+
+set(Qt5Widgets_UIC_EXECUTABLE Qt5::uic)
diff --git a/cmake/Qt5Widgets/Qt5WidgetsConfigVersion.cmake b/cmake/Qt5Widgets/Qt5WidgetsConfigVersion.cmake
new file mode 100644
index 0000000..66543cc
--- /dev/null
+++ b/cmake/Qt5Widgets/Qt5WidgetsConfigVersion.cmake
@@ -0,0 +1,11 @@
+
+set(PACKAGE_VERSION 5.12.5)
+
+if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
+ set(PACKAGE_VERSION_COMPATIBLE FALSE)
+else()
+ set(PACKAGE_VERSION_COMPATIBLE TRUE)
+ if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
+ set(PACKAGE_VERSION_EXACT TRUE)
+ endif()
+endif()
diff --git a/cmake/Qt5Widgets/Qt5WidgetsMacros.cmake b/cmake/Qt5Widgets/Qt5WidgetsMacros.cmake
new file mode 100644
index 0000000..737371a
--- /dev/null
+++ b/cmake/Qt5Widgets/Qt5WidgetsMacros.cmake
@@ -0,0 +1,68 @@
+#=============================================================================
+# Copyright 2005-2011 Kitware, Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# * Neither the name of Kitware, Inc. nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "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 COPYRIGHT
+# HOLDER OR CONTRIBUTORS 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.
+#=============================================================================
+
+######################################
+#
+# Macros for building Qt files
+#
+######################################
+
+include(CMakeParseArguments)
+
+
+# qt5_wrap_ui(outfiles inputfile ... )
+
+function(QT5_WRAP_UI outfiles )
+ set(options)
+ set(oneValueArgs)
+ set(multiValueArgs OPTIONS)
+
+ cmake_parse_arguments(_WRAP_UI "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ set(ui_files ${_WRAP_UI_UNPARSED_ARGUMENTS})
+ set(ui_options ${_WRAP_UI_OPTIONS})
+
+ foreach(it ${ui_files})
+ get_filename_component(outfile ${it} NAME_WE)
+ get_filename_component(infile ${it} ABSOLUTE)
+ set(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h)
+ add_custom_command(OUTPUT ${outfile}
+ COMMAND ${Qt5Widgets_UIC_EXECUTABLE}
+ ARGS ${ui_options} -o ${outfile} ${infile}
+ MAIN_DEPENDENCY ${infile} VERBATIM)
+ set_source_files_properties(${infile} PROPERTIES SKIP_AUTOUIC ON)
+ set_source_files_properties(${outfile} PROPERTIES SKIP_AUTOMOC ON)
+ set_source_files_properties(${outfile} PROPERTIES SKIP_AUTOUIC ON)
+ list(APPEND ${outfiles} ${outfile})
+ endforeach()
+ set(${outfiles} ${${outfiles}} PARENT_SCOPE)
+endfunction()
diff --git a/cmake/Qt5Widgets/Qt5Widgets_QWindowsVistaStylePlugin.cmake b/cmake/Qt5Widgets/Qt5Widgets_QWindowsVistaStylePlugin.cmake
new file mode 100644
index 0000000..03c9b44
--- /dev/null
+++ b/cmake/Qt5Widgets/Qt5Widgets_QWindowsVistaStylePlugin.cmake
@@ -0,0 +1,9 @@
+
+add_library(Qt5::QWindowsVistaStylePlugin MODULE IMPORTED)
+
+_populate_Widgets_plugin_properties(QWindowsVistaStylePlugin RELEASE "styles/qwindowsvistastyle.dll")
+if(DEFINED MAYA_QT_NDEBUG)
+ _populate_Widgets_plugin_properties(QWindowsVistaStylePlugin DEBUG "styles/qwindowsvistastyled.dll")
+endif()
+
+list(APPEND Qt5Widgets_PLUGINS Qt5::QWindowsVistaStylePlugin)
diff --git a/maya_qtconfig b/maya_qtconfig
deleted file mode 100644
index 246835b..0000000
--- a/maya_qtconfig
+++ /dev/null
@@ -1,29 +0,0 @@
-TEMPLATE = lib
-
-# Maya doesn't supply debug versions of the Qt libs so we build plugins
-# in release mode.
-#
-# If you want to build a plugin in debug mode edit the generated
-# .mak.Debug file (e.g. qtForms.mak.Debug), and in the LIBS setting remove
-# the final 'd' from all of the Qt library names. For example you would change
-# 'QtGuid4.lib' to QtGui.lib'. You can then build your plugin by specifying
-# 'debug' on the NMAKE command line. E.g:
-#
-# NMAKE /f qtForms.mak debug
-#
-# If you get a warning message about a conflict with defaultlib 'MSVCRT', just
-# ignore it.
-#
-CONFIG += qt warn_on release plugin
-
-# MAYA LIBS
-LIBS += -L"$$(DEVKIT_LOCATION)\lib" -lOpenMaya -lOpenMayaUI -lFoundation
-
-
-DEFINES += NDEBUG _WINDOWS NT_PLUGIN
-INCLUDEPATH += . ../../include
-QMAKE_LFLAGS = /SUBSYSTEM:WINDOWS
-_CFLAGS = /FD /GS
-QMAKE_CFLAGS += $${_CFLAGS}
-QMAKE_CXXFLAGS += $${_CFLAGS}
-TARGET_EXT = .mll
diff --git a/maya_qtconfig_linux b/maya_qtconfig_linux
deleted file mode 100644
index 8811340..0000000
--- a/maya_qtconfig_linux
+++ /dev/null
@@ -1,27 +0,0 @@
-TEMPLATE = lib
-CONFIG += qt warn_on plugin
-
-LIBS += -L$$(DEVKIT_LOCATION)/lib -lOpenMaya -lOpenMayaUI -lFoundation -lOpenMayaAnim
-DEFINES += UNIX _BOOL LINUX FUNCPROTO \
- _GNU_SOURCE LINUX_64
-INCLUDEPATH += .. $$(DEVKIT_LOCATION)/include
-TARGET_EXT = so
-QMAKE_CC = gcc
-QMAKE_CXX = g++
-
-_CFLAGS_WARN_ON = -Wno-deprecated -Wno-multichar -Wno-comment \
- -Wno-sign-compare -Wno-reorder
-QMAKE_CFLAGS_WARN_ON += $${_CFLAGS_WARN_ON}
-QMAKE_CXXFLAGS_WARN_ON += $${_CFLAGS_WARN_ON}
-
-_CFLAGS = -fno-strict-aliasing \
- -funsigned-char -fno-gnu-keywords
-QMAKE_CFLAGS += $${_CFLAGS}
-QMAKE_CXXFLAGS += $${_CFLAGS}
-
-_CFLAGS_THREAD = -pthread
-QMAKE_CFLAGS_THREAD += $${_CFLAGS_THREAD}
-QMAKE_CXXFLAGS_THREAD += $${_CFLAGS_THREAD}
-
-QMAKE_LFLAGS_SHLIB = -Wl,-Bsymbolic
-QMAKE_LINK = $${QMAKE_CXX}
diff --git a/maya_qtconfig_macos b/maya_qtconfig_macos
deleted file mode 100644
index 99b5216..0000000
--- a/maya_qtconfig_macos
+++ /dev/null
@@ -1,33 +0,0 @@
-TEMPLATE = lib
-CONFIG -= debug
-CONFIG += qt warn_on plugin
-
-
-DEFINES += CC_GNU_ OSMac_ OSMac_ _LANGUAGE_C_PLUS_PLUS
-INCLUDEPATH += .. "$${DEVKIT_LOCATION}/include"
-TARGET_EXT = bundle
-QMAKE_EXTENSION_SHLIB = bundle
-
-QMAKE_CC = clang
-QMAKE_CXX = clang++
-
-_CFLAGS = -O3
-QMAKE_CFLAGS += $${_CFLAGS}
-
-QMAKE_CXXFLAGS += $${_CFLAGS} -stdlib=libc++ $(WARNFLAGS) $(ERROR_FLAGS) \
- -fno-gnu-keywords -fpascal-strings
-
-_DYNLIB_LOCATION = $$(DEVKIT_LOCATION)/lib
-
-LIBS += -L"$${_DYNLIB_LOCATION}" -lOpenMaya -lOpenMayaUI -lFoundation -lOpenMayaRender -lOpenMayaAnim \
- -framework System -framework CoreServices \
- -framework SystemConfiguration \
- -framework Carbon -framework Cocoa \
- -framework ApplicationServices \
- -framework IOKit
-
-QMAKE_LFLAGS += -stdlib=libc++ -fno-gnu-keywords -fpascal-strings -dynamiclib
-
-QMAKE_LINK = $${QMAKE_CXX}
-
-MAKEFILE = $${TARGET}.mak
diff --git a/msvc_make.bat b/msvc_make.bat
deleted file mode 100644
index 20d6a5d..0000000
--- a/msvc_make.bat
+++ /dev/null
@@ -1,2 +0,0 @@
-chcp 65001
-"C:\Qt\Tools\QtCreator\bin\jom.exe" %*
\ No newline at end of file
diff --git a/resources.qrc b/resources.qrc
index 30f68a3..73d5178 100644
--- a/resources.qrc
+++ b/resources.qrc
@@ -25,5 +25,7 @@
resources/deleteMappingAttribute.mel
resources/createFaceAttributes.mel
resources/fetchBlendShapes.mel
+ resources/icon-glove-32.png
+ resources/icon-glove-r-32.png
diff --git a/resources/icon-glove-32.png b/resources/icon-glove-32.png
new file mode 100644
index 0000000..1211a16
Binary files /dev/null and b/resources/icon-glove-32.png differ
diff --git a/resources/icon-glove-r-32.png b/resources/icon-glove-r-32.png
new file mode 100644
index 0000000..207456a
Binary files /dev/null and b/resources/icon-glove-r-32.png differ
diff --git a/rslm.pro b/rslm.pro
deleted file mode 100644
index 7f64527..0000000
--- a/rslm.pro
+++ /dev/null
@@ -1,73 +0,0 @@
-QT += core gui network
-
-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
-
-TARGET = rslm
-
-win32 {
- include(maya_qtconfig)
-}
-macx {
- include(maya_qtconfig_macos)
-}
-unix:!macx {
- include(maya_qtconfig_linux)
-}
-
-CONFIG += c++11
-
-# The following define makes your compiler emit warnings if you use
-# any Qt feature that has been marked deprecated (the exact warnings
-# depend on your compiler). Please consult the documentation of the
-# deprecated API in order to know how to port your code away from it.
-DEFINES += QT_DEPRECATED_WARNINGS
-
-# You can also make your code fail to compile if it uses deprecated APIs.
-# In order to do so, uncomment the following line.
-# You can also select to disable deprecated APIs only up to a certain version of Qt.
-#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
-
-SOURCES += \
- src/animations.cpp \
- src/main.cpp \
- src/mapping.cpp \
- src/receiverworker.cpp \
- src/recorder.cpp \
- src/ui/button.cpp \
- src/ui/categoryheader.cpp \
- src/ui/commandapicontent.cpp \
- src/ui/infocontent.cpp \
- src/ui/receivercontent.cpp \
- src/ui/recordbutton.cpp \
- src/ui/rootwidget.cpp \
- src/ui/updatercontent.cpp \
- src/utils.cpp
-
-HEADERS += \
- src/animations.h \
- src/constants.h \
- src/mapping.h \
- src/receiverworker.h \
- src/recorder.h \
- src/singleton.h \
- src/ui/button.h \
- src/ui/categoryheader.h \
- src/ui/commandapicontent.h \
- src/ui/infocontent.h \
- src/ui/receivercontent.h \
- src/ui/recordbutton.h \
- src/ui/rootwidget.h \
- src/ui/updatercontent.h \
- src/utils.h
-
-INCLUDEPATH += "$$PWD/src"
-
-# Default rules for deployment.
-qnx: target.path = /tmp/$${TARGET}/bin
-else: unix:!android: target.path = /opt/$${TARGET}/bin
-!isEmpty(target.path): INSTALLS += target
-
-DISTFILES +=
-
-RESOURCES += \
- resources.qrc
diff --git a/src/animations.cpp b/src/animations.cpp
index c8f7ff4..86600f2 100644
--- a/src/animations.cpp
+++ b/src/animations.cpp
@@ -26,42 +26,42 @@ _Animations::_Animations()
}
-void _Animations::putProps(const QHash &props)
+void _Animations::putProps(const QHash &props)
{
propsMap = props;
}
-QHash &_Animations::getProps()
+QHash &_Animations::getProps()
{
return propsMap;
}
-void _Animations::putTrackers(const QHash &trackers)
+void _Animations::putTrackers(const QHash &trackers)
{
trackersMap = trackers;
}
-QHash &_Animations::getTrackers()
+QHash &_Animations::getTrackers()
{
return trackersMap;
}
-void _Animations::putActors(const QHash &actors)
+void _Animations::putActors(const QHash &actors)
{
actorsMap = actors;
}
-QHash &_Animations::getActors()
+QHash &_Animations::getActors()
{
return actorsMap;
}
-void _Animations::putFaces(const QHash &faces)
+void _Animations::putFaces(const QHash &faces)
{
facesMap = faces;
}
-QHash &_Animations::getFaces()
+QHash &_Animations::getFaces()
{
return facesMap;
}
@@ -77,7 +77,8 @@ void _Animations::applyAnimationsToMappedObjects()
for(const QString &rsId : allIds) {
auto it = objectMapping.find(rsId);
// std::cout << "cnt: " << objectMapping.count(rsId) << std::endl;
- if(it != objectMapping.end()) {
+ if(it != objectMapping.end())
+ {
while(it != objectMapping.end())
{
MString objectPathString = it.value();
@@ -102,19 +103,19 @@ void _Animations::applyAnimationsToMappedObjects()
if(propsMap.contains(rsId)) {
// apply props animations
- QJsonObject propObject = propsMap[rsId];
+ FPropSnapshot propObject = propsMap[rsId];
animatePropOrTracker(propObject, dagPath);
// printf("prop animated %s - %s\n", dagPath.partialPathName().asChar(), rsId.toStdString().c_str());
} else if(trackersMap.contains(rsId)) {
// apply trackers animations
- QJsonObject trackerObject = trackersMap[rsId];
+ FTrackerSnapshot trackerObject = trackersMap[rsId];
animatePropOrTracker(trackerObject, dagPath);
} else if(actorsMap.contains(rsId)) {
// apply actor animations
- QJsonObject actorObject = actorsMap[rsId];
+ FActorSnapshot actorObject = actorsMap[rsId];
// Hips joint mapped implicitly for user
// BFS starting from Hips and apply data to each joints
@@ -148,9 +149,8 @@ void _Animations::applyAnimationsToMappedObjects()
// find rs bone based on joint name
if(mayaToRsBoneNames.contains(mayaBoneName)) {
QString rsBoneName = mayaToRsBoneNames[mayaBoneName];
- QJsonObject rsBoneObject = actorObject[rsBoneName].toObject();
- QJsonObject rsBonePosObject = rsBoneObject["position"].toObject();
- QJsonObject rsBoneQuatObject = rsBoneObject["rotation"].toObject();
+ QVector3D rsBonePos = actorObject.body[rsBoneName].position;
+ QQuaternion rsBoneQuat = actorObject.body[rsBoneName].rotation;
MQuaternion studioTposeRot = MQuaternion::identity;
if(studioTPose.contains(rsBoneName))
@@ -160,16 +160,16 @@ void _Animations::applyAnimationsToMappedObjects()
}
// convert rs transform to maya transform
- MVector boneLocation = Utils::rsToMaya(MVector(rsBonePosObject["x"].toDouble(),
- rsBonePosObject["y"].toDouble(),
- rsBonePosObject["z"].toDouble()) * sceneScale());
+ MVector boneLocation = Utils::rsToMaya(MVector(rsBonePos.x(),
+ rsBonePos.y(),
+ rsBonePos.z()) * sceneScale());
boneLocation = boneLocation.rotateBy(referenceQuat);
boneLocation += referenceOffset;
// convert studio rotation into maya space
- MQuaternion boneQuat = Utils::rsToMaya(MQuaternion(rsBoneQuatObject["x"].toDouble(),
- rsBoneQuatObject["y"].toDouble(),
- rsBoneQuatObject["z"].toDouble(),
- rsBoneQuatObject["w"].toDouble()));
+ MQuaternion boneQuat = Utils::rsToMaya(MQuaternion(rsBoneQuat.x(),
+ rsBoneQuat.y(),
+ rsBoneQuat.z(),
+ rsBoneQuat.scalar()));
MFnIkJoint fnTr(jointPath);
fnTr.setTranslation(boneLocation, MSpace::kWorld);
@@ -215,7 +215,6 @@ void _Animations::applyAnimationsToMappedObjects()
}
QStringList faceIds = faceObjectMapping.keys();
- printf("Num face objects: %d\n", faceObjectMapping.values().count());
for(QString &rsId : faceIds) {
auto faceIt = faceObjectMapping.find(rsId);
if(faceIt != faceObjectMapping.end()) {
@@ -234,7 +233,7 @@ void _Animations::applyAnimationsToMappedObjects()
const QStringList faceShapeNames = Mapping::get()->getFaceShapeNames();
// get input data for this face
- QJsonObject faceObject = facesMap[rsId];
+ FFaceSnapshot faceObject = facesMap[rsId];
// access mapped blendshape node
MFnBlendShapeDeformer faceFn(object);
@@ -246,7 +245,7 @@ void _Animations::applyAnimationsToMappedObjects()
// for each studio shape name set weight value
for(QString studioShapeName : faceShapeNames) {
- double weight = faceObject[studioShapeName].toDouble() * 0.01;
+ double weight = faceObject.shapes[studioShapeName] * 0.01;
MString bsFieldName = BLEND_SHAPE_PREFIX + studioShapeName.toStdString().c_str();
MStatus fieldPlugStatus;
@@ -299,23 +298,16 @@ void _Animations::reset()
facesMap.clear();
}
-void _Animations::animatePropOrTracker(QJsonObject obj, const MDagPath &dagPath)
+void _Animations::animatePropOrTracker(FPropSnapshot obj, const MDagPath &dagPath)
{
-// bool isLive = obj["isLive"].toBool();
+ MVector rsPosition(obj.position.x(),
+ obj.position.y(),
+ obj.position.z());
- // do nothing if not live
-// if(!isLive) return;
-
- QJsonObject postitionObject = obj["position"].toObject();
- QJsonObject rotationObject = obj["rotation"].toObject();
- MVector rsPosition(postitionObject["x"].toDouble(),
- postitionObject["y"].toDouble(),
- postitionObject["z"].toDouble());
-
- MQuaternion rsRotation(rotationObject["x"].toDouble(),
- rotationObject["y"].toDouble(),
- rotationObject["z"].toDouble(),
- rotationObject["w"].toDouble());
+ MQuaternion rsRotation(obj.rotation.x(),
+ obj.rotation.y(),
+ obj.rotation.z(),
+ obj.rotation.scalar());
// convert RS transform to Maya transform
MVector mayaPosition = Utils::rsToMaya(rsPosition) * Animations::get()->sceneScale();
@@ -342,6 +334,14 @@ void _Animations::animatePropOrTracker(QJsonObject obj, const MDagPath &dagPath)
}
}
+void _Animations::animatePropOrTracker(FTrackerSnapshot obj, const MDagPath &dagPath)
+{
+ FPropSnapshot pSnapshot;
+ pSnapshot.position = obj.position;
+ pSnapshot.rotation = obj.rotation;
+ animatePropOrTracker(pSnapshot, dagPath);
+}
+
diff --git a/src/animations.h b/src/animations.h
index ce8069a..7bfe2ef 100644
--- a/src/animations.h
+++ b/src/animations.h
@@ -8,20 +8,22 @@
#include
#include
+#include "framework.h"
+
class _Animations
{
public:
_Animations();
- void putProps(const QHash&);
- QHash &getProps();
- void putTrackers(const QHash&);
- QHash &getTrackers();
- void putActors(const QHash&);
- QHash &getActors();
- void putFaces(const QHash&);
- QHash &getFaces();
+ void putProps(const QHash&);
+ QHash &getProps();
+ void putTrackers(const QHash&);
+ QHash &getTrackers();
+ void putActors(const QHash&);
+ QHash &getActors();
+ void putFaces(const QHash&);
+ QHash &getFaces();
void applyAnimationsToMappedObjects();
@@ -36,16 +38,17 @@ class _Animations
void reset();
private:
float _sceneScale = 1.0;
- // prop id - json
- QHash propsMap;
- // tracker name - json
- QHash trackersMap;
- // actor id - json
- QHash actorsMap;
- // faceId - json
- QHash facesMap;
-
- void animatePropOrTracker(QJsonObject obj, const MDagPath &dagPath);
+ // prop id - snapshot
+ QHash propsMap;
+ // tracker name - snapshot
+ QHash trackersMap;
+ // actor id - snapshot
+ QHash actorsMap;
+ // faceId - snapshot
+ QHash facesMap;
+
+ void animatePropOrTracker(FPropSnapshot obj, const MDagPath &dagPath);
+ void animatePropOrTracker(FTrackerSnapshot obj, const MDagPath &dagPath);
bool recordingEnabled = false;
std::function stopReceiverCallback = [](){};
diff --git a/src/constants.h b/src/constants.h
index 8ae1397..897ce15 100644
--- a/src/constants.h
+++ b/src/constants.h
@@ -10,9 +10,9 @@ static const int MINIMUM_WINDOW_HEIGHT = 300;
static const int DEFAULT_RS_PORT = 14043;
static const int DEFAULT_RS_API_PORT = 14053;
-static const int VERSION_MAJOR = 0;
-static const int VERSION_MINOR = 3;
-static const int VERSION_PATCH = 0;
+static const int VERSION_MAJOR = 1;
+static const int VERSION_MINOR = 0;
+static const int VERSION_PATCH = 1;
static const int RECEIVER_FPS = 30;
diff --git a/src/framework.cpp b/src/framework.cpp
new file mode 100644
index 0000000..050e525
--- /dev/null
+++ b/src/framework.cpp
@@ -0,0 +1 @@
+#include "framework.h"
diff --git a/src/framework.h b/src/framework.h
new file mode 100644
index 0000000..a4e2542
--- /dev/null
+++ b/src/framework.h
@@ -0,0 +1,84 @@
+#pragma once
+
+#include
+#include
+#include
+#include
+#include
+#include