And migrated the last missing bit from the CMakeLists.txt into meson.build; thanks to someone from freenode #mesonbuild. No more CMake files!
This commit is contained in:
parent
81e25f76f2
commit
d62775ad02
|
@ -1,16 +0,0 @@
|
||||||
# 3 june 2016
|
|
||||||
|
|
||||||
# flags for warning on undefined symbols
|
|
||||||
# TODO figure out why FreeBSD follows linked libraries here
|
|
||||||
# TODO figure out MSVC equivalents
|
|
||||||
if(BUILD_SHARED_LIBS)
|
|
||||||
if(NOT (${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD))
|
|
||||||
# on OS X we don't need to do this; Apple's linker warns about undefined symbols in -shared builds!
|
|
||||||
if(NOT APPLE)
|
|
||||||
target_link_libraries(libui
|
|
||||||
PRIVATE -Wl,--no-undefined -Wl,--no-allow-shlib-undefined
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
21
meson.build
21
meson.build
|
@ -116,7 +116,7 @@ else
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# TODO come up with a better way to do this, both for libui (the compiler define, used by winapi.hpp, and the manifest args) and for the binaries (the manifest args)
|
# TODO come up with a better way to do this, both for libui (the compiler define, used by winapi.hpp, and the manifest args) and for the binaries (the manifest args); then move that below the part below that actually adds these arguments
|
||||||
libui_manifest_args = []
|
libui_manifest_args = []
|
||||||
if libui_mode == 'static'
|
if libui_mode == 'static'
|
||||||
libui_project_compile_args += ['-D_UI_STATIC']
|
libui_project_compile_args += ['-D_UI_STATIC']
|
||||||
|
@ -128,6 +128,24 @@ add_project_arguments(libui_project_compile_args,
|
||||||
add_project_link_arguments(libui_project_link_args,
|
add_project_link_arguments(libui_project_link_args,
|
||||||
language: ['c', 'cpp', 'objc'])
|
language: ['c', 'cpp', 'objc'])
|
||||||
|
|
||||||
|
# TODO:
|
||||||
|
# meson determins whether -Wl,--no-undefined is provided via
|
||||||
|
# built-in option b_lundef, and it's true by default, which is what
|
||||||
|
# we want (so I don't make mistakes like asking for unknown
|
||||||
|
# functions in my dependencies). However, meson also is smart
|
||||||
|
# about specifying this properly on systems that don't support it, like
|
||||||
|
# FreeBSD (where I had the comment "figure out why FreeBSD
|
||||||
|
# follows linked libraries here" when I was on cmake) and OpenBSD
|
||||||
|
# (according to someone on freenode #mesonbuild), but it isn't clear
|
||||||
|
# whether it's just ignored or if the value is forced to false.
|
||||||
|
# Therefore, once this is determined, we can uncomment the
|
||||||
|
# following.
|
||||||
|
libui_libui_link_args = []
|
||||||
|
#if not libui_MSVC and get_option("b_lundef")
|
||||||
|
# TODO what should this be on MSVC?
|
||||||
|
# libui_libui_link_args += ['-Wl,--no-allow-shlib-undefined']
|
||||||
|
#endif
|
||||||
|
|
||||||
libui_sources = []
|
libui_sources = []
|
||||||
libui_deps = []
|
libui_deps = []
|
||||||
libui_soversion = ''
|
libui_soversion = ''
|
||||||
|
@ -153,6 +171,7 @@ libui_libui = library('ui', libui_sources,
|
||||||
c_args: ['-Dlibui_EXPORTS'],
|
c_args: ['-Dlibui_EXPORTS'],
|
||||||
cpp_args: ['-Dlibui_EXPORTS'],
|
cpp_args: ['-Dlibui_EXPORTS'],
|
||||||
objc_args: ['-Dlibui_EXPORTS'],
|
objc_args: ['-Dlibui_EXPORTS'],
|
||||||
|
link_args: libui_libui_link_args,
|
||||||
soversion: libui_soversion,
|
soversion: libui_soversion,
|
||||||
darwin_versions: []) # TODO
|
darwin_versions: []) # TODO
|
||||||
install_headers('ui.h')
|
install_headers('ui.h')
|
||||||
|
|
Loading…
Reference in New Issue