libyui-bindings/libyui-bindings-1.1.2-mga-c...

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 {