2016-05-16 00:58:32 -07:00
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
# include "config.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include "Edi.h"
|
|
|
|
#include "edi_build_provider.h"
|
|
|
|
|
|
|
|
#include "edi_private.h"
|
|
|
|
|
|
|
|
extern Edi_Build_Provider _edi_build_provider_make;
|
2017-02-18 14:19:17 -08:00
|
|
|
extern Edi_Build_Provider _edi_build_provider_cmake;
|
2017-07-04 06:10:55 -07:00
|
|
|
extern Edi_Build_Provider _edi_build_provider_cargo;
|
2017-02-06 16:05:06 -08:00
|
|
|
extern Edi_Build_Provider _edi_build_provider_python;
|
2017-07-05 08:22:08 -07:00
|
|
|
extern Edi_Build_Provider _edi_build_provider_meson;
|
2018-02-17 12:02:03 -08:00
|
|
|
extern Edi_Build_Provider _edi_build_provider_go;
|
2016-05-16 00:58:32 -07:00
|
|
|
|
|
|
|
EAPI Edi_Build_Provider *edi_build_provider_for_project_get()
|
|
|
|
{
|
|
|
|
return edi_build_provider_for_project_path_get(edi_project_get());
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI Edi_Build_Provider *edi_build_provider_for_project_path_get(const char *path)
|
|
|
|
{
|
|
|
|
if (!path)
|
|
|
|
return NULL;
|
|
|
|
|
2017-02-18 14:19:17 -08:00
|
|
|
if (_edi_build_provider_cmake.path_supported_is(path))
|
|
|
|
return &_edi_build_provider_cmake;
|
2017-07-04 06:10:55 -07:00
|
|
|
if (_edi_build_provider_cargo.path_supported_is(path))
|
|
|
|
return &_edi_build_provider_cargo;
|
2017-02-06 16:05:06 -08:00
|
|
|
if (_edi_build_provider_python.path_supported_is(path))
|
|
|
|
return &_edi_build_provider_python;
|
2017-07-05 08:22:08 -07:00
|
|
|
if (_edi_build_provider_meson.path_supported_is(path))
|
|
|
|
return &_edi_build_provider_meson;
|
2018-02-17 12:02:03 -08:00
|
|
|
if (_edi_build_provider_go.path_supported_is(path))
|
|
|
|
return &_edi_build_provider_go;
|
2017-08-18 07:37:07 -07:00
|
|
|
if (_edi_build_provider_make.path_supported_is(path))
|
|
|
|
return &_edi_build_provider_make;
|
2017-02-06 16:05:06 -08:00
|
|
|
|
2016-05-16 00:58:32 -07:00
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
EAPI Edi_Build_Provider *edi_build_provider_for_id_get(const char *id)
|
|
|
|
{
|
|
|
|
if (!strcmp("make", id))
|
|
|
|
return &_edi_build_provider_make;
|
2017-02-18 14:19:17 -08:00
|
|
|
if (!strcmp("cmake", id))
|
|
|
|
return &_edi_build_provider_cmake;
|
2017-07-04 06:10:55 -07:00
|
|
|
if (!strcmp("cargo", id))
|
|
|
|
return &_edi_build_provider_cargo;
|
2017-02-18 14:19:17 -08:00
|
|
|
if (!strcmp("python", id))
|
|
|
|
return &_edi_build_provider_python;
|
2017-07-05 08:22:08 -07:00
|
|
|
if (!strcmp("meson", id))
|
|
|
|
return &_edi_build_provider_meson;
|
2018-02-17 12:02:03 -08:00
|
|
|
if (!strcmp("go", id))
|
|
|
|
return &_edi_build_provider_go;
|
2016-05-16 00:58:32 -07:00
|
|
|
|
|
|
|
return NULL;
|
|
|
|
}
|