Files
edgetx-gx12/radio/src/tests/CMakeLists.txt
T
Arne SchwabeandBertrand Songis a50d69c3b2 Mark gtest variables cached (#3980)
* 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
2016-11-02 13:05:13 +01:00

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()