Attached Files | 0001-FindGTest-source-lookup-added.patch [^] (2,630 bytes) 2014-02-26 07:18 [Show Content] [Hide Content]From e733b3702d7f88c2364aa325c802896e6d29d782 Mon Sep 17 00:00:00 2001
From: Nikolay Orliuk <virkony@gmail.com>
Date: Wed, 26 Feb 2014 14:16:34 +0200
Subject: [PATCH] FindGTest: source lookup added
Fix issue #14151, "FindGTest module should try to find sources in
addition to binaries"
---
Modules/FindGTest.cmake | 29 +++++++++++++++++++++++++----
1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/Modules/FindGTest.cmake b/Modules/FindGTest.cmake
index c00a750..5a2c0c8 100644
--- a/Modules/FindGTest.cmake
+++ b/Modules/FindGTest.cmake
@@ -94,6 +94,7 @@
# Copyright 2009 Kitware, Inc.
# Copyright 2009 Philip Lowman <philip@yhbt.com>
# Copyright 2009 Daniel Blezek <blezek@gmail.com>
+# Copyright 2014 Nikolay Orliuk <virkony@gmail.com>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -176,10 +177,30 @@ if(MSVC AND GTEST_MSVC_SEARCH STREQUAL "MD")
_gtest_find_library(GTEST_MAIN_LIBRARY gtest_main-md gtest_main)
_gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_main-mdd gtest_maind)
else()
- _gtest_find_library(GTEST_LIBRARY gtest)
- _gtest_find_library(GTEST_LIBRARY_DEBUG gtestd)
- _gtest_find_library(GTEST_MAIN_LIBRARY gtest_main)
- _gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_maind)
+ # some *nix distributions provides sources (ex. Ubuntu)
+ if (NOT GTEST_SOURCE)
+ find_path(GTEST_SOURCE
+ src/gtest_main.cc
+ PATHS
+ /usr/src/gtest
+ DOC "Source code for GTest"
+ ONLY_CMAKE_FIND_ROOT_PATH)
+ if(${GTEST_SOURCE} STREQUAL GTEST_SOURCE-NOTFOUND)
+ # fallback to libraries
+ _gtest_find_library(GTEST_LIBRARY gtest)
+ _gtest_find_library(GTEST_LIBRARY_DEBUG gtestd)
+ _gtest_find_library(GTEST_MAIN_LIBRARY gtest_main)
+ _gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_maind)
+ else()
+ message(STATUS "Found GTest sources: ${GTEST_SOURCE}")
+ add_subdirectory(${GTEST_SOURCE} ${CMAKE_BINARY_DIR}/imported-gtest EXCLUDE_FROM_ALL)
+ link_directories(${CMAKE_BINARY_DIR}/imported-gtest)
+ set(GTEST_LIBRARY gtest CACHE INTERNAL "GTest library")
+ set(GTEST_MAIN_LIBRARY gtest_main CACHE INTERNAL "GTest library for main()")
+ mark_as_advanced(GTEST_LIBRARY)
+ mark_as_advanced(GTEST_MAIN_LIBRARY)
+ endif()
+ endif()
endif()
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
--
1.8.5
0001-FindGTest-source-lookup-added-v2.patch [^] (2,699 bytes) 2014-02-26 08:22 [Show Content] [Hide Content]From cc427632c6ed8031ceb642c186aeb37848357ecd Mon Sep 17 00:00:00 2001
From: Nikolay Orliuk <virkony@gmail.com>
Date: Wed, 26 Feb 2014 14:16:34 +0200
Subject: [PATCH 1/2] FindGTest: source lookup added
Fix issue #14151, "FindGTest module should try to find sources in
addition to binaries"
---
Modules/FindGTest.cmake | 31 +++++++++++++++++++++++++++----
1 file changed, 27 insertions(+), 4 deletions(-)
diff --git a/Modules/FindGTest.cmake b/Modules/FindGTest.cmake
index c00a750..b010d21 100644
--- a/Modules/FindGTest.cmake
+++ b/Modules/FindGTest.cmake
@@ -94,6 +94,7 @@
# Copyright 2009 Kitware, Inc.
# Copyright 2009 Philip Lowman <philip@yhbt.com>
# Copyright 2009 Daniel Blezek <blezek@gmail.com>
+# Copyright 2014 Nikolay Orliuk <virkony@gmail.com>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -176,10 +177,32 @@ if(MSVC AND GTEST_MSVC_SEARCH STREQUAL "MD")
_gtest_find_library(GTEST_MAIN_LIBRARY gtest_main-md gtest_main)
_gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_main-mdd gtest_maind)
else()
- _gtest_find_library(GTEST_LIBRARY gtest)
- _gtest_find_library(GTEST_LIBRARY_DEBUG gtestd)
- _gtest_find_library(GTEST_MAIN_LIBRARY gtest_main)
- _gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_maind)
+ # some *nix distributions provides sources (ex. Ubuntu)
+ if (NOT GTEST_SOURCE)
+ find_path(GTEST_SOURCE
+ src/gtest_main.cc
+ PATHS
+ /usr/src/gtest
+ DOC "Source code for GTest"
+ ONLY_CMAKE_FIND_ROOT_PATH)
+ if(GTEST_SOURCE STREQUAL GTEST_SOURCE-NOTFOUND)
+ # fallback to libraries
+ _gtest_find_library(GTEST_LIBRARY gtest)
+ _gtest_find_library(GTEST_LIBRARY_DEBUG gtestd)
+ _gtest_find_library(GTEST_MAIN_LIBRARY gtest_main)
+ _gtest_find_library(GTEST_MAIN_LIBRARY_DEBUG gtest_maind)
+ else()
+ message(STATUS "Found GTest sources: ${GTEST_SOURCE}")
+ add_subdirectory(${GTEST_SOURCE} ${CMAKE_BINARY_DIR}/imported-gtest EXCLUDE_FROM_ALL)
+ set(GTEST_LIBRARY gtest CACHE INTERNAL "GTest library")
+ set(GTEST_MAIN_LIBRARY gtest_main CACHE INTERNAL "GTest library for main()")
+ mark_as_advanced(GTEST_LIBRARY)
+ mark_as_advanced(GTEST_MAIN_LIBRARY)
+ endif()
+ endif()
+ if(NOT GTEST_SOURCE STREQUAL GTEST_SOURCE-NOTFOUND)
+ link_directories(${CMAKE_BINARY_DIR}/imported-gtest)
+ endif()
endif()
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
--
1.8.5
|