1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
# - Try to find JUCE-based OpenShot Audio Library
# libopenshot-audio;
# Once done this will define
# LIBOPENSHOT_AUDIO_FOUND - System has libjuce.so
# LIBOPENSHOT_AUDIO_INCLUDE_DIRS - The juce.h include directories
# LIBOPENSHOT_AUDIO_LIBRARIES - The libraries needed to use juce
if("$ENV{LIBOPENSHOT_AUDIO_DIR}" AND NOT "${OpenShotAudio_FIND_QUIETLY}")
message(STATUS "Looking for OpenShotAudio in: $ENV{LIBOPENSHOT_AUDIO_DIR}")
endif()
# Find the libopenshot-audio header files (check env/cache vars first)
find_path(
LIBOPENSHOT_AUDIO_INCLUDE_DIR
JuceHeader.h
HINTS
ENV LIBOPENSHOT_AUDIO_DIR
PATHS
${LIBOPENSHOT_AUDIO_DIR}
PATH_SUFFIXES
include/libopenshot-audio
libopenshot-audio
include
NO_DEFAULT_PATH
)
# Find the libopenshot-audio header files (fallback to std. paths)
find_path(
LIBOPENSHOT_AUDIO_INCLUDE_DIR
JuceHeader.h
HINTS
ENV LIBOPENSHOT_AUDIO_DIR
PATHS
${LIBOPENSHOT_AUDIO_DIR}
PATH_SUFFIXES
include/libopenshot-audio
libopenshot-audio
include
)
# Find libopenshot-audio.so / libopenshot-audio.dll (check env/cache vars first)
find_library(
LIBOPENSHOT_AUDIO_LIBRARY
NAMES
libopenshot-audio
openshot-audio
HINTS
ENV LIBOPENSHOT_AUDIO_DIR
PATHS
${LIBOPENSHOT_AUDIO_DIR}
PATH_SUFFIXES
lib/libopenshot-audio
libopenshot-audio
lib
NO_DEFAULT_PATH
)
# Find libopenshot-audio.so / libopenshot-audio.dll (fallback)
find_library(
LIBOPENSHOT_AUDIO_LIBRARY
NAMES
libopenshot-audio
openshot-audio
HINTS
ENV LIBOPENSHOT_AUDIO_DIR
PATHS
${LIBOPENSHOT_AUDIO_DIR}
PATH_SUFFIXES
lib/libopenshot-audio
libopenshot-audio
lib
)
set(LIBOPENSHOT_AUDIO_LIBRARIES "${LIBOPENSHOT_AUDIO_LIBRARY}")
set(LIBOPENSHOT_AUDIO_LIBRARY "${LIBOPENSHOT_AUDIO_LIBRARIES}")
set(LIBOPENSHOT_AUDIO_INCLUDE_DIRS "${LIBOPENSHOT_AUDIO_INCLUDE_DIR}")
if(LIBOPENSHOT_AUDIO_INCLUDE_DIR AND EXISTS "${LIBOPENSHOT_AUDIO_INCLUDE_DIR}/JuceHeader.h")
file(STRINGS "${LIBOPENSHOT_AUDIO_INCLUDE_DIR}/JuceHeader.h" libosa_version_str
REGEX "versionString.*=.*\"[^\"]+\"")
if(libosa_version_str MATCHES "versionString.*=.*\"([^\"]+)\"")
set(LIBOPENSHOT_AUDIO_VERSION_STRING ${CMAKE_MATCH_1})
endif()
unset(libosa_version_str)
string(REGEX REPLACE "^([0-9]+\.[0-9]+\.[0-9]+).*$" "\\1"
LIBOPENSHOT_AUDIO_VERSION "${LIBOPENSHOT_AUDIO_VERSION_STRING}")
endif()
# If we couldn't parse M.N.B version, don't keep any of it
if(NOT LIBOPENSHOT_AUDIO_VERSION)
unset(LIBOPENSHOT_AUDIO_VERSION)
unset(LIBOPENSHOT_AUDIO_VERSION_STRING)
endif()
# Determine compatibility with requested version in find_package()
if(OpenShotAudio_FIND_VERSION AND LIBOPENSHOT_AUDIO_VERSION)
if("${OpenShotAudio_FIND_VERSION}" STREQUAL "${LIBOPENSHOT_AUDIO_VERSION}")
set(OpenShotAudio_VERSION_EXACT TRUE)
endif()
if("${OpenShotAudio_FIND_VERSION}" VERSION_GREATER "${LIBOPENSHOT_AUDIO_VERSION}")
set(OpenShotAudio_VERSION_COMPATIBLE FALSE)
else()
set(OpenShotAudio_VERSION_COMPATIBLE TRUE)
endif()
endif()
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set LIBOPENSHOT_AUDIO_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(OpenShotAudio
REQUIRED_VARS
LIBOPENSHOT_AUDIO_LIBRARY
LIBOPENSHOT_AUDIO_INCLUDE_DIRS
VERSION_VAR
LIBOPENSHOT_AUDIO_VERSION_STRING
)
|