Jelajahi Sumber

增加Cmake FindPerftools模块

tanghai 14 tahun lalu
induk
melakukan
06277f1b21

+ 4 - 1
Src/CMakeLists.txt

@@ -3,7 +3,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
 SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Cmake)
 SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
 
-ADD_DEFINITIONS(-g)
+ADD_DEFINITIONS(-O2)
 
 PROJECT(Cpp)
 
@@ -34,6 +34,8 @@ INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIRS})
 FIND_PACKAGE(PythonLibs REQUIRED)
 INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIRS})
 
+FIND_PACKAGE(Perftools REQUIRED)
+
 FIND_PACKAGE(Boost REQUIRED python thread system)
 SET(Boost_USE_STATIC_LIBS    ON)
 SET(Boost_USE_MULTITHREADED  ON)
@@ -48,6 +50,7 @@ set(ThirdPartyLibs
 	${PROTOBUF_LIBRARIES}
 	${Boost_LIBRARIES}
 	${PYTHON_LIBRARIES}
+	${PERFTOOLS_DEBUG_LIBRARIES}
 )
 
 ADD_SUBDIRECTORY(Egametang)

+ 4 - 16
Src/Cmake/FindGFlags.cmake

@@ -1,27 +1,15 @@
 FIND_PATH(GFLAGS_INCLUDE_DIR gflags/gflags.h)
 
-# Google's provided vcproj files generate libraries with a "lib"
-# prefix on Windows
-IF(WIN32)
-    SET(GFLAGS_ORIG_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
-    SET(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
-ENDIF()
-
 FIND_LIBRARY(GFLAGS_LIBRARY NAMES gflags
-             DOC "The Google Gflags Library"
-             )
+			DOC "The Google Gflags Library"
+			)
 
 MARK_AS_ADVANCED(GFLAGS_INCLUDE_DIR GFLAGS_LIBRARY)
 
-# Restore original find library prefixes
-IF(WIN32)
-    SET(CMAKE_FIND_LIBRARY_PREFIXES "${GFLAGS_ORIG_FIND_LIBRARY_PREFIXES}")
-ENDIF()
-
 include(FindPackageHandleStandardArgs)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(GFLAGS DEFAULT_MSG GFLAGS_LIBRARY GFLAGS_INCLUDE_DIR)
 
 IF(GFLAGS_FOUND)
-    SET(GFLAGS_INCLUDE_DIRS ${GFLAGS_INCLUDE_DIR})
-    SET(GFLAGS_LIBRARIES    ${GFLAGS_LIBRARY})
+	SET(GFLAGS_INCLUDE_DIRS ${GFLAGS_INCLUDE_DIR})
+	SET(GFLAGS_LIBRARIES    ${GFLAGS_LIBRARY})
 ENDIF()

+ 4 - 16
Src/Cmake/FindGLog.cmake

@@ -1,27 +1,15 @@
 FIND_PATH(GLOG_INCLUDE_DIR glog/logging.h)
 
-# Google's provided vcproj files generate libraries with a "lib"
-# prefix on Windows
-IF(WIN32)
-    set(GLOG_ORIG_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
-    set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
-ENDIF()
-
 FIND_LIBRARY(GLOG_LIBRARY NAMES glog
-             DOC "The Google Glog Library"
-             )
+			DOC "The Google Glog Library"
+			)
 
 MARK_AS_ADVANCED(GLOG_INCLUDE_DIR GLOG_LIBRARY)
 
-# Restore original find library prefixes
-IF(WIN32)
-    SET(CMAKE_FIND_LIBRARY_PREFIXES "${GLOG_ORIG_FIND_LIBRARY_PREFIXES}")
-ENDIF()
-
 INCLUDE(FindPackageHandleStandardArgs)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLOG DEFAULT_MSG GLOG_LIBRARY GLOG_INCLUDE_DIR)
 
 IF(GLOG_FOUND)
-    SET(GLOG_INCLUDE_DIRS ${GLOG_INCLUDE_DIR})
-    SET(GLOG_LIBRARIES    ${GLOG_LIBRARY})
+	SET(GLOG_INCLUDE_DIRS ${GLOG_INCLUDE_DIR})
+	SET(GLOG_LIBRARIES    ${GLOG_LIBRARY})
 ENDIF()

+ 4 - 4
Src/Cmake/FindGMock.cmake

@@ -1,8 +1,8 @@
 FIND_PATH(GMOCK_INCLUDE_DIR gmock/gmock.h)
 
 FIND_LIBRARY(GMOCK_LIBRARY NAMES gmock
-             DOC "The Google Gmock Library"
-             )
+			DOC "The Google Gmock Library"
+			)
 
 MARK_AS_ADVANCED(GMOCK_INCLUDE_DIR GMOCK_LIBRARY)
 
@@ -10,6 +10,6 @@ INCLUDE(FindPackageHandleStandardArgs)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(GMOCK DEFAULT_MSG GMOCK_LIBRARY GMOCK_INCLUDE_DIR)
 
 IF(GMOCK_FOUND)
-    SET(GMOCK_INCLUDE_DIRS ${GMOCK_INCLUDE_DIR})
-    SET(GMOCK_LIBRARIES    ${GMOCK_LIBRARY})
+	SET(GMOCK_INCLUDE_DIRS ${GMOCK_INCLUDE_DIR})
+	SET(GMOCK_LIBRARIES    ${GMOCK_LIBRARY})
 ENDIF()

+ 4 - 4
Src/Cmake/FindGTest.cmake

@@ -1,8 +1,8 @@
 FIND_PATH(GTEST_INCLUDE_DIR gtest/gtest.h)
 
 FIND_LIBRARY(GTEST_LIBRARY NAMES gtest
-             DOC "The Google Gtest Library"
-             )
+			DOC "The Google Gtest Library"
+			)
 
 MARK_AS_ADVANCED(GTEST_INCLUDE_DIR GTEST_LIBRARY)
 
@@ -10,6 +10,6 @@ INCLUDE(FindPackageHandleStandardArgs)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTEST DEFAULT_MSG GTEST_LIBRARY GTEST_INCLUDE_DIR)
 
 IF(GTEST_FOUND)
-    SET(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR})
-    SET(GTEST_LIBRARIES    ${GTEST_LIBRARY})
+	SET(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIR})
+	SET(GTEST_LIBRARIES    ${GTEST_LIBRARY})
 ENDIF()

+ 20 - 0
Src/Cmake/FindPerftools.cmake

@@ -0,0 +1,20 @@
+FIND_PATH(PERFTOOLS_INCLUDE_DIR google/heap-profiler.h)
+
+FIND_LIBRARY(PERFTOOLS_DEBUG_LIBRARY NAMES tcmalloc_debug
+			DOC "The Google Perftools Debug Library"
+			)
+
+FIND_LIBRARY(PERFTOOLS_LIBRARY NAMES tcmalloc
+			DOC "The Google Perftools Library"
+			)
+			
+MARK_AS_ADVANCED(PERFTOOLS_INCLUDE_DIR PERFTOOLS_DEBUG_LIBRARIE PERFTOOLS_LIBRARIE)
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PERFTOOLS DEFAULT_MSG PERFTOOLS_INCLUDE_DIR PERFTOOLS_DEBUG_LIBRARY PERFTOOLS_LIBRARY)
+
+IF(PERFTOOLS_FOUND)
+	SET(PERFTOOLS_INCLUDE_DIRS ${PERFTOOLS_INCLUDE_DIR})
+	SET(PERFTOOLS_DEBUG_LIBRARIES ${PERFTOOLS_DEBUG_LIBRARY})
+	SET(PERFTOOLS_LIBRARIES ${PERFTOOLS_LIBRARY})
+ENDIF()