* Mark gtest variables cached Set GTEST location variables as CACHE so they can be modified when gtest is in a different location from the cmake call (/usr/src, /usr/include is not writable on OS X) * Uppercase location and write Google Test like Google does
39 lines
1.7 KiB
CMake
39 lines
1.7 KiB
CMake
set(GTEST_INCDIR /usr/include/gtest CACHE string "Location of Google Test includes")
|
|
set(GTEST_SRCDIR /usr/src/gtest CACHE string "Location of Google Test directory")
|
|
|
|
if(EXISTS "${GTEST_SRCDIR}/src/gtest-all.cc")
|
|
if(Qt5Widgets_FOUND)
|
|
add_library(gtests-lib STATIC EXCLUDE_FROM_ALL ${GTEST_SRCDIR}/src/gtest-all.cc )
|
|
target_include_directories(gtests-lib PUBLIC ${GTEST_INCDIR} PUBLIC ${GTEST_SRCDIR})
|
|
add_definitions(-DSIMU)
|
|
set(TESTS_PATH ${RADIO_SRC_DIRECTORY})
|
|
configure_file(${RADIO_SRC_DIRECTORY}/tests/location.h.in ${CMAKE_CURRENT_BINARY_DIR}/location.h @ONLY)
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
foreach(FILE ${SRC})
|
|
set(RADIO_SRC ${RADIO_SRC} ../${FILE})
|
|
endforeach()
|
|
|
|
file(GLOB TEST_SRC_FILES ${RADIO_SRC_DIRECTORY}/tests/*.cpp)
|
|
|
|
if (${CMAKE_VERSION} VERSION_LESS 3.1.0})
|
|
set(COMMON_CPP_FLAGS "${COMMON_FLAGS} -std=gnu++11")
|
|
message("USING -std=gnu++11")
|
|
else()
|
|
set(COMMON_CPP_FLAGS ${COMMON_FLAGS})
|
|
endif()
|
|
set(CMAKE_C_FLAGS_DEBUG "${COMMON_FLAGS} -g -O0")
|
|
set(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CPP_FLAGS} -g -O0")
|
|
|
|
add_executable(gtests EXCLUDE_FROM_ALL ${TEST_SRC_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/location.h ${RADIO_SRC} ../targets/simu/simpgmspace.cpp ../targets/simu/simueeprom.cpp)
|
|
qt5_use_modules(gtests Core Widgets)
|
|
add_dependencies(gtests ${FIRMWARE_DEPENDENCIES} gtests-lib)
|
|
target_link_libraries(gtests gtests-lib pthread)
|
|
message("Added optional gtests target")
|
|
else()
|
|
message("WARNING: Qt5 widgets not found, gtest target will not be available!")
|
|
endif()
|
|
else()
|
|
message("WARNING: can't find gtests source, gtest target will not be available!")
|
|
endif()
|