summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRay-V <ray-v@inbox.lv>2020-03-25 12:16:46 +0000
committerSlávek Banko <slavek.banko@axis.cz>2020-03-29 19:28:37 +0200
commit324c040645bcaa127717113a4a6cf6cf8693f938 (patch)
tree233cf0861da114ab74976b37cf15cc9cf2ea8a9e
parent51443b3e12e75b40f237543b5439709889cdfaa3 (diff)
downloadtdeedu-324c040645bcaa127717113a4a6cf6cf8693f938.tar.gz
tdeedu-324c040645bcaa127717113a4a6cf6cf8693f938.zip
Enable kig python scripting for cmake build.
Fix detection of boost_python library for cmake build. Use find_package( Python COMPONENTS ... ) for CMake >= 3.12. Add WITH_KIG_PYTHON_SCRIPTING option. This resolves issue #6. Signed-off-by: Ray-V <ray-v@inbox.lv> Signed-off-by: gregory guy <gregory-tde@laposte.net> Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--CMakeLists.txt12
-rw-r--r--ConfigureChecks.cmake77
-rw-r--r--config.h.cmake3
-rw-r--r--kig/scripting/CMakeLists.txt4
4 files changed, 67 insertions, 29 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0e66b1b6..13e0c57b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -43,11 +43,13 @@ tde_setup_paths( )
##### optional stuff
option( WITH_ALL_OPTIONS "Enable all optional support" OFF )
-option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} )
-option( WITH_ARTS "Enable aRts support" ${WITH_ALL_OPTIONS} )
-option( WITH_OCAML_SOLVER "Enable ocalm/facile solver (kalzium)" ${WITH_ALL_OPTIONS} )
-option( WITH_LIBUSB "Enable libusb support (kstars)" ${WITH_ALL_OPTIONS} )
-option( WITH_V4L "Enable video4linux support (kstars)" ${WITH_ALL_OPTIONS} )
+
+option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} )
+option( WITH_ARTS "Enable aRts support" ${WITH_ALL_OPTIONS} )
+option( WITH_OCAML_SOLVER "Enable ocalm/facile solver (kalzium)" ${WITH_ALL_OPTIONS} )
+option( WITH_LIBUSB "Enable libusb support (kstars)" ${WITH_ALL_OPTIONS} )
+option( WITH_V4L "Enable video4linux support (kstars)" ${WITH_ALL_OPTIONS} )
+option( WITH_KIG_PYTHON_SCRIPTING "Enable python scripting in kig" ${WITH_ALL_OPTIONS} )
##### user requested modules
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
index 6cbee868..24c10fa9 100644
--- a/ConfigureChecks.cmake
+++ b/ConfigureChecks.cmake
@@ -25,6 +25,16 @@ if( WITH_GCC_VISIBILITY )
endif( WITH_GCC_VISIBILITY )
+##### check for Doxygen
+
+if( BUILD_DOC AND BUILD_KIG )
+ find_program( DOXYGEN_BINARY NAMES doxygen )
+ if( NOT DOXYGEN_BINARY )
+ tde_message_fatal( "Doxygen is required to build Kig scripting api documentation, but was not found on your system" )
+ endif( )
+endif( )
+
+
##### check for arts
if( WITH_ARTS )
@@ -40,15 +50,39 @@ if( NOT WITH_ARTS )
endif( NOT WITH_ARTS )
+##### check for boost
+
+if( BUILD_KBRUCH )
+
+find_package( Boost )
+
+if( NOT Boost_FOUND )
+ tde_message_fatal( "Boost is required, but was not found on your system" )
+endif()
+endif( BUILD_KBRUCH )
+
+
##### check for Python
if( BUILD_KIG )
- find_package( PythonInterp )
- find_package( PythonLibs )
- if( NOT PYTHONLIBS_FOUND )
- tde_message_fatal( "Python is required, but was not found on your system" )
- endif( NOT PYTHONLIBS_FOUND )
+if( ${CMAKE_VERSION} VERSION_LESS "3.12" )
+ find_package( PythonInterp )
+ find_package( PythonLibs )
+ if( NOT PYTHONLIBS_FOUND )
+ tde_message_fatal( "Python is required, but was not found on your system" )
+ endif( NOT PYTHONLIBS_FOUND )
+ else( )
+ find_package( Python COMPONENTS Interpreter Development )
+ if( NOT Python_Development_FOUND )
+ tde_message_fatal( "Python is required, but was not found on your system" )
+ endif( )
+ set( PYTHON_VERSION_STRING "${Python_VERSION}" )
+ set( PYTHON_VERSION_MAJOR "${Python_VERSION_MAJOR}" )
+ set( PYTHON_VERSION_MINOR "${Python_VERSION_MINOR}" )
+ set( PYTHON_INCLUDE_DIRS "${Python_INCLUDE_DIRS}" )
+ set( PYTHON_LIBRARIES "${Python_LIBRARIES}" )
+ endif( )
if( "${PYTHON_VERSION_STRING}" VERSION_LESS "3.0" )
set( KIG_Python_init "initkig"
@@ -57,30 +91,29 @@ if( BUILD_KIG )
set( KIG_Python_init "PyInit_kig"
CACHE STRING "KIG: Init function for python-boost" )
endif( )
+endif( BUILD_KIG )
-endif( )
+# Check for Python Boost
-##### check for Doxygen
+if( BUILD_KIG AND WITH_KIG_PYTHON_SCRIPTING )
-if( BUILD_DOC AND BUILD_KIG )
- find_program( DOXYGEN_BINARY NAMES doxygen )
- if( NOT DOXYGEN_BINARY )
- tde_message_fatal( "Doxygen is required to build Kig scripting api documentation, but was not found on your system" )
- endif( )
-endif( )
+find_package( Boost COMPONENTS python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} )
+if( NOT Boost_FOUND )
+ find_package( Boost COMPONENTS python )
+endif( )
-##### check for boost
-
-if( BUILD_KIG OR BUILD_KBRUCH )
-
- find_package( Boost )
- if( NOT Boost_FOUND )
- tde_message_fatal( "Boost is required, but was not found on your system" )
- endif( NOT Boost_FOUND )
+if( NOT Boost_FOUND )
+ tde_message_fatal( "Boost Python Library is required, but was not found on your system" )
+ else()
+ set( KIG_ENABLE_PYTHON_SCRIPTING 1 )
+endif( NOT Boost_FOUND )
-endif( BUILD_KIG OR BUILD_KBRUCH )
+if( NOT Boost_PYTHON_LIBRARY AND Boost_PYTHON${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_LIBRARY )
+ set( Boost_PYTHON_LIBRARY "${Boost_PYTHON${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}_LIBRARY}" )
+endif( )
+endif( BUILD_KIG AND WITH_KIG_PYTHON_SCRIPTING )
##### check for headers
diff --git a/config.h.cmake b/config.h.cmake
index 5c4e807e..e652bc51 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -19,6 +19,9 @@
// Define the Python interpreter (python2 vs python3)
#cmakedefine KIG_Python_init @KIG_Python_init@
+// Define Kig python scripting
+#cmakedefine KIG_ENABLE_PYTHON_SCRIPTING 1
+
// Defined to 1 if you have <linux/videodev2.h> header file.
#cmakedefine HAVE_LINUX_VIDEODEV2_H 1
diff --git a/kig/scripting/CMakeLists.txt b/kig/scripting/CMakeLists.txt
index 01a2e5d6..ab158e89 100644
--- a/kig/scripting/CMakeLists.txt
+++ b/kig/scripting/CMakeLists.txt
@@ -11,7 +11,6 @@ include_directories(
link_directories(
${TQT_LIBRARY_DIRS}
${TDE_LIB_DIR}
- ${Boost_LIBRARY_DIRS}
)
@@ -28,8 +27,9 @@ tde_add_library( kigscripting STATIC_PIC AUTOMOC
newscriptwizard.cc
LINK
katepartinterfaces
+ tdetexteditor-shared
${PYTHON_LIBRARIES}
- ${Boost_LIBRARIES}
+ ${Boost_PYTHON_LIBRARY}
)