170 lines
6.2 KiB
Diff
170 lines
6.2 KiB
Diff
From 1194d299231ec34ac34f9146d8128630ae09ef77 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= <besser82@fedoraproject.org>
|
|
Date: Sun, 5 Feb 2017 17:46:52 +0100
|
|
Subject: [PATCH] Add option to enable MGA-Extensions
|
|
|
|
---
|
|
CMakeLists.txt | 22 +++++++++++-----------
|
|
swig/CMakeLists.txt | 4 ----
|
|
swig/mono/CMakeLists.txt | 2 +-
|
|
swig/perl/CMakeLists.txt | 2 +-
|
|
swig/python/CMakeLists.txt | 2 +-
|
|
swig/ruby/CMakeLists.txt | 2 +-
|
|
swig/yui.i | 7 ++++++-
|
|
7 files changed, 21 insertions(+), 20 deletions(-)
|
|
|
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index c2e6a88..e6784c2 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -12,6 +12,7 @@ if(COMMAND cmake_policy)
|
|
endif(COMMAND cmake_policy)
|
|
|
|
OPTION( BUILD_RUBY_GEM "Build Ruby GEM" YES )
|
|
+OPTION( WITH_MGA "Build with support for libyui-mga" NO )
|
|
|
|
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
|
|
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules ${CMAKE_MODULE_PATH})
|
|
@@ -28,7 +29,6 @@ ENDIF()
|
|
SET( CMAKE_INSTALL_PREFIX "${YPREFIX}" )
|
|
|
|
SET( LIBYUI_INCLUDE_DIR "${YPREFIX}/include" )
|
|
-SET( LIBYUI_LIBRARY yui yui-mga )
|
|
|
|
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Language Bindings for libyui")
|
|
SET(CPACK_PACKAGE_VENDOR "Novell Inc.")
|
|
@@ -76,19 +76,19 @@ INCLUDE(CPack)
|
|
|
|
#FIND_PACKAGE(SWIG REQUIRED)
|
|
MESSAGE(STATUS "Looking modules in ${CMAKE_MODULE_PATH}")
|
|
-FIND_PROGRAM(SWIG_EXECUTABLE
|
|
- NAMES swig-1.3 swig
|
|
- PATHS ${SWIG_DIR} ${SWIG_DIR}/.. ${SWIG_DIR}/../../bin /usr/bin /usr/local/bin ${CMAKE_INSTALL_PREFIX}/bin
|
|
-)
|
|
-
|
|
-IF ( NOT SWIG_EXECUTABLE )
|
|
- MESSAGE( FATAL "SWIG not found." )
|
|
-ELSE ( NOT SWIG_EXECUTABLE )
|
|
- MESSAGE( STATUS "SWIG found at ${SWIG_EXECUTABLE}" )
|
|
-ENDIF ( NOT SWIG_EXECUTABLE )
|
|
|
|
+FIND_PACKAGE(SWIG REQUIRED)
|
|
FIND_PACKAGE(Libyui REQUIRED)
|
|
|
|
+SET( LIBYUI_LIBRARY yui )
|
|
+
|
|
+IF(WITH_MGA)
|
|
+FIND_PACKAGE(Libyui-mga REQUIRED)
|
|
+SET( LIBYUI_LIBRARY yui yui-mga )
|
|
+ADD_DEFINITIONS( -DWITH_MGA )
|
|
+SET( SWIG_FLAGS "-DWITH_MGA" )
|
|
+ENDIF(WITH_MGA)
|
|
+
|
|
ADD_SUBDIRECTORY(swig)
|
|
|
|
ADD_CUSTOM_TARGET( svncheck
|
|
diff --git a/swig/CMakeLists.txt b/swig/CMakeLists.txt
|
|
index 57c526c..b213506 100644
|
|
--- a/swig/CMakeLists.txt
|
|
+++ b/swig/CMakeLists.txt
|
|
@@ -1,7 +1,3 @@
|
|
-FIND_PACKAGE(SWIG)
|
|
-
|
|
-MESSAGE(STATUS "Found SWIG version ${SWIG_VERSION}")
|
|
-
|
|
#
|
|
# Generic setting for all generated bindings
|
|
#
|
|
diff --git a/swig/mono/CMakeLists.txt b/swig/mono/CMakeLists.txt
|
|
index 5cf0be4..e227d43 100644
|
|
--- a/swig/mono/CMakeLists.txt
|
|
+++ b/swig/mono/CMakeLists.txt
|
|
@@ -18,7 +18,7 @@ SET( SWIG_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/yui_csharp.cxx" )
|
|
ADD_CUSTOM_COMMAND (
|
|
OUTPUT ${SWIG_OUTPUT}
|
|
COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for CSharp ..."
|
|
- COMMAND ${SWIG_EXECUTABLE} -c++ -csharp -features autodoc -o ${SWIG_OUTPUT} -I${LIBYUI_INCLUDE_DIR} ${SWIG_INPUT}
|
|
+ COMMAND ${SWIG_EXECUTABLE} -c++ -csharp -features autodoc ${SWIG_FLAGS} -o ${SWIG_OUTPUT} -I${LIBYUI_INCLUDE_DIR} ${SWIG_INPUT}
|
|
COMMAND ${CMAKE_COMMAND} -E echo "Done."
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i
|
|
diff --git a/swig/perl/CMakeLists.txt b/swig/perl/CMakeLists.txt
|
|
index fe65ec6..80dd708 100644
|
|
--- a/swig/perl/CMakeLists.txt
|
|
+++ b/swig/perl/CMakeLists.txt
|
|
@@ -34,7 +34,7 @@ endif(COMMAND cmake_policy)
|
|
ADD_CUSTOM_COMMAND (
|
|
OUTPUT ${SWIG_OUTPUT}
|
|
COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for Perl ..."
|
|
- COMMAND ${SWIG_EXECUTABLE} -c++ -perl -shadow -features autodoc -o ${SWIG_OUTPUT} -I${LIBYUI_INCLUDE_DIR} ${SWIG_INPUT}
|
|
+ COMMAND ${SWIG_EXECUTABLE} -c++ -perl -shadow -features autodoc ${SWIG_FLAGS} -o ${SWIG_OUTPUT} -I${LIBYUI_INCLUDE_DIR} ${SWIG_INPUT}
|
|
COMMAND ${CMAKE_COMMAND} -E echo "Done."
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i
|
|
diff --git a/swig/python/CMakeLists.txt b/swig/python/CMakeLists.txt
|
|
index e4c64db..61d964f 100644
|
|
--- a/swig/python/CMakeLists.txt
|
|
+++ b/swig/python/CMakeLists.txt
|
|
@@ -27,7 +27,7 @@ MESSAGE(STATUS "Python site dir: ${PYTHON_SITEDIR}")
|
|
ADD_CUSTOM_COMMAND (
|
|
OUTPUT ${SWIG_OUTPUT}
|
|
COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for Python ..."
|
|
- COMMAND ${SWIG_EXECUTABLE} -c++ -python -shadow -features autodoc -o ${SWIG_OUTPUT} -I${LIBYUI_INCLUDE_DIR} ${SWIG_INPUT}
|
|
+ COMMAND ${SWIG_EXECUTABLE} -c++ -python -shadow -features autodoc ${SWIG_FLAGS} -o ${SWIG_OUTPUT} -I${LIBYUI_INCLUDE_DIR} ${SWIG_INPUT}
|
|
COMMAND ${CMAKE_COMMAND} -E echo "Done."
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i
|
|
diff --git a/swig/ruby/CMakeLists.txt b/swig/ruby/CMakeLists.txt
|
|
index 00998b4..f1f8088 100644
|
|
--- a/swig/ruby/CMakeLists.txt
|
|
+++ b/swig/ruby/CMakeLists.txt
|
|
@@ -19,7 +19,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/yui/version.rb.in ${CMAKE_CURRENT_BIN
|
|
ADD_CUSTOM_COMMAND (
|
|
OUTPUT ${SWIG_OUTPUT}
|
|
COMMAND ${CMAKE_COMMAND} -E echo_append "Creating wrapper code for ruby..."
|
|
- COMMAND ${SWIG_EXECUTABLE} -c++ -ruby -autorename -o ${SWIG_OUTPUT} -I${LIBYUI_INCLUDE_DIR} ${SWIG_INPUT}
|
|
+ COMMAND ${SWIG_EXECUTABLE} -c++ -ruby -autorename ${SWIG_FLAGS} -o ${SWIG_OUTPUT} -I${LIBYUI_INCLUDE_DIR} ${SWIG_INPUT}
|
|
COMMAND ${CMAKE_COMMAND} -E echo "Done."
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../*.i
|
|
diff --git a/swig/yui.i b/swig/yui.i
|
|
index 5dd5f82..c5494b0 100644
|
|
--- a/swig/yui.i
|
|
+++ b/swig/yui.i
|
|
@@ -99,10 +99,12 @@ SWIGEXPORT void Init__yui(void) {
|
|
|
|
#include "yui/YUILoader.h"
|
|
|
|
+#if defined(WITH_MGA)
|
|
#include "yui/mga/YMGA_CBTable.h"
|
|
#include "yui/mga/YMGAMsgBox.h"
|
|
#include "yui/mga/YMGAAboutDialog.h"
|
|
#include "yui/mga/YMGAWidgetExtensionFactory.h"
|
|
+#endif
|
|
|
|
using namespace std;
|
|
|
|
@@ -166,7 +168,7 @@ class Exception;
|
|
|
|
*
|
|
*/
|
|
-
|
|
+
|
|
%apply SWIGTYPE *DISOWN { YItem *item_disown };
|
|
%apply SWIGTYPE *DISOWN { YEvent *event_disown };
|
|
%apply SWIGTYPE *DISOWN { YTableCell *cell_disown };
|
|
@@ -259,10 +261,13 @@ class Exception;
|
|
%include yui/YWidgetID.h
|
|
%include yui/YExternalWidgetFactory.h
|
|
%include yui/YExternalWidgets.h
|
|
+
|
|
+#if defined(WITH_MGA)
|
|
%include yui/mga/YMGA_CBTable.h
|
|
%include yui/mga/YMGAAboutDialog.h
|
|
%include yui/mga/YMGAMsgBox.h
|
|
%include yui/mga/YMGAWidgetExtensionFactory.h
|
|
+#endif
|
|
|
|
#if defined(SWIGRUBY)
|
|
%extend YEvent {
|