diff --git a/cmake/Modules/FindPythonDeps.cmake b/cmake/Modules/FindPythonDeps.cmake new file mode 100644 index 000000000..d460aa6ef --- /dev/null +++ b/cmake/Modules/FindPythonDeps.cmake @@ -0,0 +1,67 @@ +# Once done these will be defined: +# +# PYTHON_FOUND +# PYTHON_INCLUDE_DIRS +# PYTHON_LIBRARIES +# +# For use in OBS: +# +# PYTHON_INCLUDE_DIR + +if(NOT WIN32) + find_package(PythonLibs QUIET 3.4) + return() +endif() + +IF(CMAKE_SIZEOF_VOID_P EQUAL 8) + SET(_LIB_SUFFIX 64) +ELSE() + SET(_LIB_SUFFIX 32) +ENDIF() + +FIND_PATH(PYTHON_INCLUDE_DIR + NAMES Python.h + HINTS + ENV PythonPath${_LIB_SUFFIX} + ENV PythonPath + ENV DepsPath${_LIB_SUFFIX} + ENV DepsPath + ${PythonPath${_LIB_SUFFIX}} + ${PythonPath} + ${DepsPath${_LIB_SUFFIX}} + ${DepsPath} + ${_PYTHON_INCLUDE_DIRS} + PATH_SUFFIXES + include + include/python + ) + +find_library(PYTHON_LIB + NAMES ${_PYTHON_LIBRARIES} python36 + HINTS + ENV PythonPath${_lib_suffix} + ENV PythonPath + ENV DepsPath${_lib_suffix} + ENV DepsPath + ${PythonPath${_lib_suffix}} + ${PythonPath} + ${DepsPath${_lib_suffix}} + ${DepsPath} + ${_PYTHON_LIBRARY_DIRS} + PATH_SUFFIXES + lib${_lib_suffix} lib + libs${_lib_suffix} libs + bin${_lib_suffix} bin + ../lib${_lib_suffix} ../lib + ../libs${_lib_suffix} ../libs + ../bin${_lib_suffix} ../bin) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Python DEFAULT_MSG PYTHON_LIB PYTHON_INCLUDE_DIR) +mark_as_advanced(PYTHON_INCLUDE_DIR PYTHON_LIB) + +if(PYTHON_FOUND) + set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR}) + set(PYTHON_LIBRARIES ${PYTHON_LIB}) + set(PYTHONLIBS_FOUND TRUE) +endif() diff --git a/cmake/Modules/FindSwigDeps.cmake b/cmake/Modules/FindSwigDeps.cmake new file mode 100644 index 000000000..b7efc78a1 --- /dev/null +++ b/cmake/Modules/FindSwigDeps.cmake @@ -0,0 +1,41 @@ +if(WIN32) + IF(CMAKE_SIZEOF_VOID_P EQUAL 8) + SET(_LIB_SUFFIX 64) + ELSE() + SET(_LIB_SUFFIX 32) + ENDIF() + + FIND_PATH(SWIG_DIR + NAMES swigrun.i + HINTS + ENV SwigPath${_LIB_SUFFIX} + ENV SwigPath + ENV DepsPath${_LIB_SUFFIX} + ENV DepsPath + ${SwigPath${_LIB_SUFFIX}} + ${SwigPath} + ${DepsPath${_LIB_SUFFIX}} + ${DepsPath} + ${_PYTHON_INCLUDE_DIRS} + PATH_SUFFIXES + swig/Lib + ) + + find_program(SWIG_EXECUTABLE + NAMES swig + HINTS + ENV SwigPath${_LIB_SUFFIX} + ENV SwigPath + ENV DepsPath${_LIB_SUFFIX} + ENV DepsPath + ${SwigPath${_LIB_SUFFIX}} + ${SwigPath} + ${DepsPath${_LIB_SUFFIX}} + ${DepsPath} + ${_PYTHON_INCLUDE_DIRS} + PATH_SUFFIXES + swig + ) +endif() + +find_package(SWIG QUIET 2) diff --git a/deps/obs-scripting/CMakeLists.txt b/deps/obs-scripting/CMakeLists.txt index 4e43fc886..2e6f32742 100644 --- a/deps/obs-scripting/CMakeLists.txt +++ b/deps/obs-scripting/CMakeLists.txt @@ -7,8 +7,8 @@ if(MSVC) endif() find_package(Luajit QUIET) -find_package(PythonLibs QUIET 3.4) -find_package(SWIG QUIET 2) +find_package(PythonDeps QUIET) +find_package(SwigDeps QUIET 2) set(COMPILE_PYTHON FALSE CACHE BOOL "" FORCE) set(COMPILE_LUA FALSE CACHE BOOL "" FORCE)