In order to reduce parsing load on clients, the generated ParserKeywords now come in their own sorted-by-first-letter files, so that inclusion of the entire tree is unnecessary when only a handful of keywords will do. This also applies to the generated source code (which is pretty heavy to compile), which now is split into multiple files to enable parallel builds.
32 lines
1.2 KiB
C++
32 lines
1.2 KiB
C++
#include <opm/parser/eclipse/Generator/KeywordGenerator.hpp>
|
|
#include <opm/parser/eclipse/Generator/KeywordLoader.hpp>
|
|
|
|
|
|
|
|
int main(int argc , char ** argv) {
|
|
if (argc == 7) {
|
|
const char * config_root = argv[1];
|
|
const char * source_file_name = argv[2];
|
|
const char * header_file_base_path = argv[3];
|
|
const char * header_file_name = argv[4];
|
|
const char * test_file_name = argv[5];
|
|
const char * output_files = argv[6];
|
|
bool verboseLoader = false;
|
|
bool verboseGenerator = true;
|
|
|
|
Opm::KeywordLoader loader(verboseLoader);
|
|
Opm::KeywordGenerator generator(verboseGenerator);
|
|
loader.loadMultipleKeywordDirectories( config_root );
|
|
|
|
const int num_output_files = std::atoi( output_files );
|
|
generator.updateSource(loader , source_file_name, num_output_files );
|
|
generator.updateHeader(loader, header_file_base_path, header_file_name );
|
|
generator.updateTest(loader , test_file_name );
|
|
|
|
exit(0);
|
|
} else {
|
|
std::cerr << "Error calling keyword generator: Expected arguments: <config_root> <source_file_name> <header_build_path> <header_file_name> <test_file_name> <num_output_files>" << std::endl;
|
|
exit(1);
|
|
}
|
|
}
|