Skip to content

Commit

Permalink
meson: add macos specific tweaks
Browse files Browse the repository at this point in the history
Treat files as Objective-C++ instead of C++
because some included macos headers are Objective-C++
Objective-C++ apparently is a superset of C++
so we should be all good
  • Loading branch information
AdelKS committed Oct 7, 2024
1 parent bc20719 commit c85ac95
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -262,11 +262,22 @@ if host_machine.system() == 'linux'
subdir: 'openframeworks'
)

elif host_machine.system() == 'darwin'

deps += [dependency('appleframeworks', modules : ['Cocoa', 'AppKit', 'Foundation', 'AVKit', 'GLKit'])]
add_project_arguments('-ObjC++', language: 'cpp')

sources += files(
'libs/openFrameworks/sound/ofAVEngineSoundPlayer.mm'
'libs/openFrameworks/video/ofAVFoundationGrabber.mm'
'libs/openFrameworks/video/ofAVFoundationPlayer.mm'
)

endif

# We need to treat this dependency independently
# We need to treat this dependency independently
# because if it's not installed in the host system,
# we will use the .wrap file in the subprojects file AND
# we will use the .wrap file in the subprojects file AND
# need to change a define in the cmake subproject
uriparser_dep = dependency('uriparser', required: false)
if not uriparser_dep.found()
Expand Down Expand Up @@ -298,7 +309,7 @@ freeimage_dep = compiler.find_library('freeimage', has_headers: ['FreeImage.h'],
if not freeimage_dep.found()
freeimage_opts = cmake.subproject_options()
# doesn't compile with the define bellow
# freeimage_opts.add_cmake_defines({'BUILD_SHARED_LIBS': true})
# freeimage_opts.add_cmake_defines({'BUILD_SHARED_LIBS': true})
# We need -fPIC to link against the produced static library
freeimage_opts.add_cmake_defines({'CMAKE_POSITION_INDEPENDENT_CODE': true})
freeimage_proj = cmake.subproject('freeimage', options: freeimage_opts)
Expand All @@ -311,7 +322,8 @@ lib = library('openFrameworks',
sources,
include_directories: inc,
dependencies: deps,
install: true)
install: true,
)

openframeworks_dep = declare_dependency(link_with: lib, include_directories: inc, dependencies: deps)

Expand Down

0 comments on commit c85ac95

Please sign in to comment.