#include "meson.h" #include #include "project.h" int main() { auto tests_path=boost::filesystem::canonical(JUCI_TESTS_PATH); auto meson_test_files_path=boost::filesystem::canonical(tests_path/"meson_test_files"); { Meson meson(meson_test_files_path/"a_subdir"); g_assert(meson.project_path==meson_test_files_path); } { Meson meson(meson_test_files_path); g_assert(meson.project_path==meson_test_files_path); g_assert(meson.get_executable(meson_test_files_path/"build", meson_test_files_path/"main.cpp")==meson_test_files_path/"build"/"hello"); g_assert(meson.get_executable(meson_test_files_path/"build", meson_test_files_path/"another_file.cpp")==meson_test_files_path/"build"/"another_executable"); g_assert(meson.get_executable(meson_test_files_path/"build", meson_test_files_path/"a_subdir"/"main.cpp")==meson_test_files_path/"build"/"a_subdir"/"hello2"); g_assert(meson.get_executable(meson_test_files_path/"build", meson_test_files_path/"non_existing_file.cpp")==meson_test_files_path/"build"/"hello"); g_assert(meson.get_executable(meson_test_files_path/"build", meson_test_files_path)==meson_test_files_path/"build"/"hello"); g_assert(meson.get_executable(meson_test_files_path/"build", meson_test_files_path/"a_subdir")==meson_test_files_path/"build"/"a_subdir"/"hello2"); g_assert(meson.get_executable(meson_test_files_path/"build", meson_test_files_path/"a_subdir"/"non_existing_file.cpp")==meson_test_files_path/"build"/"a_subdir"/"hello2"); } auto build=Project::Build::create(meson_test_files_path); g_assert(dynamic_cast(build.get())); build=Project::Build::create(meson_test_files_path/"a_subdir"); g_assert(dynamic_cast(build.get())); }