diff options
author | Robert Carr <robert.carr@canonical.com> | 2014-09-18 09:30:05 -0700 |
---|---|---|
committer | Robert Carr <robert.carr@canonical.com> | 2014-09-18 09:30:05 -0700 |
commit | b8441b17d75aa9698feb1bf0830d19464ee8dfec (patch) | |
tree | 6c513ce917ceaf02bc880cfc529baf2b5a6f5058 /cmake | |
parent | e09a9c1f8f12ec831fd41ca716ab9e7c68746a3e (diff) | |
parent | 23367f8b24e0dbab8cfbfa117c9b5343c8cbced3 (diff) |
rm -rf qmake
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/modules/FindGtest.cmake | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/cmake/modules/FindGtest.cmake b/cmake/modules/FindGtest.cmake new file mode 100644 index 0000000..c249b02 --- /dev/null +++ b/cmake/modules/FindGtest.cmake @@ -0,0 +1,53 @@ +include(ExternalProject) +include(FindPackageHandleStandardArgs) + +#gtest +set(GTEST_INSTALL_DIR /usr/src/gmock/gtest/include) +find_path(GTEST_INCLUDE_DIR gtest/gtest.h + HINTS ${GTEST_INSTALL_DIR}) + +#gmock +find_path(GMOCK_INSTALL_DIR gmock/CMakeLists.txt + HINTS /usr/src) +if(${GMOCK_INSTALL_DIR} STREQUAL "GMOCK_INSTALL_DIR-NOTFOUND") + message(FATAL_ERROR "google-mock package not found") +endif() + +set(GMOCK_INSTALL_DIR ${GMOCK_INSTALL_DIR}/gmock) +find_path(GMOCK_INCLUDE_DIR gmock/gmock.h) + +set(GMOCK_PREFIX gmock) +set(GMOCK_BINARY_DIR ${CMAKE_BINARY_DIR}/${GMOCK_PREFIX}/libs) +set(GTEST_BINARY_DIR ${GMOCK_BINARY_DIR}/gtest) + +set(GTEST_CMAKE_ARGS "") +if (${CMAKE_CROSSCOMPILING}) + set(GTEST_CMAKE_ARGS + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_MODULE_PATH}/LinuxCrossCompile.cmake) +endif() + +ExternalProject_Add( + GMock + #where to build in source tree + PREFIX ${GMOCK_PREFIX} + #where the source is external to the project + SOURCE_DIR ${GMOCK_INSTALL_DIR} + #forward the compilers to the subproject so cross-arch builds work + CMAKE_ARGS ${GTEST_CMAKE_ARGS} + BINARY_DIR ${GMOCK_BINARY_DIR} + + #we don't need to install, so skip + INSTALL_COMMAND "" +) + +set(GMOCK_LIBRARY ${GMOCK_BINARY_DIR}/libgmock.a) +set(GMOCK_MAIN_LIBRARY ${GMOCK_BINARY_DIR}/libgmock_main.a) +set(GMOCK_BOTH_LIBRARIES ${GMOCK_LIBRARY} ${GMOCK_MAIN_LIBRARY}) +set(GTEST_LIBRARY ${GTEST_BINARY_DIR}/libgtest.a) +set(GTEST_MAIN_LIBRARY ${GTEST_BINARY_DIR}/libgtest_main.a) +set(GTEST_BOTH_LIBRARIES ${GTEST_LIBRARY} ${GTEST_MAIN_LIBRARY}) +set(GTEST_ALL_LIBRARIES ${GTEST_BOTH_LIBRARIES} ${GMOCK_BOTH_LIBRARIES}) + +find_package_handle_standard_args(GTest DEFAULT_MSG + GMOCK_INCLUDE_DIR + GTEST_INCLUDE_DIR) |