1include(GetPrerequisites)
2
3
4MACRO(checkVapourSynth)
5    macro(GET_VAPOURSYNTH_PYTHON lib result)
6        set(${result} "NOTFOUND")
7        GET_PREREQUISITES(${lib}  xoutput 0 0 "" "")
8        foreach(dep ${xoutput})
9            if(dep MATCHES ".*libpython3.*")
10                # path looks like /usr/lib/x86_64-linux-gnu/libpython3.6m.so.1.0
11                STRING(REGEX REPLACE "^.*libpython3" "libpython3" shortened "${dep}" )
12                STRING(REGEX REPLACE "so.*$" "so" shortened "${shortened}" )
13                # Now it looks like this libpython3.6m.so
14                set(${result} ${shortened})
15                MESSAGE(STATUS "Got python lib :  ${${result}}")
16            endif(dep MATCHES ".*libpython3.*")
17        endforeach(dep ${xoutput})
18    endmacro(GET_VAPOURSYNTH_PYTHON lib)
19
20	IF (NOT VAPOURSYNTH_CHECKED)
21		OPTION(VAPOURSYNTH "" ON)
22
23		MESSAGE(STATUS "Checking for VAPOURSYNTH")
24		MESSAGE(STATUS "***********************")
25
26		IF (VAPOURSYNTH)
27                        PKG_CHECK_MODULES(VAPOURSYNTHSCRIPT vapoursynth-script)
28                        IF (VAPOURSYNTHSCRIPT_FOUND)
29                                MESSAGE(STATUS "VSSCRIPT<${VAPOURSYNTHSCRIPT_CFLAGS}>  < ${VAPOURSYNTHSCRIPT_LDFLAGS}> <${VAPOURSYNTHSCRIPT_LIBRARIES}>")
30                                IF(NOT APPLE AND NOT WIN32)
31                                    LIST(GET VAPOURSYNTHSCRIPT_LIBRARIES 0  xfirst)
32                                    GET_VAPOURSYNTH_PYTHON( "${VAPOURSYNTHSCRIPT_LIBDIR}/lib${xfirst}.so" VAPOURSYNTH_PYTHONLIB)
33                                    SET(VAPOURSYNTHSCRIPT_CFLAGS "${VAPOURSYNTHSCRIPT_CFLAGS} -DVAPOURSYNTH_PYTHONLIB='\"${VAPOURSYNTH_PYTHONLIB}\"'")
34                                ENDIF(NOT APPLE AND NOT WIN32)
35                                SET(USE_VAPOURSYNTH 1)
36                        ENDIF (VAPOURSYNTHSCRIPT_FOUND)
37		ELSE (VAPOURSYNTH)
38			MESSAGE("${MSG_DISABLE_OPTION}")
39		ENDIF (VAPOURSYNTH)
40
41		SET(VAPOURSYNTH_CHECKED 1)
42
43		MESSAGE("")
44	ENDIF (NOT VAPOURSYNTH_CHECKED)
45
46	APPEND_SUMMARY_LIST("Miscellaneous" "VapourSynth" "${VAPOURSYNTHSCRIPT_FOUND}")
47ENDMACRO(checkVapourSynth)
48