diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c9e8b3..d368b34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,6 +164,9 @@ set(MAIN_SRC_FILE "" CACHE STRING INTERNAL) unset(MAIN_LINK_LIB CACHE) set(MAIN_LINK_LIB "" CACHE STRING INTERNAL) +unset(EXTERNAL_LIBS_PATH CACHE) +set(EXTERNAL_LIBS_PATH "" CACHE STRING INTERNAL) + # Config message for test code. unset(TEST_LINK_LIB CACHE) set(TEST_LINK_LIB "" CACHE STRING INTERNAL) diff --git a/application/HuntingCamera/CMakeLists.txt b/application/HuntingCamera/CMakeLists.txt index 5173657..5e4aa98 100644 --- a/application/HuntingCamera/CMakeLists.txt +++ b/application/HuntingCamera/CMakeLists.txt @@ -10,8 +10,7 @@ include_directories( link_directories( ${LIBS_OUTPUT_PATH} ${EXTERNAL_LIBS_OUTPUT_PATH} - ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig/lib - ${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib + ${EXTERNAL_LIBS_PATH} ) aux_source_directory(. SRC_FILES) diff --git a/external/fdk-aac/CMakeLists.txt b/external/fdk-aac/CMakeLists.txt index 139ae25..a9021dd 100644 --- a/external/fdk-aac/CMakeLists.txt +++ b/external/fdk-aac/CMakeLists.txt @@ -1,14 +1,15 @@ include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake) -set(FFMPEG_INSTALL_PATH "${EXTERNAL_LIBS_OUTPUT_PATH}/fdk-aac") +set(FDK_AAC_INSTALL_PATH "${EXTERNAL_LIBS_OUTPUT_PATH}/fdk-aac") +set(EXTERNAL_LIBS_PATH "${EXTERNAL_LIBS_PATH};${FDK_AAC_INSTALL_PATH}/lib" CACHE STRING INTERNAL FORCE) message("Compile fdk-aac cmake config files : ${PLATFORM_PATH}/build/cmake/toolchain/linux.toolchain.cmake") add_custom_target( - fdk-aac + fdk_aac COMMAND echo "Now compile fdk-aac, please wait..." COMMAND test -f ${EXTERNAL_SOURCE_PATH}/fdk-aac/fdk-aac-2.0.3/CMakeLists.txt || tar -xf fdk-aac-2.0.3.tar.gz COMMAND chmod 777 -R fdk-aac-2.0.3 COMMAND test -f ${EXTERNAL_SOURCE_PATH}/fdk-aac/fdk-aac-2.0.3/build/Makefile || mkdir fdk-aac-2.0.3/build COMMAND cd fdk-aac-2.0.3/build && cmake ../ -DCMAKE_TOOLCHAIN_FILE=${PLATFORM_PATH}/build/cmake/toolchain/linux.toolchain.cmake - -DCMAKE_INSTALL_PREFIX=${FFMPEG_INSTALL_PATH} -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF + -DCMAKE_INSTALL_PREFIX=${FDK_AAC_INSTALL_PATH} -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF COMMAND cd fdk-aac-2.0.3/build && make COMMAND cd fdk-aac-2.0.3/build && make install COMMAND cd fdk-aac-2.0.3/build && make clean diff --git a/external/ffmpeg/CMakeLists.txt b/external/ffmpeg/CMakeLists.txt index 1a05cd7..949fc54 100644 --- a/external/ffmpeg/CMakeLists.txt +++ b/external/ffmpeg/CMakeLists.txt @@ -1,4 +1,5 @@ set(FFMPEG_INSTALL_PATH "${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg") +set(EXTERNAL_LIBS_PATH "${EXTERNAL_LIBS_PATH};${FFMPEG_INSTALL_PATH}/lib" CACHE STRING INTERNAL FORCE) find_program(NASM nasm) if(NOT NASM) message("nasm not found. Now install.") @@ -8,7 +9,7 @@ if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX}) set(CONFIGURE_COMMAND "--enable-cross-compile --target-os=linux --arch=x86_64 \ --cc=${CMAKE_C_COMPILER} \ --cxx=${CMAKE_CXX_COMPILER} \ - --prefix=${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg \ + --prefix=${FFMPEG_INSTALL_PATH} \ --enable-parsers --enable-decoder=h264 --enable-libfdk-aac \ --enable-ffmpeg --enable-static \ --enable-gpl --enable-nonfree --enable-version3 --enable-small \ @@ -23,7 +24,7 @@ else() set(CONFIGURE_COMMAND "--enable-cross-compile --target-os=linux --arch=arm64 \ --cc=${CMAKE_C_COMPILER} \ --cxx=${CMAKE_CXX_COMPILER} \ - --prefix=${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg \ + --prefix=${FFMPEG_INSTALL_PATH} \ --disable-asm --enable-parsers --disable-decoders --enable-decoder=h264 --enable-libfdk-aac \ --disable-debug --enable-ffmpeg --enable-shared --enable-static --disable-stripping --disable-doc \ --enable-gpl --enable-nonfree --enable-version3 --enable-small \ @@ -45,7 +46,7 @@ endif() message("Compile ffmpeg comand : ${CONFIGURE_COMMAND}") add_custom_target( ffmpeg - DEPENDS fdk-aac + DEPENDS fdk_aac COMMAND echo "Now compile ffmpeg, please wait..." COMMAND test -f ${EXTERNAL_SOURCE_PATH}/ffmpeg/ffmpeg-6.1.1/Makefile || tar -xf ffmpeg_6.1.1.orig.tar.xz COMMAND chmod 777 -R ffmpeg-6.1.1 diff --git a/external/libconfig/CMakeLists.txt b/external/libconfig/CMakeLists.txt index 69fa8ab..5ca428d 100644 --- a/external/libconfig/CMakeLists.txt +++ b/external/libconfig/CMakeLists.txt @@ -5,6 +5,7 @@ else() set(CONFIGURE_COMMAND "--host=${COMPILE_HOST} --disable-cxx --enable-static=yes --prefix=${LIBCONFIG_INSTALL_PATH}") endif() message("Compile libconfig comand : ${CONFIGURE_COMMAND}") +set(EXTERNAL_LIBS_PATH "${EXTERNAL_LIBS_PATH};${LIBCONFIG_INSTALL_PATH}/lib" CACHE STRING INTERNAL FORCE) add_custom_target( libconfig COMMAND test -f ${EXTERNAL_SOURCE_PATH}/libconfig-1.7.3/Makefile || tar zxvf libconfig-1.7.3.tar.gz diff --git a/test/all/CMakeLists.txt b/test/all/CMakeLists.txt index 06f4a05..071ff93 100644 --- a/test/all/CMakeLists.txt +++ b/test/all/CMakeLists.txt @@ -16,7 +16,7 @@ include_directories( link_directories( ${LIBS_OUTPUT_PATH} ${EXTERNAL_LIBS_OUTPUT_PATH} - ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig/lib + ${EXTERNAL_LIBS_PATH} ) aux_source_directory(. SRC_FILES) diff --git a/test/application/HuntingCamera/CMakeLists.txt b/test/application/HuntingCamera/CMakeLists.txt index d0c67b9..007ef1e 100644 --- a/test/application/HuntingCamera/CMakeLists.txt +++ b/test/application/HuntingCamera/CMakeLists.txt @@ -33,8 +33,7 @@ include_directories( link_directories( ${LIBS_OUTPUT_PATH} ${EXTERNAL_LIBS_OUTPUT_PATH} - ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig/lib - ${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib + ${EXTERNAL_LIBS_PATH} ) aux_source_directory(. SRC_FILES_MAIN) diff --git a/test/application/HuntingCamera/src_mock/MediaManager_Mock_Test.cpp b/test/application/HuntingCamera/src_mock/MediaManager_Mock_Test.cpp index dff135c..4dee901 100644 --- a/test/application/HuntingCamera/src_mock/MediaManager_Mock_Test.cpp +++ b/test/application/HuntingCamera/src_mock/MediaManager_Mock_Test.cpp @@ -52,4 +52,18 @@ TEST_F(HuntingCameraTest, INTEGRATION_HunttingCamera_EXAMPLE_MediaTask) HalTestTool::MockKeyClick("reset", 200); // Simulate pressing a button. MainThread::GetInstance()->Runing(); } +// ../output_files/test/bin/HuntingCameraTest +// --gtest_filter=HuntingCameraTest.INTEGRATION_HunttingCamera_EXAMPLE_MediaTask_No_sdcard +TEST_F(HuntingCameraTest, INTEGRATION_HunttingCamera_EXAMPLE_MediaTask_No_sdcard) +{ + McuManagerTestTool::MockOtherSideIpcMissionReply(IpcMission::TEST); + SetAllCamerasResult(mAllCamerasMock); + MockSdCardRemove(mLinuxTest); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MainThread::GetInstance()->Init(); + TestManager::ResetTimeOut(1000 * 15); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + HalTestTool::MockKeyClick("reset", 200); // Simulate pressing a button. + MainThread::GetInstance()->Runing(); +} } // namespace MediaManager_Mock_Test \ No newline at end of file diff --git a/test/hal/CMakeLists.txt b/test/hal/CMakeLists.txt index 74b6cca..01a8c01 100644 --- a/test/hal/CMakeLists.txt +++ b/test/hal/CMakeLists.txt @@ -12,7 +12,7 @@ include_directories( link_directories( ${LIBS_OUTPUT_PATH} ${EXTERNAL_LIBS_OUTPUT_PATH} - ${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib + ${EXTERNAL_LIBS_PATH} ) aux_source_directory(. SRC_FILES) diff --git a/test/middleware/AppManager/CMakeLists.txt b/test/middleware/AppManager/CMakeLists.txt index 8c285fd..8676a9a 100644 --- a/test/middleware/AppManager/CMakeLists.txt +++ b/test/middleware/AppManager/CMakeLists.txt @@ -25,7 +25,7 @@ include_directories( link_directories( ${LIBS_OUTPUT_PATH} ${EXTERNAL_LIBS_OUTPUT_PATH} - ${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib + ${EXTERNAL_LIBS_PATH} ) aux_source_directory(. SRC_FILES_MAIN) diff --git a/test/middleware/DeviceManager/CMakeLists.txt b/test/middleware/DeviceManager/CMakeLists.txt index 4e97445..36469ac 100644 --- a/test/middleware/DeviceManager/CMakeLists.txt +++ b/test/middleware/DeviceManager/CMakeLists.txt @@ -23,7 +23,7 @@ include_directories( link_directories( ${LIBS_OUTPUT_PATH} ${EXTERNAL_LIBS_OUTPUT_PATH} - ${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib + ${EXTERNAL_LIBS_PATH} ) aux_source_directory(. SRC_FILES_MAIN) diff --git a/test/middleware/IpcConfig/CMakeLists.txt b/test/middleware/IpcConfig/CMakeLists.txt index 8d64a7e..4520732 100644 --- a/test/middleware/IpcConfig/CMakeLists.txt +++ b/test/middleware/IpcConfig/CMakeLists.txt @@ -23,7 +23,7 @@ include_directories( link_directories( ${LIBS_OUTPUT_PATH} ${EXTERNAL_LIBS_OUTPUT_PATH} - ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig/lib + ${EXTERNAL_LIBS_PATH} ) aux_source_directory(. SRC_FILES_MAIN) diff --git a/test/middleware/MediaManager/CMakeLists.txt b/test/middleware/MediaManager/CMakeLists.txt index 486fbc3..68a9978 100644 --- a/test/middleware/MediaManager/CMakeLists.txt +++ b/test/middleware/MediaManager/CMakeLists.txt @@ -24,7 +24,7 @@ include_directories( link_directories( ${LIBS_OUTPUT_PATH} ${EXTERNAL_LIBS_OUTPUT_PATH} - ${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib + ${EXTERNAL_LIBS_PATH} ) aux_source_directory(. SRC_FILES_MAIN) diff --git a/test/utils/Config/CMakeLists.txt b/test/utils/Config/CMakeLists.txt index 803d186..6a2c196 100644 --- a/test/utils/Config/CMakeLists.txt +++ b/test/utils/Config/CMakeLists.txt @@ -15,7 +15,7 @@ include_directories( link_directories( ${LIBS_OUTPUT_PATH} ${EXTERNAL_LIBS_OUTPUT_PATH} - ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig/lib + ${EXTERNAL_LIBS_PATH} ) aux_source_directory(. SRC_FILES) diff --git a/test/utils/MediaBase/CMakeLists.txt b/test/utils/MediaBase/CMakeLists.txt index e6f6492..12795eb 100644 --- a/test/utils/MediaBase/CMakeLists.txt +++ b/test/utils/MediaBase/CMakeLists.txt @@ -15,7 +15,7 @@ include_directories( link_directories( ${LIBS_OUTPUT_PATH} ${EXTERNAL_LIBS_OUTPUT_PATH} - ${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib + ${EXTERNAL_LIBS_PATH} ) aux_source_directory(. SRC_FILES) diff --git a/tools/cmake/Makefile b/tools/cmake/Makefile index f88374e..962ce79 100644 --- a/tools/cmake/Makefile +++ b/tools/cmake/Makefile @@ -1,4 +1,5 @@ all: + @sudo add-apt-repository --remove ppa:george-edison55/cmake-3.x @sudo apt-get update @sudo apt-get install openssl @sudo apt-get install libssl-dev diff --git a/utils/MediaBase/CMakeLists.txt b/utils/MediaBase/CMakeLists.txt index 50fc931..d9cf06c 100644 --- a/utils/MediaBase/CMakeLists.txt +++ b/utils/MediaBase/CMakeLists.txt @@ -21,9 +21,9 @@ set(TARGET_NAME MediaBase) add_library(${TARGET_NAME} STATIC ${SRC_FILES}) if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX}) - target_link_libraries(${TARGET_NAME} avformat avcodec avutil swresample avdevice avfilter swscale postproc z StatusCode Log) + target_link_libraries(${TARGET_NAME} avformat avcodec avutil swresample avdevice avfilter swscale postproc fdk-aac z StatusCode Log) else() - target_link_libraries(${TARGET_NAME} avformat avcodec avutil swresample avdevice avfilter swscale postproc StatusCode Log) + target_link_libraries(${TARGET_NAME} avformat avcodec avutil swresample avdevice avfilter swscale postproc fdk-aac StatusCode Log) endif() add_custom_target(