summaryrefslogtreecommitdiffstats
path: root/ConfigureChecks.cmake
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 /ConfigureChecks.cmake
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>
Diffstat (limited to 'ConfigureChecks.cmake')
-rw-r--r--ConfigureChecks.cmake77
1 files changed, 55 insertions, 22 deletions
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