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