Disable gtests target if Qt5 not installed

This commit is contained in:
Damjan Adamic
2016-04-08 14:53:07 +02:00
parent 1a05cfca16
commit 651b0ad579
+19 -15
View File
@@ -2,24 +2,28 @@ set(GTEST_INCDIR /usr/include/gtest)
set(GTEST_SRCDIR /usr/src/gtest)
if(EXISTS "${GTEST_SRCDIR}/src/gtest-all.cc")
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})
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()
foreach(FILE ${SRC})
set(RADIO_SRC ${RADIO_SRC} ../${FILE})
endforeach()
file(GLOB TEST_SRC_FILES ${RADIO_SRC_DIRECTORY}/tests/*.cpp)
file(GLOB TEST_SRC_FILES ${RADIO_SRC_DIRECTORY}/tests/*.cpp)
add_executable(gtests EXCLUDE_FROM_ALL ${TEST_SRC_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/location.h ${RADIO_SRC} ../targets/simu/simpgmspace.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")
add_executable(gtests EXCLUDE_FROM_ALL ${TEST_SRC_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/location.h ${RADIO_SRC} ../targets/simu/simpgmspace.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()