~raof/mir/symbols-file

« back to all changes in this revision

Viewing changes to cmake/FindGtest.cmake

  • Committer: Tarmac
  • Author(s): Kevin DuBois
  • Date: 2013-07-12 06:12:08 UTC
  • mfrom: (835.4.12 rm-internal-gmock)
  • Revision ID: tarmac-20130712061208-axrnr0n8xgjgexhz
remove google mock from the internal source tree. Rather, use the google-mock package and build the source externally. Fixes: https://bugs.launchpad.net/bugs/1185265, https://bugs.launchpad.net/bugs/1194017.

Approved by Didier Roche, PS Jenkins bot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
include(ExternalProject)
 
2
include(FindPackageHandleStandardArgs)
 
3
 
 
4
#gtest
 
5
set(GTEST_INSTALL_DIR /usr/src/gmock/gtest/include)
 
6
find_path(GTEST_INCLUDE_DIR gtest/gtest.h
 
7
            HINTS ${GTEST_INSTALL_DIR})
 
8
 
 
9
#gmock
 
10
find_path(GMOCK_INSTALL_DIR gmock/CMakeLists.txt
 
11
          HINTS /usr/src)
 
12
if(${GMOCK_INSTALL_DIR} STREQUAL "GMOCK_INSTALL_DIR-NOTFOUND")
 
13
    message(FATAL_ERROR "google-mock package not found")
 
14
endif()
 
15
 
 
16
set(GMOCK_INSTALL_DIR ${GMOCK_INSTALL_DIR}/gmock)
 
17
find_path(GMOCK_INCLUDE_DIR gmock/gmock.h)
 
18
 
 
19
set(GMOCK_PREFIX gmock)
 
20
set(GMOCK_BINARY_DIR ${CMAKE_BINARY_DIR}/${GMOCK_PREFIX}/libs)
 
21
set(GTEST_BINARY_DIR ${GMOCK_BINARY_DIR}/gtest)
 
22
 
 
23
set(GTEST_CMAKE_ARGS "")
 
24
if (${MIR_IS_CROSS_COMPILING})
 
25
    set(GTEST_CMAKE_ARGS
 
26
        -DCMAKE_TOOLCHAIN_FILE=${CMAKE_MODULE_PATH}/LinuxCrossCompile.cmake)
 
27
endif()
 
28
 
 
29
ExternalProject_Add(
 
30
    GMock
 
31
    #where to build in source tree
 
32
    PREFIX ${GMOCK_PREFIX}
 
33
    #where the source is external to the project
 
34
    SOURCE_DIR ${GMOCK_INSTALL_DIR}
 
35
    #forward the compilers to the subproject so cross-arch builds work
 
36
    CMAKE_ARGS ${GTEST_CMAKE_ARGS}
 
37
    BINARY_DIR ${GMOCK_BINARY_DIR}
 
38
 
 
39
    #we don't need to install, so skip
 
40
    INSTALL_COMMAND ""
 
41
)
 
42
 
 
43
set(GMOCK_LIBRARY ${GMOCK_BINARY_DIR}/libgmock.a)
 
44
set(GMOCK_MAIN_LIBRARY ${GMOCK_BINARY_DIR}/libgmock_main.a)
 
45
set(GMOCK_BOTH_LIBRARIES ${GMOCK_LIBRARY} ${GMOCK_MAIN_LIBRARY})
 
46
set(GTEST_LIBRARY ${GTEST_BINARY_DIR}/libgtest.a)
 
47
set(GTEST_MAIN_LIBRARY ${GTEST_BINARY_DIR}/libgtest_main.a)
 
48
set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARY} ${GTEST_MAIN_LIBRARY})
 
49
set(GTEST_ALL_LIBRARIES ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES})
 
50
 
 
51
find_package_handle_standard_args(GTest  DEFAULT_MSG
 
52
                                    GMOCK_INCLUDE_DIR
 
53
                                    GTEST_INCLUDE_DIR)