Browse Source

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 8 months ago
committed by Slávek Banko
parent
commit
324c040645
No known key found for this signature in database GPG Key ID: 608F5293A04BE668
4 changed files with 67 additions and 29 deletions
  1. +7
    -5
      CMakeLists.txt
  2. +55
    -22
      ConfigureChecks.cmake
  3. +3
    -0
      config.h.cmake
  4. +2
    -2
      kig/scripting/CMakeLists.txt

+ 7
- 5
CMakeLists.txt View File

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


+ 55
- 22
ConfigureChecks.cmake View File

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


+ 3
- 0
config.h.cmake View File

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



+ 2
- 2
kig/scripting/CMakeLists.txt View File

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