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(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)

View file

@ -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

View file

@ -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()

View file

@ -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
}; };