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>
pull/7/head
Ray-V 5 years ago committed by Slávek Banko
parent 51443b3e12
commit 324c040645
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -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_KIG_PYTHON_SCRIPTING "Enable python scripting in kig" ${WITH_ALL_OPTIONS} )
##### user requested modules

@ -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 )
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( )
##### check for boost
find_package( Boost COMPONENTS python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} )
if( BUILD_KIG OR BUILD_KBRUCH )
if( NOT Boost_FOUND )
find_package( Boost COMPONENTS python )
endif( )
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

@ -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

@ -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}
)

Loading…
Cancel
Save