mirror of
https://git.proxmox.com/git/libgit2
synced 2025-11-01 13:47:36 +00:00
Basic setup for profiling
This fixes the examples so they will build and adds a PROFILE option to the CMakeFile that enabled gprof info on non-Windows
This commit is contained in:
parent
db756d5898
commit
706a9974a2
@ -53,6 +53,7 @@ OPTION (BUILD_SHARED_LIBS "Build Shared Library (OFF for Static)" ON)
|
||||
OPTION (THREADSAFE "Build libgit2 as threadsafe" OFF)
|
||||
OPTION (BUILD_CLAR "Build Tests using the Clar suite" ON)
|
||||
OPTION (TAGS "Generate tags" OFF)
|
||||
OPTION (PROFILE "Generate profiling information" OFF)
|
||||
|
||||
# Platform specific compilation flags
|
||||
IF (MSVC)
|
||||
@ -74,6 +75,10 @@ ELSE ()
|
||||
IF (NOT MINGW) # MinGW always does PIC and complains if we tell it to
|
||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
||||
ENDIF ()
|
||||
IF (PROFILE)
|
||||
SET(CMAKE_C_FLAGS "-pg ${CMAKE_C_FLAGS}")
|
||||
SET(CMAKE_EXE_LINKER_FLAGS "-pg ${CMAKE_EXE_LINKER_FLAGS}")
|
||||
ENDIF ()
|
||||
ENDIF()
|
||||
|
||||
# Build Debug by default
|
||||
|
||||
@ -61,7 +61,13 @@ char *colors[] = {
|
||||
"\033[36m" /* cyan */
|
||||
};
|
||||
|
||||
int printer(void *data, char usage, const char *line)
|
||||
int printer(
|
||||
void *data,
|
||||
git_diff_delta *delta,
|
||||
git_diff_range *range,
|
||||
char usage,
|
||||
const char *line,
|
||||
size_t line_len)
|
||||
{
|
||||
int *last_color = data, color = 0;
|
||||
|
||||
|
||||
@ -273,7 +273,7 @@ int main (int argc, char** argv)
|
||||
|
||||
// Once you have the entry object, you can access the content or subtree (or commit, in the case
|
||||
// of submodules) that it points to. You can also get the mode if you want.
|
||||
git_tree_entry_2object(&objt, repo, entry); // blob
|
||||
git_tree_entry_to_object(&objt, repo, entry); // blob
|
||||
|
||||
// Remember to close the looked-up object once you are done using it
|
||||
git_object_free(objt);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user