Really make profiling commands optional
This commit is contained in:
parent
0761af344d
commit
779a9ae415
4 changed files with 13 additions and 9 deletions
|
@ -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(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_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_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(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)
|
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(sys/time.h HAVE_SYS_TIME_H)
|
||||||
check_include_file(windows.h HAVE_WINDOWS_H)
|
check_include_file(windows.h HAVE_WINDOWS_H)
|
||||||
|
|
||||||
# check optionally supported dependencies
|
if(ENABLE_PROFILE)
|
||||||
find_package(GooglePerfTools)
|
find_package(GooglePerfTools)
|
||||||
|
if(GOOGLE_PERFTOOLS_FOUND)
|
||||||
|
set(FG_HAVE_GPERFTOOLS 1)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(ENABLE_RTI)
|
if(ENABLE_RTI)
|
||||||
find_package(RTI)
|
find_package(RTI)
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
#define WEB_BROWSER "@WEB_BROWSER@"
|
#define WEB_BROWSER "@WEB_BROWSER@"
|
||||||
|
|
||||||
#cmakedefine FG_HAVE_HLA
|
#cmakedefine FG_HAVE_HLA
|
||||||
|
#cmakedefine FG_HAVE_GPERFTOOLS
|
||||||
#cmakedefine FG_JPEG_SERVER
|
#cmakedefine FG_JPEG_SERVER
|
||||||
|
|
||||||
#cmakedefine SYSTEM_SQLITE
|
#cmakedefine SYSTEM_SQLITE
|
||||||
|
|
|
@ -90,7 +90,7 @@ if(ENABLE_JSBSIM)
|
||||||
target_link_libraries(fgfs JSBSim)
|
target_link_libraries(fgfs JSBSim)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(GOOGLE_PERFTOOLS_FOUND)
|
if(FG_HAVE_GPERFTOOLS)
|
||||||
target_link_libraries(fgfs profiler)
|
target_link_libraries(fgfs profiler)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
|
|
||||||
#include <boost/scoped_array.hpp>
|
#include <boost/scoped_array.hpp>
|
||||||
|
|
||||||
#if GOOGLE_PERFTOOLS_FOUND == YES
|
#ifdef FG_HAVE_GPERFTOOLS
|
||||||
# include <google/profiler.h>
|
# include <google/profiler.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1453,7 +1453,7 @@ do_release_cockpit_button (const SGPropertyNode *arg)
|
||||||
// Optional profiling commands using gperftools:
|
// Optional profiling commands using gperftools:
|
||||||
// http://code.google.com/p/gperftools/
|
// http://code.google.com/p/gperftools/
|
||||||
|
|
||||||
#if GOOGLE_PERFTOOLS_FOUND != YES
|
#ifndef FG_HAVE_GPERFTOOLS
|
||||||
static void
|
static void
|
||||||
no_profiling_support()
|
no_profiling_support()
|
||||||
{
|
{
|
||||||
|
@ -1469,7 +1469,7 @@ no_profiling_support()
|
||||||
static bool
|
static bool
|
||||||
do_profiler_start(const SGPropertyNode *arg)
|
do_profiler_start(const SGPropertyNode *arg)
|
||||||
{
|
{
|
||||||
#if GOOGLE_PERFTOOLS_FOUND == YES
|
#ifdef FG_HAVE_GPERFTOOLS
|
||||||
const char *filename = arg->getStringValue("filename", "fgfs.profile");
|
const char *filename = arg->getStringValue("filename", "fgfs.profile");
|
||||||
ProfilerStart(filename);
|
ProfilerStart(filename);
|
||||||
return true;
|
return true;
|
||||||
|
@ -1482,7 +1482,7 @@ do_profiler_start(const SGPropertyNode *arg)
|
||||||
static bool
|
static bool
|
||||||
do_profiler_stop(const SGPropertyNode *arg)
|
do_profiler_stop(const SGPropertyNode *arg)
|
||||||
{
|
{
|
||||||
#if GOOGLE_PERFTOOLS_FOUND == YES
|
#ifdef FG_HAVE_GPERFTOOLS
|
||||||
ProfilerStop();
|
ProfilerStop();
|
||||||
return true;
|
return true;
|
||||||
#else
|
#else
|
||||||
|
@ -1565,10 +1565,8 @@ static struct {
|
||||||
{ "reload-shaders", do_reload_shaders },
|
{ "reload-shaders", do_reload_shaders },
|
||||||
{ "reload-materials", do_materials_reload },
|
{ "reload-materials", do_materials_reload },
|
||||||
|
|
||||||
#if GOOGLE_PERFTOOLS_FOUND == YES
|
|
||||||
{ "profiler-start", do_profiler_start },
|
{ "profiler-start", do_profiler_start },
|
||||||
{ "profiler-stop", do_profiler_stop },
|
{ "profiler-stop", do_profiler_stop },
|
||||||
#endif
|
|
||||||
|
|
||||||
{ 0, 0 } // zero-terminated
|
{ 0, 0 } // zero-terminated
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Reference in a new issue