1include(FetchContent) 2 3# enable testing 4enable_testing() 5 6set(FETCHCONTENT_QUIET FALSE) 7 8# fetch googletest 9FetchContent_Declare( 10 googletest 11 GIT_REPOSITORY https://gitee.com/openharmony/third_party_googletest.git 12 GIT_TAG f92157de8552e7b4e01d059b2d9a6999c635ab2e 13 GIT_PROGRESS TRUE 14) 15FetchContent_MakeAvailable(googletest) 16 17# fetch all cpp files 18file(GLOB_RECURSE UT_TESTS "ut/*.cpp") 19 20# fetch all util files used by the tests 21file(GLOB_RECURSE UTILS "testfunc/*.cpp") 22include_directories(${CMAKE_CURRENT_SOURCE_DIR}/testfunc) 23 24# Executable/target name 25set(TEST_NAME ffrt_ut) 26 27add_executable(${TEST_NAME} ${UT_TESTS} ${UTILS}) 28 29set(COMPILE_DEFS FFRT_GITEE USE_GTEST WITH_NO_MOCKER) 30 31if(NOT EXISTS "/proc/self/sched_rtg_ctrl") 32 set(COMPILE_DEFS ${COMPILE_DEFS} SCHED_RGT_CTRL_DNE) 33endif() 34 35if(NOT EXISTS "/proc/thread-self/sched_qos_ctrl") 36 set(COMPILE_DEFS ${COMPILE_DEFS} SCHED_QOS_CTRL_DNE) 37endif() 38 39if(NOT EXISTS "/dev/auth_ctrl") 40 set(COMPILE_DEFS ${COMPILE_DEFS} AUTH_CTRL_DNE) 41endif() 42 43if(NOT EXISTS "/lib/libeventhandler.z.so") 44 set(COMPILE_DEFS ${COMPILE_DEFS} LIB_EVENT_HANDLER_DNE) 45endif() 46 47# add compile definitions/macros 48add_compile_definitions(${TEST_NAME} ${COMPILE_DEFS}) 49 50# link with gtest 51target_link_libraries( 52 ${TEST_NAME} 53 GTest::gtest_main 54 ffrt securec 55 gmock 56) 57 58# add ctests using google-test 59include(GoogleTest) 60gtest_discover_tests(${TEST_NAME}) 61