-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
112 lines (104 loc) · 3.39 KB
/
Copy pathCMakeLists.txt
File metadata and controls
112 lines (104 loc) · 3.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# SPDX-License-Identifier: LGPL-2.1-or-later
# SPDX-FileNotice: Part of the AddonManager.
# The Addon Manager requires the defusedxml package at runtime to safely parse addon metadata. Unlike
# the optional Python packages that individual addons depend on, defusedxml is a hard dependency of the
# Addon Manager itself, so verify that it is importable at configure time rather than deferring the
# failure to the user's first launch.
IF (Python3_EXECUTABLE)
execute_process(
COMMAND "${Python3_EXECUTABLE}" "-c" "import defusedxml"
RESULT_VARIABLE ADDONMANAGER_DEFUSEDXML_MISSING
OUTPUT_QUIET
ERROR_QUIET
)
IF (ADDONMANAGER_DEFUSEDXML_MISSING)
MESSAGE(FATAL_ERROR
"The Addon Manager requires the Python package 'defusedxml', which was not found for "
"${Python3_EXECUTABLE}. Install it (for example, 'pip install defusedxml') and reconfigure.")
ELSE ()
MESSAGE(STATUS "Found required Addon Manager dependency: defusedxml")
ENDIF ()
ELSE ()
MESSAGE(WARNING
"Python3_EXECUTABLE is not set, so the Addon Manager cannot verify that its required "
"'defusedxml' dependency is installed.")
ENDIF ()
IF (BUILD_GUI)
add_subdirectory(Widgets)
ENDIF (BUILD_GUI)
add_subdirectory(Resources)
SET(AddonManager_SRCS
__init__.py
add_toolbar_button_dialog.ui
Addon.py
AddonCatalog.py
AddonCatalog.schema.json
AddonCatalogCacheCreator.py
addonmanager_connection_checker.py
addonmanager_dependency_installer.py
addonmanager_firstrun.py
addonmanager_freecad_interface.py
addonmanager_git.py
addonmanager_icon_utilities.py
addonmanager_installation_manifest.py
addonmanager_installer_gui.py
addonmanager_installer.py
addonmanager_licenses.py
addonmanager_macro_parser.py
addonmanager_macro.py
addonmanager_metadata.py
addonmanager_package_details_controller.py
addonmanager_preferences_defaults.json
addonmanager_preferences_migrations.py
addonmanager_python_constraints.py
addonmanager_python_deps_commands.py
addonmanager_python_deps_gui.py
addonmanager_python_deps.py
addonmanager_readme_controller.py
addonmanager_toolbar_adapter.py
addonmanager_uninstaller_gui.py
addonmanager_uninstaller.py
addonmanager_update_all_gui.py
addonmanager_utilities.py
addonmanager_workers_startup.py
addonmanager_workers_utility.py
addonmanager.dox
AddonManager.py
AddonManager.ui
AddonManagerOptions_AddCustomRepository.ui
AddonManagerOptions.py
AddonManagerOptions.ui
AddonStats.py
compact_view.py
compact_view.ui
composite_view.py
dependency_resolution_dialog.ui
expanded_view.py
expanded_view.ui
first_run.ui
Init.py
InitGui.py
LICENSE
main.py
MacroCacheCreator.py
NetworkManager.py
package_details.ui
package_list.py
package.xml
progress.ui
proxy_authentication.ui
PySideWrapper.py
PythonDependencyUpdateDialog.ui
select_toolbar_dialog.ui
TestAddonManagerApp.py
TestAddonManagerGui.py
toolbar_button.ui
update_all_progress.ui
update_all.ui
)
SOURCE_GROUP("" FILES ${AddonManager_SRCS})
ADD_CUSTOM_TARGET(AddonManager ALL
SOURCES ${AddonManager_SRCS}
)
fc_copy_sources(AddonManager "${CMAKE_BINARY_DIR}/Mod/AddonManager" ${AddonManager_SRCS})
INSTALL(FILES ${AddonManager_SRCS} DESTINATION Mod/AddonManager)