1
0
Fork 0

Really make profiling commands optional

This commit is contained in:
Thomas Geymayer 2012-11-15 13:56:31 +01:00
parent 0761af344d
commit 779a9ae415
4 changed files with 13 additions and 9 deletions

View file

@ -105,6 +105,7 @@ option(ENABLE_JSBSIM "Set to ON to build FlightGear with JSBSim FDM (default
option(EVENT_INPUT "Set to ON to build FlightGear with event-based Input support" ${EVENT_INPUT_DEFAULT})
option(ENABLE_LIBSVN "Set to ON to build FlightGear/terrasync with libsvnclient support (default)" ON)
option(ENABLE_RTI "Set to ON to build FlightGear with RTI support" OFF)
option(ENABLE_PROFILE "Set to ON to build FlightGear with gperftools profiling support" ON)
option(JPEG_FACTORY "Set to ON to build FlightGear with JPEG-factory support" OFF)
option(SYSTEM_SQLITE "Set to ON to build FlightGear with the system's SQLite3 library" OFF)
@ -223,8 +224,12 @@ check_include_file(unistd.h HAVE_UNISTD_H)
check_include_file(sys/time.h HAVE_SYS_TIME_H)
check_include_file(windows.h HAVE_WINDOWS_H)
# check optionally supported dependencies
find_package(GooglePerfTools)
if(ENABLE_PROFILE)
find_package(GooglePerfTools)
if(GOOGLE_PERFTOOLS_FOUND)
set(FG_HAVE_GPERFTOOLS 1)
endif()
endif()
if(ENABLE_RTI)
find_package(RTI)

View file

@ -36,6 +36,7 @@
#define WEB_BROWSER "@WEB_BROWSER@"
#cmakedefine FG_HAVE_HLA
#cmakedefine FG_HAVE_GPERFTOOLS
#cmakedefine FG_JPEG_SERVER
#cmakedefine SYSTEM_SQLITE

View file

@ -90,7 +90,7 @@ if(ENABLE_JSBSIM)
target_link_libraries(fgfs JSBSim)
endif()
if(GOOGLE_PERFTOOLS_FOUND)
if(FG_HAVE_GPERFTOOLS)
target_link_libraries(fgfs profiler)
endif()

View file

@ -53,7 +53,7 @@
#include <boost/scoped_array.hpp>
#if GOOGLE_PERFTOOLS_FOUND == YES
#ifdef FG_HAVE_GPERFTOOLS
# include <google/profiler.h>
#endif
@ -1453,7 +1453,7 @@ do_release_cockpit_button (const SGPropertyNode *arg)
// Optional profiling commands using gperftools:
// http://code.google.com/p/gperftools/
#if GOOGLE_PERFTOOLS_FOUND != YES
#ifndef FG_HAVE_GPERFTOOLS
static void
no_profiling_support()
{
@ -1469,7 +1469,7 @@ no_profiling_support()
static bool
do_profiler_start(const SGPropertyNode *arg)
{
#if GOOGLE_PERFTOOLS_FOUND == YES
#ifdef FG_HAVE_GPERFTOOLS
const char *filename = arg->getStringValue("filename", "fgfs.profile");
ProfilerStart(filename);
return true;
@ -1482,7 +1482,7 @@ do_profiler_start(const SGPropertyNode *arg)
static bool
do_profiler_stop(const SGPropertyNode *arg)
{
#if GOOGLE_PERFTOOLS_FOUND == YES
#ifdef FG_HAVE_GPERFTOOLS
ProfilerStop();
return true;
#else
@ -1565,10 +1565,8 @@ static struct {
{ "reload-shaders", do_reload_shaders },
{ "reload-materials", do_materials_reload },
#if GOOGLE_PERFTOOLS_FOUND == YES
{ "profiler-start", do_profiler_start },
{ "profiler-stop", do_profiler_stop },
#endif
{ 0, 0 } // zero-terminated
};