add meson option to not install library

This commit is contained in:
Michal Bukovský 2024-11-30 20:17:02 +01:00
parent 26b9bcde1f
commit 4cd7c0ed18
No known key found for this signature in database
GPG Key ID: 2015343C36E0B220
2 changed files with 23 additions and 15 deletions

View File

@ -1 +1,2 @@
option('tests', type: 'boolean', value: true, description: 'Build the unit tests')
option('install', type: 'boolean', value: true, description: 'Install the library')

View File

@ -16,6 +16,7 @@ configure_file(
format: 'cmake@',
install_dir: get_option('includedir') / 'catch2',
configuration: conf_data,
install: get_option('install')
)
fs = import('fs')
@ -339,7 +340,9 @@ foreach file : headers
endif
endforeach
if get_option('install')
install_headers(file, subdir: join_paths(include_subdir, folder))
endif
endforeach
catch2_dependencies = []
@ -356,7 +359,7 @@ catch2 = static_library(
sources,
dependencies: catch2_dependencies,
include_directories: '..',
install: true,
install: get_option('install'),
)
catch2_dep = declare_dependency(
@ -364,19 +367,21 @@ catch2_dep = declare_dependency(
include_directories: '..',
)
pkg.generate(
if get_option('install')
pkg.generate(
catch2,
filebase: 'catch2',
description: 'A modern, C++-native, test framework for C++14 and above',
url: 'https://github.com/catchorg/Catch2',
)
)
endif
catch2_with_main = static_library(
'Catch2Main',
'internal/catch_main.cpp',
link_with: catch2,
include_directories: '..',
install: true,
install: get_option('install'),
)
catch2_with_main_dep = declare_dependency(
@ -384,9 +389,11 @@ catch2_with_main_dep = declare_dependency(
include_directories: '..',
)
pkg.generate(
if get_option('install')
pkg.generate(
catch2_with_main,
filebase: 'catch2-with-main',
description: 'A modern, C++-native, test framework for C++14 and above (links in default main)',
requires: 'catch2 = ' + meson.project_version(),
)
)
endif