Merge topic 'FindOpenAL-framework'

f05bd762f5 ci: Enable FindOpenAL test on macOS jobs
1d06554fc6 Tests: Fix FindOpenAL test for macOS framework
5f5476ee31 FindOpenAL: Fix imported target for macOS framework

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8373
This commit is contained in:
Brad King
2023-03-30 10:56:51 +00:00
committed by Kitware Robot
6 changed files with 26 additions and 14 deletions

View File

@@ -1,3 +1,4 @@
set(CMake_TEST_FindOpenAL "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "")

View File

@@ -1,3 +1,4 @@
set(CMake_TEST_FindOpenAL "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "")

View File

@@ -1,3 +1,4 @@
set(CMake_TEST_FindOpenAL "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_C "ON" CACHE BOOL "")
set(CMake_TEST_FindOpenMP_CXX "ON" CACHE BOOL "")

View File

@@ -105,18 +105,16 @@ find_package_handle_standard_args(
mark_as_advanced(OPENAL_LIBRARY OPENAL_INCLUDE_DIR)
if(OPENAL_INCLUDE_DIR AND OPENAL_LIBRARY)
if(NOT TARGET OpenAL::OpenAL)
if(EXISTS "${OPENAL_LIBRARY}")
add_library(OpenAL::OpenAL UNKNOWN IMPORTED)
set_target_properties(OpenAL::OpenAL PROPERTIES
IMPORTED_LOCATION "${OPENAL_LIBRARY}")
else()
add_library(OpenAL::OpenAL INTERFACE IMPORTED)
set_target_properties(OpenAL::OpenAL PROPERTIES
IMPORTED_LIBNAME "${OPENAL_LIBRARY}")
endif()
if(OPENAL_FOUND AND NOT TARGET OpenAL::OpenAL)
if(OPENAL_LIBRARY MATCHES "/([^/]+)\\.framework$")
add_library(OpenAL::OpenAL INTERFACE IMPORTED)
set_target_properties(OpenAL::OpenAL PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${OPENAL_INCLUDE_DIR}")
INTERFACE_LINK_LIBRARIES "${OPENAL_LIBRARY}")
else()
add_library(OpenAL::OpenAL UNKNOWN IMPORTED)
set_target_properties(OpenAL::OpenAL PROPERTIES
IMPORTED_LOCATION "${OPENAL_LIBRARY}")
endif()
set_target_properties(OpenAL::OpenAL PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${OPENAL_INCLUDE_DIR}")
endif()

View File

@@ -12,3 +12,9 @@ add_executable(test_var main.cxx)
target_include_directories(test_var PRIVATE ${OPENAL_INCLUDE_DIR})
target_link_libraries(test_var PRIVATE ${OPENAL_LIBRARY})
add_test(NAME test_var COMMAND test_var)
# OpenAL has been deprecated on macOS since Catalina (10.15)
if(APPLE)
target_compile_options(test_tgt PRIVATE "-Wno-deprecated-declarations")
target_compile_options(test_var PRIVATE "-Wno-deprecated-declarations")
endif()

View File

@@ -1,5 +1,10 @@
#include <AL/al.h>
#include <AL/alc.h>
#ifdef __APPLE__
# include "OpenAL/al.h"
# include "OpenAL/alc.h"
#else
# include <AL/al.h>
# include <AL/alc.h>
#endif
#include <stdio.h>
int main()