-1

I'm building dynamic library and want to use gtest for testing.

SET(GTEST_LIBRARY libs/googletest-master)
set(GTEST_INCLUDE_DIR libs/googletest-master/googletest/include)
#set(GTEST_MAIN_LIBRARY libs/googletest-master/googletest/include/gtest)

#find_package(PostgreSQL REQUIRED)

enable_testing()
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIR})

But, berofe setting GTEST_MAIN_LIBRARY I have to build it first. How I can configure CMake to achieve this

  1. Build gtest with Cmake && make (on unix)
  2. Get appropriate path to GTEST_MAIN_LIBRARY
  3. continue build
rocambille
  • 15,398
  • 12
  • 50
  • 68
Roman Volkov
  • 245
  • 1
  • 4
  • 12

2 Answers2

0

I copied gtests srcs into project make a build with Make and add this to CMake

add_subdirectory(libs/googletest-master)

SET(GTEST_LIBRARY libs/googletest-master)
set(GTEST_INCLUDE_DIR libs/googletest-master/googletest/include)
set(GTEST_MAIN_LIBRARY libs/googletest-master/googlemock/gtest)

enable_testing()
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIR})
include_directories(${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR})
Roman Volkov
  • 245
  • 1
  • 4
  • 12
-2

If your put the source for googletest in a subdirectory parented where your CMakeLists.txt file is, the following should work:

add_subdirectory(./googletest)

add_executable(your_program ${MY_SRC})

add_dependencies(your_program gmock)
add_dependencies(your_program gtest)
xaxxon
  • 19,189
  • 5
  • 50
  • 80