# cmake_minimum_required(VERSION 2.8.0) # Compile gtest for test code. if (EXISTS "${EXTERNAL_LIBS_OUTPUT_PATH}/libgtest.a") message("googletest compile ok.") else() execute_process(COMMAND sh build_gtest.sh ${TARGET_PLATFORM} ${PLATFORM_PATH} ${PLATFORM_PATH} WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/gtest/) execute_process(COMMAND mkdir ${PLATFORM_PATH}/output_files WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/gtest/) execute_process(COMMAND mkdir ${PLATFORM_PATH}/output_files/libs WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/gtest/) execute_process(COMMAND mkdir ${PLATFORM_PATH}/output_files/libs/external WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/gtest/) execute_process(COMMAND mv ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/lib/libgtest.a ${EXTERNAL_LIBS_OUTPUT_PATH}/libgtest.a WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/gtest/) execute_process(COMMAND mv ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/lib/libgmock.a ${EXTERNAL_LIBS_OUTPUT_PATH}/libgmock.a WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/gtest/) endif() if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX}) message("linux mock api will be set.") set(TEST_LINUX_MOCK "-Wl,--wrap=fx_open" CACHE STRING INTERNAL FORCE) set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=fx_fstat" CACHE STRING INTERNAL FORCE) set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=fx_tcgetattr" CACHE STRING INTERNAL FORCE) set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=fx_tcsetattr" CACHE STRING INTERNAL FORCE) set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=fx_select" CACHE STRING INTERNAL FORCE) set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=fx_write" CACHE STRING INTERNAL FORCE) set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=fx_read" CACHE STRING INTERNAL FORCE) set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=fx_access" CACHE STRING INTERNAL FORCE) set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=fx_fopen" CACHE STRING INTERNAL FORCE) endif() # Mock Linux api. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${TEST_LINUX_MOCK}") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TEST_LINUX_MOCK}") # build gtest and gmock # add_custom_command( # OUTPUT ${EXTERNAL_LIBS_OUTPUT_PATH}/libgtest.a # OUTPUT ${EXTERNAL_LIBS_OUTPUT_PATH}/libgmock.a # COMMAND echo "Build google test for test code." # COMMAND sh build_gtest.sh ${TARGET_PLATFORM} ${PLATFORM_PATH} ${PLATFORM_PATH} # COMMAND mv ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/lib/libgtest.a ${EXTERNAL_LIBS_OUTPUT_PATH}/libgtest.a # COMMAND mv ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/lib/libgmock.a ${EXTERNAL_LIBS_OUTPUT_PATH}/libgmock.a # WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/gtest/ # ) # # add_custom_target( # # google_test # # DEPENDS libgtest.a libgmock.a # # ) # add_custom_target( # libgtest.a # DEPENDS ${EXTERNAL_LIBS_OUTPUT_PATH}/libgtest.a # ) # add_custom_target( # libgmock.a # DEPENDS ${EXTERNAL_LIBS_OUTPUT_PATH}/libgmock.a # ) add_subdirectory(all) add_subdirectory(application) add_subdirectory(middleware) add_subdirectory(utils) add_subdirectory(hal)