mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-01-12 02:10:34 +00:00
Improve handling of gflags library
Set minimun gflags version to 2.1.2 Replaced google:: by gflags:: namespace
This commit is contained in:
parent
9490ec1b44
commit
d4ed61df4b
@ -311,6 +311,7 @@ set(GNSSSDR_PYTHON_MIN_VERSION "2.7")
|
||||
set(GNSSSDR_PYTHON3_MIN_VERSION "3.4")
|
||||
set(GNSSSDR_MAKO_MIN_VERSION "0.4.2")
|
||||
set(GNSSSDR_ARMADILLO_MIN_VERSION "5.300.0")
|
||||
set(GNSSSDR_GFLAGS_MIN_VERSION "2.1.2")
|
||||
set(GNSSSDR_MATIO_MIN_VERSION "1.5.3")
|
||||
set(GNSSSDR_PROTOBUF_MIN_VERSION "3.0.0")
|
||||
|
||||
@ -1200,7 +1201,12 @@ set_package_properties(GFLAGS PROPERTIES
|
||||
TYPE REQUIRED
|
||||
)
|
||||
if(NOT GFLAGS_FOUND)
|
||||
message(STATUS " gflags library has not been found.")
|
||||
set(ENABLE_OWN_GLOG ON)
|
||||
if(GFLAGS_VERSION)
|
||||
message(STATUS " A version of the gflags library equal or higher than v${GNSSSDR_GFLAGS_MIN_VERSION} has not been found.")
|
||||
else()
|
||||
message(STATUS " The gflags library has not been found.")
|
||||
endif()
|
||||
message(STATUS " gflags v${GNSSSDR_GFLAGS_LOCAL_VERSION} will be downloaded and built automatically")
|
||||
message(STATUS " when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'.")
|
||||
set(GFLAGS_BUILD_COMMAND ${CMAKE_COMMAND}
|
||||
@ -1224,9 +1230,10 @@ if(NOT GFLAGS_FOUND)
|
||||
CMAKE_ARGS -DBUILD_SHARED_LIBS=OFF
|
||||
-DBUILD_STATIC_LIBS=ON
|
||||
-DBUILD_gflags_LIB=ON
|
||||
-DBUILD_gflags_nothreads_LIB=OFF
|
||||
-DBUILD_gflags_nothreads_LIB=ON
|
||||
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
|
||||
${GFLAGS_TOOLCHAIN_FILE}
|
||||
-DGFLAGS_NAMESPACE=google
|
||||
-DCMAKE_BUILD_TYPE=$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:Debug>$<$<CONFIG:Coverage>:Debug>$<$<CONFIG:O2WithASM>:RelWithDebInfo>$<$<CONFIG:O3WithASM>:RelWithDebInfo>$<$<CONFIG:ASAN>:Debug>
|
||||
BUILD_COMMAND ${GFLAGS_BUILD_COMMAND}
|
||||
UPDATE_COMMAND ""
|
||||
@ -1316,6 +1323,11 @@ if(NOT GFLAGS_FOUND)
|
||||
set_package_properties(GFLAGS PROPERTIES
|
||||
PURPOSE "Gflags v${GNSSSDR_GFLAGS_LOCAL_VERSION} will be downloaded and built when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'."
|
||||
)
|
||||
if(CMAKE_VERSION VERSION_LESS 3.2)
|
||||
set_property(TARGET Gflags::gflags APPEND PROPERTY
|
||||
INTERFACE_COMPILE_DEFINITIONS GFLAGS_OLD_NAMESPACE=1
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
|
@ -115,10 +115,7 @@ else()
|
||||
set(GFlags_FOUND false)
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(GFLAGS DEFAULT_MSG GFlags_LIBS GFlags_INCLUDE_DIRS)
|
||||
|
||||
if(GFLAGS_FOUND)
|
||||
if(GFlags_LIBS AND GFlags_INCLUDE_DIRS)
|
||||
if(NOT PACKAGE_VERSION)
|
||||
set(PACKAGE_VERSION "")
|
||||
endif()
|
||||
@ -129,6 +126,11 @@ if(GFLAGS_FOUND)
|
||||
if(EXISTS ${GFlags_LIBS_DIR}/cmake/gflags/gflags-config-version.cmake)
|
||||
include(${GFlags_LIBS_DIR}/cmake/gflags/gflags-config-version.cmake)
|
||||
endif()
|
||||
if(NOT PACKAGE_VERSION)
|
||||
if(EXISTS ${GFlags_INCLUDE_DIRS}/google/gflags.h)
|
||||
set(PACKAGE_VERSION "2.0")
|
||||
endif()
|
||||
endif()
|
||||
if(PACKAGE_VERSION)
|
||||
set(GFLAGS_VERSION ${PACKAGE_VERSION})
|
||||
set_package_properties(GFLAGS PROPERTIES
|
||||
@ -150,6 +152,17 @@ set_package_properties(GFLAGS PROPERTIES
|
||||
URL "https://github.com/gflags/gflags"
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(GFLAGS DEFAULT_MSG GFlags_LIBS GFlags_INCLUDE_DIRS)
|
||||
|
||||
if(GFLAGS_VERSION)
|
||||
if(${GFLAGS_VERSION} VERSION_LESS "${GNSSSDR_GFLAGS_MIN_VERSION}")
|
||||
set(GFLAGS_FOUND FALSE)
|
||||
unset(GFlags_LIBS CACHE)
|
||||
unset(GFlags_INCLUDE_DIRS CACHE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(GFLAGS_FOUND AND NOT TARGET Gflags::gflags)
|
||||
add_library(Gflags::gflags SHARED IMPORTED)
|
||||
set_target_properties(Gflags::gflags PROPERTIES
|
||||
|
@ -19,6 +19,9 @@ SPDX-FileCopyrightText: 2011-2020 Carles Fernandez-Prades <carles.fernandez@cttc
|
||||
|
||||
- Fixed `-DENABLE_OWN_GLOG=ON` building option when gflags is installed and it
|
||||
is older than v2.1.2 (_e.g._, in CentOS 7).
|
||||
- Improved handling of old gflags versions, minimum version set to 2.1.2.
|
||||
Replaced `google::` by `gflags::` namespace when using functions of the gflags
|
||||
library.
|
||||
- Fixed static linking of the matio library when downloaded and built by CMake.
|
||||
|
||||
### Improvements in Usability:
|
||||
|
@ -67,6 +67,12 @@ namespace fs = std::filesystem;
|
||||
namespace fs = boost::filesystem;
|
||||
namespace errorlib = boost::system;
|
||||
#endif
|
||||
#if GFLAGS_OLD_NAMESPACE
|
||||
namespace gflags
|
||||
{
|
||||
using namespace google;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Concurrent queues that communicates the Telemetry Decoder
|
||||
@ -86,9 +92,9 @@ int main(int argc, char** argv)
|
||||
"See COPYING file to see a copy of the General Public License\n \n");
|
||||
|
||||
const std::string gnss_sdr_version(GNSS_SDR_VERSION);
|
||||
google::SetUsageMessage(intro_help);
|
||||
google::SetVersionString(gnss_sdr_version);
|
||||
google::ParseCommandLineFlags(&argc, &argv, true);
|
||||
gflags::SetUsageMessage(intro_help);
|
||||
gflags::SetVersionString(gnss_sdr_version);
|
||||
gflags::ParseCommandLineFlags(&argc, &argv, true);
|
||||
std::cout << "Initializing GNSS-SDR v" << gnss_sdr_version << " ... Please wait.\n";
|
||||
|
||||
#if CUDA_GPU_ACCEL
|
||||
@ -124,7 +130,7 @@ int main(int argc, char** argv)
|
||||
if (!fs::create_directory(p, ec))
|
||||
{
|
||||
std::cerr << "Could not create the " << FLAGS_log_dir << " folder. GNSS-SDR program ended.\n";
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@ -146,7 +152,7 @@ int main(int argc, char** argv)
|
||||
catch (const boost::thread_resource_error& e)
|
||||
{
|
||||
std::cerr << "Failed to create boost thread.\n";
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
std::cout << "GNSS-SDR program ended.\n";
|
||||
return 1;
|
||||
}
|
||||
@ -161,7 +167,7 @@ int main(int argc, char** argv)
|
||||
{
|
||||
std::cerr << "Boost exception: " << boost::diagnostic_information(e) << '\n';
|
||||
}
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
std::cout << "GNSS-SDR program ended.\n";
|
||||
return 1;
|
||||
}
|
||||
@ -176,7 +182,7 @@ int main(int argc, char** argv)
|
||||
{
|
||||
std::cerr << "C++ Standard Library exception: " << ex.what() << '\n';
|
||||
}
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
std::cout << "GNSS-SDR program ended.\n";
|
||||
return 1;
|
||||
}
|
||||
@ -191,7 +197,7 @@ int main(int argc, char** argv)
|
||||
{
|
||||
std::cerr << "Unexpected catch. This should not happen.\n";
|
||||
}
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
std::cout << "GNSS-SDR program ended.\n";
|
||||
return 1;
|
||||
}
|
||||
@ -204,7 +210,7 @@ int main(int argc, char** argv)
|
||||
<< elapsed_seconds.count()
|
||||
<< " [seconds]\n";
|
||||
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
std::cout << "GNSS-SDR program ended.\n";
|
||||
return return_code;
|
||||
}
|
||||
|
@ -27,6 +27,12 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include <iostream>
|
||||
|
||||
#if GFLAGS_OLD_NAMESPACE
|
||||
namespace gflags
|
||||
{
|
||||
using namespace google;
|
||||
}
|
||||
#endif
|
||||
|
||||
Concurrent_Queue<Gps_Acq_Assist> global_gps_acq_assist_queue;
|
||||
|
||||
@ -36,7 +42,7 @@ DECLARE_string(log_dir);
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
google::ParseCommandLineFlags(&argc, &argv, true);
|
||||
gflags::ParseCommandLineFlags(&argc, &argv, true);
|
||||
try
|
||||
{
|
||||
testing::InitGoogleTest(&argc, argv);
|
||||
@ -54,6 +60,6 @@ int main(int argc, char **argv)
|
||||
{
|
||||
LOG(WARNING) << "Unexpected catch";
|
||||
}
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return res;
|
||||
}
|
||||
|
@ -57,6 +57,13 @@ namespace fs = std::filesystem;
|
||||
namespace fs = boost::filesystem;
|
||||
#endif
|
||||
|
||||
#if GFLAGS_OLD_NAMESPACE
|
||||
namespace gflags
|
||||
{
|
||||
using namespace google;
|
||||
}
|
||||
#endif
|
||||
|
||||
// For GPS NAVIGATION (L1)
|
||||
Concurrent_Queue<Gps_Acq_Assist> global_gps_acq_assist_queue;
|
||||
Concurrent_Map<Gps_Acq_Assist> global_gps_acq_assist_map;
|
||||
@ -988,7 +995,7 @@ int main(int argc, char** argv)
|
||||
{
|
||||
} // catch the "testing::internal::<unnamed>::ClassUniqueToAlwaysTrue" from gtest
|
||||
|
||||
google::ParseCommandLineFlags(&argc, &argv, true);
|
||||
gflags::ParseCommandLineFlags(&argc, &argv, true);
|
||||
google::InitGoogleLogging(argv[0]);
|
||||
|
||||
// Run the Tests
|
||||
@ -1000,6 +1007,6 @@ int main(int argc, char** argv)
|
||||
{
|
||||
LOG(WARNING) << "Unexpected catch";
|
||||
}
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return res;
|
||||
}
|
||||
|
@ -42,6 +42,12 @@
|
||||
#include <sys/types.h>
|
||||
#include <thread>
|
||||
|
||||
#if GFLAGS_OLD_NAMESPACE
|
||||
namespace gflags
|
||||
{
|
||||
using namespace google;
|
||||
}
|
||||
#endif
|
||||
|
||||
DEFINE_int32(fs_in, 4000000, "Sampling rate, in Samples/s");
|
||||
DEFINE_int32(max_measurement_duration, 90, "Maximum time waiting for a position fix, in seconds");
|
||||
@ -589,7 +595,7 @@ int main(int argc, char **argv)
|
||||
{
|
||||
} // catch the "testing::internal::<unnamed>::ClassUniqueToAlwaysTrue" from gtest
|
||||
|
||||
google::ParseCommandLineFlags(&argc, &argv, true);
|
||||
gflags::ParseCommandLineFlags(&argc, &argv, true);
|
||||
google::InitGoogleLogging(argv[0]);
|
||||
|
||||
// Start queue thread
|
||||
@ -624,6 +630,6 @@ int main(int argc, char **argv)
|
||||
receive_msg_thread.join();
|
||||
msgctl(sysv_msqid, IPC_RMID, nullptr);
|
||||
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return res;
|
||||
}
|
||||
|
@ -26,6 +26,13 @@
|
||||
#include <gtest/gtest.h>
|
||||
#include <iostream>
|
||||
|
||||
#if GFLAGS_OLD_NAMESPACE
|
||||
namespace gflags
|
||||
{
|
||||
using namespace google;
|
||||
}
|
||||
#endif
|
||||
|
||||
DECLARE_string(log_dir);
|
||||
|
||||
#if UNIT_TESTING_MINIMAL
|
||||
@ -164,7 +171,7 @@ int main(int argc, char **argv)
|
||||
catch (...)
|
||||
{
|
||||
} // catch the "testing::internal::<unnamed>::ClassUniqueToAlwaysTrue" from gtest
|
||||
google::ParseCommandLineFlags(&argc, &argv, true);
|
||||
gflags::ParseCommandLineFlags(&argc, &argv, true);
|
||||
google::InitGoogleLogging(argv[0]);
|
||||
try
|
||||
{
|
||||
@ -174,6 +181,6 @@ int main(int argc, char **argv)
|
||||
{
|
||||
LOG(WARNING) << "Unexpected catch";
|
||||
}
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return res;
|
||||
}
|
||||
|
@ -82,6 +82,13 @@ namespace fs = std::filesystem;
|
||||
namespace fs = boost::filesystem;
|
||||
#endif
|
||||
|
||||
#if GFLAGS_OLD_NAMESPACE
|
||||
namespace gflags
|
||||
{
|
||||
using namespace google;
|
||||
}
|
||||
#endif
|
||||
|
||||
DECLARE_string(log_dir);
|
||||
|
||||
Concurrent_Map<Gps_Ephemeris> global_gps_ephemeris_map;
|
||||
@ -274,9 +281,9 @@ int main(int argc, char** argv)
|
||||
"This program comes with ABSOLUTELY NO WARRANTY;\n" +
|
||||
"See COPYING file to see a copy of the General Public License\n \n");
|
||||
|
||||
google::SetUsageMessage(intro_help);
|
||||
gflags::SetUsageMessage(intro_help);
|
||||
google::SetVersionString(FRONT_END_CAL_VERSION);
|
||||
google::ParseCommandLineFlags(&argc, &argv, true);
|
||||
gflags::ParseCommandLineFlags(&argc, &argv, true);
|
||||
|
||||
std::cout << "Initializing... Please wait.\n";
|
||||
|
||||
@ -514,7 +521,7 @@ int main(int argc, char** argv)
|
||||
else
|
||||
{
|
||||
std::cout << "Unable to get Ephemeris SUPL assistance. TOW is unknown!\n";
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
std::cout << "GNSS-SDR Front-end calibration program ended.\n";
|
||||
return 0;
|
||||
}
|
||||
@ -522,7 +529,7 @@ int main(int argc, char** argv)
|
||||
catch (const boost::exception& e)
|
||||
{
|
||||
std::cout << "Exception in getting Global ephemeris map\n";
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
std::cout << "GNSS-SDR Front-end calibration program ended.\n";
|
||||
return 0;
|
||||
}
|
||||
@ -541,7 +548,7 @@ int main(int argc, char** argv)
|
||||
if (doppler_measurements_map.empty())
|
||||
{
|
||||
std::cout << "Sorry, no GPS satellites detected in the front-end capture, please check the antenna setup...\n";
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
std::cout << "GNSS-SDR Front-end calibration program ended.\n";
|
||||
return 0;
|
||||
}
|
||||
@ -635,6 +642,6 @@ int main(int argc, char** argv)
|
||||
}
|
||||
}
|
||||
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
std::cout << "GNSS-SDR Front-end calibration program ended.\n";
|
||||
}
|
||||
|
@ -62,6 +62,12 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#if GFLAGS_OLD_NAMESPACE
|
||||
namespace gflags
|
||||
{
|
||||
using namespace google;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Create the lists of GNSS satellites
|
||||
std::set<int> available_gps_prn = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
|
||||
@ -1660,7 +1666,7 @@ void RINEX_singlediff()
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
std::cout << "Running RINEX observables difference tool...\n";
|
||||
google::ParseCommandLineFlags(&argc, &argv, true);
|
||||
gflags::ParseCommandLineFlags(&argc, &argv, true);
|
||||
if (FLAGS_single_diff)
|
||||
{
|
||||
if (FLAGS_dupli_sat)
|
||||
@ -1677,6 +1683,6 @@ int main(int argc, char** argv)
|
||||
RINEX_doublediff(FLAGS_remove_rx_clock_error);
|
||||
}
|
||||
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return 0;
|
||||
}
|
||||
|
@ -38,6 +38,12 @@
|
||||
#include <cstdlib>
|
||||
#include <iostream>
|
||||
|
||||
#if GFLAGS_OLD_NAMESPACE
|
||||
namespace gflags
|
||||
{
|
||||
using namespace google;
|
||||
}
|
||||
#endif
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
@ -49,9 +55,9 @@ int main(int argc, char** argv)
|
||||
"Usage: \n" +
|
||||
" rinex2assist <RINEX Nav file input>");
|
||||
|
||||
google::SetUsageMessage(intro_help);
|
||||
gflags::SetUsageMessage(intro_help);
|
||||
google::SetVersionString("1.0");
|
||||
google::ParseCommandLineFlags(&argc, &argv, true);
|
||||
gflags::ParseCommandLineFlags(&argc, &argv, true);
|
||||
|
||||
if ((argc != 2))
|
||||
{
|
||||
@ -59,7 +65,7 @@ int main(int argc, char** argv)
|
||||
std::cerr << " " << argv[0]
|
||||
<< " <RINEX Nav file input>"
|
||||
<< '\n';
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return 1;
|
||||
}
|
||||
std::string xml_filename;
|
||||
@ -297,14 +303,14 @@ int main(int argc, char** argv)
|
||||
{
|
||||
std::cerr << "Error reading the RINEX file: " << e.what() << '\n';
|
||||
std::cerr << "No XML file will be created.\n";
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (i == 0 and j == 0)
|
||||
{
|
||||
std::cerr << "No navigation data found in the RINEX file. No XML file will be created.\n";
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -325,7 +331,7 @@ int main(int argc, char** argv)
|
||||
catch (std::exception& e)
|
||||
{
|
||||
std::cerr << "Problem creating the XML file " << xml_filename << ": " << e.what() << '\n';
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return 1;
|
||||
}
|
||||
std::cout << "Generated file: " << xml_filename << '\n';
|
||||
@ -343,7 +349,7 @@ int main(int argc, char** argv)
|
||||
catch (std::exception& e)
|
||||
{
|
||||
std::cerr << "Problem creating the XML file " << xml_filename << ": " << e.what() << '\n';
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return 1;
|
||||
}
|
||||
std::cout << "Generated file: " << xml_filename << '\n';
|
||||
@ -363,7 +369,7 @@ int main(int argc, char** argv)
|
||||
catch (std::exception& e)
|
||||
{
|
||||
std::cerr << "Problem creating the XML file " << xml_filename << ": " << e.what() << '\n';
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return 1;
|
||||
}
|
||||
std::cout << "Generated file: " << xml_filename << '\n';
|
||||
@ -383,7 +389,7 @@ int main(int argc, char** argv)
|
||||
catch (std::exception& e)
|
||||
{
|
||||
std::cerr << "Problem creating the XML file " << xml_filename << ": " << e.what() << '\n';
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return 1;
|
||||
}
|
||||
std::cout << "Generated file: " << xml_filename << '\n';
|
||||
@ -402,7 +408,7 @@ int main(int argc, char** argv)
|
||||
catch (std::exception& e)
|
||||
{
|
||||
std::cerr << "Problem creating the XML file " << xml_filename << ": " << e.what() << '\n';
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return 1;
|
||||
}
|
||||
std::cout << "Generated file: " << xml_filename << '\n';
|
||||
@ -420,11 +426,11 @@ int main(int argc, char** argv)
|
||||
catch (std::exception& e)
|
||||
{
|
||||
std::cerr << "Problem creating the XML file " << xml_filename << ": " << e.what() << '\n';
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return 1;
|
||||
}
|
||||
std::cout << "Generated file: " << xml_filename << '\n';
|
||||
}
|
||||
google::ShutDownCommandLineFlags();
|
||||
gflags::ShutDownCommandLineFlags();
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user