mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-17 12:37:34 +08:00
move sf0x_test to cmake and remove unittests/Makefile
This commit is contained in:
@@ -236,7 +236,7 @@ testbuild:
|
||||
# unit tests.
|
||||
.PHONY: tests
|
||||
tests:
|
||||
$(Q) (cd $(PX4_BASE)/unittests && $(MAKE) unittests)
|
||||
$(Q) (mkdir -p $(PX4_BASE)/unittests/build && cd $(PX4_BASE)/unittests/build && cmake .. && $(MAKE) unittests)
|
||||
|
||||
#
|
||||
# Cleanup targets. 'clean' should remove all built products and force
|
||||
|
||||
@@ -12,16 +12,16 @@ include_directories(${CMAKE_SOURCE_DIR}/../src/lib)
|
||||
|
||||
add_definitions(-D__EXPORT=)
|
||||
set(CMAKE_C_FLAGS "-std=c99")
|
||||
set(CMAKE_CXX_FLAGS "-std=c++11")
|
||||
set(CMAKE_CXX_FLAGS "-std=c++11 -Wno-write-strings")
|
||||
|
||||
# check
|
||||
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure)
|
||||
add_custom_target(unittests COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure)
|
||||
|
||||
function(add_gtest)
|
||||
foreach(test_name ${ARGN})
|
||||
target_link_libraries(${test_name} gtest_main)
|
||||
add_test(NAME ${test_name} COMMAND ${test_name} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
|
||||
add_dependencies(check ${test_name})
|
||||
add_dependencies(unittests ${test_name})
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
@@ -55,5 +55,7 @@ add_gtest(sbus2_test)
|
||||
add_executable(st24_test st24_test.cpp hrt.cpp ${CMAKE_SOURCE_DIR}/../src/lib/rc/st24.c)
|
||||
add_gtest(st24_test)
|
||||
|
||||
|
||||
# todo: add sf0x_test
|
||||
# sf0x_test
|
||||
# TODO: move to gtest
|
||||
add_executable(sf0x_test sf0x_test.cpp ${CMAKE_SOURCE_DIR}/../src/drivers/sf0x/sf0x_parser.cpp)
|
||||
add_gtest(sf0x_test)
|
||||
|
||||
@@ -1,62 +0,0 @@
|
||||
|
||||
CC=g++
|
||||
CFLAGS=-I. -I../src/modules -I ../src/include -I../src/drivers \
|
||||
-I../src -I../src/lib -D__EXPORT="" -Dnullptr="0" -lm
|
||||
|
||||
# Points to the root of Google Test, relative to where this file is.
|
||||
# Remember to tweak this if you move this file.
|
||||
GTEST_DIR = gtest
|
||||
|
||||
# Flags passed to the preprocessor.
|
||||
# Set Google Test's header directory as a system directory, such that
|
||||
# the compiler doesn't generate warnings in Google Test headers.
|
||||
CFLAGS += -isystem $(GTEST_DIR)/include
|
||||
|
||||
# All Google Test headers. Usually you shouldn't change this
|
||||
# definition.
|
||||
GTEST_HEADERS = $(GTEST_DIR)/include/gtest/*.h \
|
||||
$(GTEST_DIR)/include/gtest/internal/*.h
|
||||
|
||||
# Usually you shouldn't tweak such internal variables, indicated by a
|
||||
# trailing _.
|
||||
GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS)
|
||||
|
||||
# For simplicity and to avoid depending on Google Test's
|
||||
# implementation details, the dependencies specified below are
|
||||
# conservative and not optimized. This is fine as Google Test
|
||||
# compiles fast and for ordinary users its source rarely changes.
|
||||
gtest-all.o: $(GTEST_SRCS_)
|
||||
$(CC) $(CFLAGS) -I$(GTEST_DIR) -c \
|
||||
$(GTEST_DIR)/src/gtest-all.cc
|
||||
|
||||
gtest_main.o: $(GTEST_SRCS_)
|
||||
$(CC) $(CFLAGS) -I$(GTEST_DIR) -c \
|
||||
$(GTEST_DIR)/src/gtest_main.cc
|
||||
|
||||
gtest.a: gtest-all.o
|
||||
$(AR) $(ARFLAGS) $@ $^
|
||||
|
||||
gtest_main.a: gtest-all.o gtest_main.o
|
||||
$(AR) $(ARFLAGS) $@ $^
|
||||
|
||||
|
||||
all: sf0x_test
|
||||
|
||||
SF0X_FILES= \
|
||||
hrt.cpp \
|
||||
sf0x_test.cpp \
|
||||
../src/drivers/sf0x/sf0x_parser.cpp
|
||||
|
||||
sf0x_test: $(SF0X_FILES)
|
||||
$(CC) -o sf0x_test $(SF0X_FILES) $(CFLAGS)
|
||||
|
||||
cmake_gtests:
|
||||
mkdir -p build
|
||||
cd build && CC=gcc cmake .. && $(MAKE) check
|
||||
|
||||
unittests: clean sf0x_test cmake_gtests
|
||||
./sf0x_test
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf gtest.a gtest_main.a *.o $(ODIR)/*.o *~ core $(INCDIR)/*~ sample_unittest sf0x_test build
|
||||
Reference in New Issue
Block a user