// -*- c++ -*- #include #include #include #include #include int execute(const std::string& command, const std::vector& args, bool verbose = true); namespace { ctor::build_configurations myConfigs(const ctor::settings& settings) { // // Qookie main application // ctor::build_configuration qookie = { .target = "qookie", // output filename .sources = { "src/qookie.cc", "src/database.cc", "src/database_gourmet.cc", "src/database_krecipes.cc", "src/database_qookie.cc", "src/mainwindow.cc", "src/viewer.cc", "src/client.cc", settings.builddir + "/moc_mainwindow.cc", settings.builddir + "/moc_viewer.cc", settings.builddir + "/moc_client.cc", }, .flags = { .cxxflags = { "-fPIC", "-Wall", "-Werror", "-Wextra",// "-Wconversion", "-Wno-deprecated-copy", "-g", }, }, .externals = { "qt", "sqlite" }, }; // // Moc generation for all configurations // ctor::build_configuration mocs = { .sources = { { "src/mainwindow.h", "moc_mainwindow.cc"}, { "src/viewer.h", "moc_viewer.cc"}, { "src/client.h", "moc_client.cc"}, { "src/qookie-cast-client.h", "moc_qookie-cast-client.cc"}, }, .function = [](const std::string& input, const std::string& output, const ctor::build_configuration& config, const ctor::settings& settings) { return execute("/usr/bin/moc", {"-I../src", "-o", output, input}, settings.verbose > 0); } }; // // Qookie-cast client // ctor::build_configuration qookie_cast_client = { .target = "qookie-cast-client", // output filename .sources = { "src/qookie-cast-client.cc", settings.builddir + "/moc_qookie-cast-client.cc", }, .flags = { .cxxflags = { "-fPIC", "-Wall", "-Werror", "-Wextra",// "-Wconversion", "-Wno-deprecated-copy", "-g", }, }, .externals = {"qt"}, }; return { qookie, mocs, qookie_cast_client }; } ctor::external_configurations ctorExtConfigs(const ctor::settings& settings) { return { { .name = "qt", .external = ctor::external_manual{ .flags = { .cxxflags = { "-I/usr/include/qt5", }, .ldflags = { "-lQt5Core", "-lQt5Network", "-lQt5Gui", "-lQt5Widgets", }, }, }, }, { .name = "sqlite", .external = ctor::external_manual{ .flags = { .ldflags = { "-lsqlite3", }, }, }, }, }; } } // Register callbacks REG(myConfigs); REG(ctorExtConfigs);