Fixed static builds on all platforms. So close to getting all this set up!
This commit is contained in:
parent
c1dfc0ab5d
commit
467a9102ec
10
meson.build
10
meson.build
|
@ -53,7 +53,7 @@ libui_forced_options = {
|
||||||
}
|
}
|
||||||
foreach name, value : libui_forced_options
|
foreach name, value : libui_forced_options
|
||||||
# TODO why does meson need this guard? why aren't all options defined regardless of target?!
|
# TODO why does meson need this guard? why aren't all options defined regardless of target?!
|
||||||
if not (name == 'cpp_eh' and not libui_MSVC) and not (name == 'c_std' and libui_MSVC)
|
if not ((name == 'c_winlibs' or name == 'cpp_eh' or name == 'cpp_winlibs') and not libui_MSVC) and not (name == 'c_std' and libui_MSVC)
|
||||||
actual = '@0@'.format(get_option(name))
|
actual = '@0@'.format(get_option(name))
|
||||||
if actual != value
|
if actual != value
|
||||||
error('sorry, but libui requires that option ' + name + ' has the default value ' + value)
|
error('sorry, but libui requires that option ' + name + ' has the default value ' + value)
|
||||||
|
@ -122,6 +122,13 @@ else
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
libui_manifest_args = []
|
||||||
|
if libui_mode == 'static'
|
||||||
|
add_project_arguments('-D_UI_STATIC',
|
||||||
|
language: ['c', 'cpp', 'objc'])
|
||||||
|
libui_manifest_args = ['-D_UI_STATIC']
|
||||||
|
endif
|
||||||
|
|
||||||
libui_sources = []
|
libui_sources = []
|
||||||
libui_base_include_directories = [include_directories('.')]
|
libui_base_include_directories = [include_directories('.')]
|
||||||
libui_include_directories = libui_base_include_directories
|
libui_include_directories = libui_base_include_directories
|
||||||
|
@ -139,6 +146,7 @@ else
|
||||||
subdir('unix')
|
subdir('unix')
|
||||||
install_headers('ui_unix.h')
|
install_headers('ui_unix.h')
|
||||||
endif
|
endif
|
||||||
|
# TODO make sure the name is always libui.(something) regardless of the OS or build type
|
||||||
libui_libui = library('ui', libui_sources,
|
libui_libui = library('ui', libui_sources,
|
||||||
include_directories: libui_include_directories,
|
include_directories: libui_include_directories,
|
||||||
dependencies: libui_deps,
|
dependencies: libui_deps,
|
||||||
|
|
|
@ -26,13 +26,25 @@ libui_test_sources = [
|
||||||
'page16.c',
|
'page16.c',
|
||||||
'spaced.c',
|
'spaced.c',
|
||||||
]
|
]
|
||||||
if libui_OS == 'windows' and libui_mode == 'static'
|
|
||||||
libui_test_sources += ['resources.rc']
|
libui_test_include_directories = libui_base_include_directories + [include_directories('.')]
|
||||||
|
|
||||||
|
if libui_OS == 'windows'
|
||||||
|
libui_test_manifest = 'test.manifest'
|
||||||
|
if libui_mode == 'static'
|
||||||
|
libui_test_manifest = 'test.static.manifest'
|
||||||
|
endif
|
||||||
|
libui_test_sources += [
|
||||||
|
windows.compile_resources('resources.rc',
|
||||||
|
args: libui_manifest_args,
|
||||||
|
depend_files: [libui_test_manifest],
|
||||||
|
include_directories: libui_test_include_directories),
|
||||||
|
]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# TODO meson doesn't let us name this target test, but also doesn't seem to provide a way to override the executable name????
|
# TODO meson doesn't let us name this target test, but also doesn't seem to provide a way to override the executable name????
|
||||||
executable('tester', libui_test_sources,
|
executable('tester', libui_test_sources,
|
||||||
include_directories: libui_base_include_directories + [include_directories('.')],
|
include_directories: libui_test_include_directories,
|
||||||
dependencies: libui_binary_deps,
|
dependencies: libui_binary_deps,
|
||||||
link_with: libui_libui,
|
link_with: libui_libui,
|
||||||
build_by_default: false,
|
build_by_default: false,
|
||||||
|
|
|
@ -77,6 +77,7 @@ if libui_mode == 'shared'
|
||||||
libui_sources += [
|
libui_sources += [
|
||||||
# TODO settle the path thing once and for all
|
# TODO settle the path thing once and for all
|
||||||
windows.compile_resources('resources.rc',
|
windows.compile_resources('resources.rc',
|
||||||
|
args: libui_manifest_args,
|
||||||
depend_files: ['libui.manifest'],
|
depend_files: ['libui.manifest'],
|
||||||
include_directories: libui_include_directories),
|
include_directories: libui_include_directories),
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in New Issue