Add option to build and install the designer plugin

The patch adds a cmake option BUILD_DESIGNER_PLUGIN, targeted
mainly at package maintainers to allow an easy build and installation
of the FreeCAD designer plugin.

It has been discussed in
https://forum.freecadweb.org/viewtopic.php?f=10&t=67706

Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
This commit is contained in:
Bernd Waibel
2022-04-04 19:03:30 +02:00
committed by wwmayer
parent bc017a7c03
commit 0e8b87bf51
6 changed files with 29 additions and 9 deletions

View File

@@ -1,11 +1,11 @@
project(FreeCAD_widgets)
cmake_minimum_required(VERSION 3.2.0)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
#set(CMAKE_INCLUDE_CURRENT_DIR ON)
#set(CMAKE_AUTOMOC ON)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Designer REQUIRED)
#find_package(Qt5Widgets REQUIRED)
#find_package(Qt5Designer REQUIRED)
include_directories(
${Qt5Core_INCLUDE_DIRS}
@@ -27,13 +27,12 @@ target_compile_options(FreeCAD_widgets PRIVATE ${COMPILE_OPTIONS})
# Get the install location of a plugin to determine the path to designer plguins
get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION)
exec_program(${QMAKE_EXECUTABLE} ARGS "-query QT_INSTALL_PLUGINS" RETURN_VALUE return_code OUTPUT_VARIABLE DEFAULT_QT_PLUGINS_DIR )
set(DESIGNER_PLUGIN_LOCATION ${DEFAULT_QT_PLUGINS_DIR}/designer)
message(STATUS "Plugin will installed to: ${DESIGNER_PLUGIN_LOCATION}")
set(DESIGNER_PLUGIN_LOCATION ${DEFAULT_QT_PLUGINS_DIR}/designer CACHE FILEPATH "Path where the plugin will be installed to")
#message(STATUS "Plugin will be installed to: ${DESIGNER_PLUGIN_LOCATION}")
# Override the CMake variable
set(CMAKE_INSTALL_PREFIX ${DESIGNER_PLUGIN_LOCATION} CACHE PATH "Install path to Qt Designer plugins" FORCE)
#set(CMAKE_INSTALL_PREFIX ${DESIGNER_PLUGIN_LOCATION} CACHE PATH "Install path to Qt Designer plugins" FORCE)
INSTALL(TARGETS FreeCAD_widgets
LIBRARY DESTINATION ${DESIGNER_PLUGIN_LOCATION}
LIBRARY DESTINATION "$ENV{DESTDIR}${DESIGNER_PLUGIN_LOCATION}"
)