|
|
@@ -1,6 +1,7 @@
|
|
|
cmake_minimum_required(VERSION 2.8)
|
|
|
|
|
|
if(NOT ENABLE_SCRIPTING)
|
|
|
+ message(STATUS "Scripting plugin disabled")
|
|
|
return()
|
|
|
endif()
|
|
|
|
|
|
@@ -11,44 +12,60 @@ if(MSVC)
|
|
|
w32-pthreads)
|
|
|
endif()
|
|
|
|
|
|
-find_package(Luajit QUIET)
|
|
|
-find_package(PythonDeps QUIET)
|
|
|
-find_package(SwigDeps QUIET 2)
|
|
|
+option(DISABLE_LUA "Disable Lua scripting support" OFF)
|
|
|
+option(DISABLE_PYTHON "Disable Python scripting support" OFF)
|
|
|
|
|
|
set(COMPILE_PYTHON FALSE CACHE BOOL "" FORCE)
|
|
|
set(COMPILE_LUA FALSE CACHE BOOL "" FORCE)
|
|
|
|
|
|
-if(NOT SWIG_FOUND)
|
|
|
- message(STATUS "Scripting: SWIG not found; scripting disabled")
|
|
|
- return()
|
|
|
-endif()
|
|
|
+if(NOT DISABLE_LUA)
|
|
|
+ find_package(Luajit QUIET)
|
|
|
|
|
|
-if(NOT PYTHONLIBS_FOUND AND NOT LUAJIT_FOUND)
|
|
|
- message(STATUS "Scripting: Neither Python 3 nor Luajit was found; scripting plugin disabled")
|
|
|
- return()
|
|
|
-endif()
|
|
|
-
|
|
|
-if(NOT LUAJIT_FOUND)
|
|
|
- message(STATUS "Scripting: Luajit not found; Luajit support disabled")
|
|
|
+ if(NOT DISABLE_LUA AND NOT LUAJIT_FOUND)
|
|
|
+ message(STATUS "Luajit support not found.")
|
|
|
+ set(LUAJIT_FOUND FALSE)
|
|
|
+ else()
|
|
|
+ message(STATUS "Scripting: Luajit supported")
|
|
|
+ set(COMPILE_LUA TRUE CACHE BOOL "" FORCE)
|
|
|
+ endif()
|
|
|
else()
|
|
|
- message(STATUS "Scripting: Luajit supported")
|
|
|
- set(COMPILE_LUA TRUE CACHE BOOL "" FORCE)
|
|
|
+ message(STATUS "Scripting: Luajit support disabled")
|
|
|
+ set(LUAJIT_FOUND FALSE)
|
|
|
endif()
|
|
|
|
|
|
-if(NOT PYTHONLIBS_FOUND)
|
|
|
- message(STATUS "Scripting: Python 3 not found; Python support disabled")
|
|
|
+if(NOT DISABLE_PYTHON)
|
|
|
+ find_package(PythonDeps QUIET)
|
|
|
+
|
|
|
+ if(NOT DISABLE_PYTHON AND NOT PYTHONLIBS_FOUND)
|
|
|
+ message(STATUS "Python support not found.")
|
|
|
+ set(PYTHON_FOUND FALSE)
|
|
|
+ set(PYTHONLIBS_FOUND FALSE)
|
|
|
+ else()
|
|
|
+ message(STATUS "Scripting: Python 3 supported")
|
|
|
+ set(PYTHON_FOUND TRUE)
|
|
|
+ set(COMPILE_PYTHON TRUE CACHE BOOL "" FORCE)
|
|
|
+
|
|
|
+ get_filename_component(PYTHON_LIB "${PYTHON_LIBRARIES}" NAME)
|
|
|
+ string(REGEX REPLACE "\\.[^.]*$" "" PYTHON_LIB ${PYTHON_LIB})
|
|
|
+
|
|
|
+ if(WIN32)
|
|
|
+ string(REGEX REPLACE "_d" "" PYTHON_LIB "${PYTHON_LIB}")
|
|
|
+ endif()
|
|
|
+ endif()
|
|
|
+else()
|
|
|
+ message(STATUS "Scripting: Python 3 support disabled")
|
|
|
set(PYTHON_FOUND FALSE)
|
|
|
set(PYTHONLIBS_FOUND FALSE)
|
|
|
-else()
|
|
|
- message(STATUS "Scripting: Python 3 supported")
|
|
|
- set(PYTHON_FOUND TRUE)
|
|
|
- set(COMPILE_PYTHON TRUE CACHE BOOL "" FORCE)
|
|
|
-
|
|
|
- get_filename_component(PYTHON_LIB "${PYTHON_LIBRARIES}" NAME)
|
|
|
- string(REGEX REPLACE "\\.[^.]*$" "" PYTHON_LIB ${PYTHON_LIB})
|
|
|
- if(WIN32)
|
|
|
- string(REGEX REPLACE "_d" "" PYTHON_LIB "${PYTHON_LIB}")
|
|
|
- endif()
|
|
|
+endif()
|
|
|
+
|
|
|
+find_package(SwigDeps QUIET 2)
|
|
|
+
|
|
|
+if(NOT SWIG_FOUND)
|
|
|
+ message(STATUS "Scripting: SWIG not found; scripting disabled")
|
|
|
+endif()
|
|
|
+
|
|
|
+if(NOT PYTHONLIBS_FOUND AND NOT LUAJIT_FOUND)
|
|
|
+ message(STATUS "Scripting: Neither Python 3 nor Luajit was found; scripting plugin disabled")
|
|
|
endif()
|
|
|
|
|
|
set(SCRIPTING_ENABLED ON CACHE BOOL "Interal global cmake variable" FORCE)
|