2025-06-22 04:56:04 -04:00
|
|
|
required_headers = [
|
|
|
|
|
'fourdst/composition/atomicSpecies.h',
|
|
|
|
|
'fourdst/composition/species.h',
|
|
|
|
|
'fourdst/composition/composition.h'
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
foreach h : required_headers
|
|
|
|
|
if not cpp.has_header(h, include_directories: include_directories('include'))
|
|
|
|
|
error('libcomposition requires the header file ' + h + ' to be present in the fourdst/composition directory.')
|
|
|
|
|
endif
|
|
|
|
|
endforeach
|
|
|
|
|
|
|
|
|
|
species_weight_dep = declare_dependency(
|
|
|
|
|
include_directories: include_directories('include'),
|
2025-03-24 10:41:13 -04:00
|
|
|
)
|
|
|
|
|
|
2025-06-22 04:56:04 -04:00
|
|
|
message('✅ libcomposition species_weight dependency declared')
|
|
|
|
|
|
|
|
|
|
composition_sources = files(
|
|
|
|
|
'lib/composition.cpp',
|
2025-03-24 10:41:13 -04:00
|
|
|
)
|
|
|
|
|
|
2025-06-22 04:56:04 -04:00
|
|
|
|
2025-03-24 10:41:13 -04:00
|
|
|
dependencies = [
|
2025-06-19 14:51:42 -04:00
|
|
|
species_weight_dep,
|
|
|
|
|
const_dep,
|
2025-06-21 11:33:27 -04:00
|
|
|
config_dep,
|
|
|
|
|
log_dep
|
2025-03-24 10:41:13 -04:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
# Define the libcomposition library so it can be linked against by other parts of the build system
|
2025-04-30 11:41:52 -04:00
|
|
|
libcomposition = library('composition',
|
2025-03-24 10:41:13 -04:00
|
|
|
composition_sources,
|
|
|
|
|
cpp_args: ['-fvisibility=default'],
|
|
|
|
|
dependencies: dependencies,
|
|
|
|
|
install : true)
|
|
|
|
|
|
|
|
|
|
composition_dep = declare_dependency(
|
|
|
|
|
link_with: libcomposition,
|
|
|
|
|
dependencies: dependencies,
|
|
|
|
|
sources: composition_sources,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Make headers accessible
|
2025-06-22 04:56:04 -04:00
|
|
|
composition_headers = files(
|
|
|
|
|
'include/fourdst/composition/composition.h',
|
|
|
|
|
'include/fourdst/composition/atomicSpecies.h',
|
2025-08-13 13:07:49 -04:00
|
|
|
'include/fourdst/composition/species.h',
|
|
|
|
|
'include/fourdst/composition/elements.h'
|
2025-06-22 04:56:04 -04:00
|
|
|
)
|
2025-06-21 16:16:52 -04:00
|
|
|
install_headers(composition_headers, subdir : 'fourdst/fourdst/composition')
|
2025-08-13 13:07:49 -04:00
|
|
|
|
|
|
|
|
composition_exception_headers = files(
|
|
|
|
|
'include/fourdst/composition/exceptions/exceptions_composition.h',
|
|
|
|
|
)
|
|
|
|
|
install_headers(composition_exception_headers, subdir : 'fourdst/fourdst/composition/exceptions')
|