| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- # Copyright 2018 The Cartographer Authors
 
- #
 
- # Licensed under the Apache License, Version 2.0 (the "License");
 
- # you may not use this file except in compliance with the License.
 
- # You may obtain a copy of the License at
 
- #
 
- #      http://www.apache.org/licenses/LICENSE-2.0
 
- #
 
- # Unless required by applicable law or agreed to in writing, software
 
- # distributed under the License is distributed on an "AS IS" BASIS,
 
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
- # See the License for the specific language governing permissions and
 
- # limitations under the License.
 
- include(CMakeParseArguments)
 
- function(google_test NAME ARG_SRC)
 
-   add_executable(${NAME} ${ARG_SRC})
 
-   set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${GOOG_CXX_FLAGS}")
 
-   set_target_properties(${NAME} PROPERTIES
 
-     COMPILE_FLAGS ${TARGET_COMPILE_FLAGS})
 
-   target_include_directories(${NAME} PUBLIC ${PROJECT_NAME})
 
-   target_link_libraries(${NAME} PUBLIC ${PROJECT_NAME})
 
-   # Make sure that gmock always includes the correct gtest/gtest.h.
 
-   target_include_directories("${NAME}" SYSTEM PRIVATE
 
-     "${GMOCK_INCLUDE_DIRS}")
 
-   target_link_libraries("${NAME}" PUBLIC ${GMOCK_LIBRARIES})
 
-   add_test(${NAME} ${NAME})
 
- endfunction()
 
- # Create a variable 'VAR_NAME'='FLAG'. If VAR_NAME is already set, FLAG is
 
- # appended.
 
- function(google_add_flag VAR_NAME FLAG)
 
-   if (${VAR_NAME})
 
-     set(${VAR_NAME} "${${VAR_NAME}} ${FLAG}" PARENT_SCOPE)
 
-   else()
 
-     set(${VAR_NAME} "${FLAG}" PARENT_SCOPE)
 
-   endif()
 
- endfunction()
 
- macro(google_initialize_async_grpc_project)
 
-   if(ASYNC_GRPC_CMAKE_DIR)
 
-     set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
 
-         ${ASYNC_GRPC_CMAKE_DIR}/modules)
 
-   else()
 
-     set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
 
-         ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
 
-   endif()
 
-   set(GOOG_CXX_FLAGS "-pthread -std=c++11 -fPIC ${GOOG_CXX_FLAGS}")
 
-   google_add_flag(GOOG_CXX_FLAGS "-Wall")
 
-   google_add_flag(GOOG_CXX_FLAGS "-Wpedantic")
 
-   # Turn some warnings into errors.
 
-   google_add_flag(GOOG_CXX_FLAGS "-Werror=format-security")
 
-   google_add_flag(GOOG_CXX_FLAGS "-Werror=missing-braces")
 
-   google_add_flag(GOOG_CXX_FLAGS "-Werror=reorder")
 
-   google_add_flag(GOOG_CXX_FLAGS "-Werror=return-type")
 
-   google_add_flag(GOOG_CXX_FLAGS "-Werror=switch")
 
-   google_add_flag(GOOG_CXX_FLAGS "-Werror=uninitialized")
 
-   if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "")
 
-     set(CMAKE_BUILD_TYPE Release)
 
-   endif()
 
- endmacro()
 
 
  |