| project(RK_PCBA)  | 
| cmake_minimum_required(VERSION 2.8)  | 
|   | 
| message(${PROJECT_SOURCE_DIR})  | 
| message(${PROJECT_BINARY_DIR})  | 
|   | 
| # 通过git获取版本宏 BUILD_LOG_VERSION  | 
| execute_process(COMMAND git log -1 --pretty=format:%h  | 
|     TIMEOUT 5  | 
|     OUTPUT_VARIABLE BUILD_LOG_VERSION  | 
|     OUTPUT_STRIP_TRAILING_WHITESPACE  | 
| )  | 
| message(STATUS "building from git log: ${BUILD_LOG_VERSION}")  | 
| add_definitions(-DBUILD_LOG_VERSION=\"${BUILD_LOG_VERSION}\")  | 
|   | 
| execute_process(COMMAND date "+%Y-%m-%d-%H:%M:%S"  | 
|     TIMEOUT 5  | 
|     OUTPUT_VARIABLE BUILD_DATE  | 
|     OUTPUT_STRIP_TRAILING_WHITESPACE  | 
| )  | 
| message(STATUS "building date: ${BUILD_DATE}")  | 
| add_definitions(-DBUILD_DATE=\"${BUILD_DATE}\")  | 
|   | 
| if (DEFINED  PCBA_PX3SE)  | 
| add_definitions("-DPCBA_PX3SE")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_3308)  | 
| add_definitions("-DPCBA_3308")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_3229GVA)  | 
| add_definitions("-DPCBA_3229GVA")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_3326)  | 
| add_definitions("-DPCBA_3326")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_1808)  | 
| add_definitions("-DPCBA_1808")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_PX30)  | 
| add_definitions("-DPCBA_PX30")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_3288)  | 
| add_definitions("-DPCBA_3288")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_3328)  | 
| add_definitions("-DPCBA_3328")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_3399)  | 
| add_definitions("-DPCBA_3399")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_3399PRO)  | 
| add_definitions("-DPCBA_3399PRO")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_1126_1109)  | 
| add_definitions("-DPCBA_1126_1109")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_356X)  | 
| add_definitions("-DPCBA_356X")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_3588)  | 
| add_definitions("-DPCBA_3588")  | 
| endif()  | 
|   | 
|   | 
| set(INSTALL_TARGET_DIR /data)  | 
|   | 
| set(SRC_LIST  | 
|     echo_audio_play_test.c  | 
|     echo_audio_record_test.c  | 
|     echo_audio_test.c  | 
|     echo_bt_test.c  | 
|     echo_cpu_test.c  | 
|     echo_ddr_test.c  | 
|     echo_emmc_test.c  | 
|     echo_key_test.c  | 
|     echo_led_test.c  | 
|     echo_rotary_test.c  | 
|     echo_rtc_test.c  | 
|     echo_wlan_test.c  | 
|     echo_sdcard_test.c  | 
|     echo_usbhost_test.c  | 
|     echo_auto_test.c  | 
| )  | 
|   | 
| foreach(obj_source ${SRC_LIST})  | 
|     STRING( REGEX REPLACE "(.*)(\\..*)$" "\\1" obj_target ${obj_source} )  | 
| add_executable( ${obj_target} ${obj_source} )  | 
| install(TARGETS ${obj_target} DESTINATION ${INSTALL_TARGET_DIR})  | 
| endforeach(obj_source)  | 
|   | 
| set(SRC_LIST echo_pcbatest_server.c cJSON/cJSON.c)  | 
| include_directories(cJSON)  | 
| link_libraries(m)  | 
| add_executable( echo_pcbatest_server ${SRC_LIST} )  | 
|   | 
| if (DEFINED  PCBA_3308)  | 
| MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} "  ====== SOURCE_DIR PCBA_3308 ========  ")  | 
| set(SRC_LIST mic_test_Linux/record_test.c mic_test_Linux/vibrate_test.c)  | 
| add_library(mictest ${SRC_LIST})  | 
| set_property(TARGET mictest PROPERTY POSITION_INDEPENDENT_CODE ON)  | 
|   | 
| set(RINGTEST Y)  | 
| set(SRC_LIST echo_ringmic_test.c)  | 
| add_executable( echo_ringmic_test ${SRC_LIST} )  | 
| target_link_libraries(echo_ringmic_test mictest)  | 
|   | 
| set(SRC_LIST echo_ringmic_pdm_test.c)  | 
| add_executable( echo_ringmic_pdm_test ${SRC_LIST} )  | 
| target_link_libraries(echo_ringmic_pdm_test mictest)  | 
|   | 
| set(SRC_LIST echo_ir_test.c)  | 
| add_executable( echo_ir_test ${SRC_LIST} )  | 
|   | 
| install(TARGETS echo_ringmic_pdm_test mictest echo_ir_test DESTINATION ${INSTALL_TARGET_DIR})  | 
| else()  | 
| MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} "  ====== SOURCE_DIR  NULL========  ")  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_PX3SE)  | 
| MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} "  ====== SOURCE_DIR PCBA_PX3SE ========  ")  | 
|   | 
| set(RINGTEST Y)  | 
| set(SRC_LIST echo_ringmic_test.c)  | 
| link_libraries(${CMAKE_CURRENT_SOURCE_DIR}/rk_pcba_test/libmictest.so)  | 
| add_executable( echo_ringmic_test ${SRC_LIST} )  | 
| else()  | 
| MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} "  ====== SOURCE_DIR NULL ========  ")  | 
| endif()  | 
|   | 
| MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} "==CMAKE_CURRENT_SOURCE_DIR=")  | 
| MESSAGE(${CMAKE_STRIP}  "== CMAKE_STRIP")  | 
| MESSAGE(${CMAKE_C_COMPILER} "==CMAKE_C_COMPILER")  | 
|   | 
| if (RINGTEST)  | 
| install(TARGETS echo_pcbatest_server echo_ringmic_test DESTINATION ${INSTALL_TARGET_DIR})  | 
| else()  | 
| install(TARGETS echo_pcbatest_server DESTINATION ${INSTALL_TARGET_DIR})  | 
| endif()  | 
|   | 
| if (DEFINED  PCBA_1808)  | 
| MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} "  ====== SOURCE_DIR PCBA_1808 ========  ")  | 
| set(SRC_LIST echo_npu_usb_screen_test.c)  | 
| add_executable( echo_npu_usb_screen_test ${SRC_LIST} )  | 
| install(TARGETS echo_npu_usb_screen_test DESTINATION ${INSTALL_TARGET_DIR})  | 
| endif()  | 
|   | 
| if (DEFINED PCBA_356X)  | 
| MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} "  ===========SOURCE DIR PCBA_356X ===========")  | 
| endif()  | 
|   | 
| if (DEFINED PCBA_3588)  | 
| MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} "  ===========SOURCE DIR PCBA_3588 ===========")  | 
| endif()  | 
|   | 
| # pcba with ui  | 
| if (DEFINED  PCBA_WITH_UI)  | 
| #if(${PCBA_WITH_UI} STREQUAL "ON")  | 
| MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} "  ====== SOURCE_DIR  PCBA_WITH_UI ========  ")  | 
| MESSAGE(${CMAKE_SOURCE_DIR} "  ====== CMAKE_SOURCE_DIR ========  ")  | 
| set(SRC_LIST  | 
|     pcba_minui/pcba_core.c  | 
|     pcba_minui/ui.c  | 
|     pcba_minui/safe_iop.c  | 
|     pcba_minui/strlcpy.c  | 
|     pcba_minui/strlcat.c  | 
|     pcba_minui/minzip/DirUtil.c  | 
|     pcba_minui/minzip/Hash.c  | 
|     pcba_minui/minzip/Inlines.c  | 
|     pcba_minui/minzip/SysUtil.c  | 
|     pcba_minui/minzip/Zip.c  | 
|     pcba_minui/mtdutils/mounts.c  | 
|     pcba_minui/mtdutils/mtdutils.c  | 
|     pcba_minui/mtdutils/rk29.c  | 
|     pcba_minui/minui/events.c  | 
|     pcba_minui/minui/graphics.c  | 
|     pcba_minui/minui/resources.c  | 
|     pcba_minui/minui/graphics_drm.c  | 
|     pcba_minui/script_parser.c  | 
|     pcba_minui/script.c  | 
|     pcba_minui/touch_test.c  | 
|     pcba_minui/rtc_test.c  | 
|     pcba_minui/wlan_test.c  | 
|     pcba_minui/bt_test.c  | 
|     pcba_minui/ddr_test.c  | 
|     pcba_minui/sdcard_test.c  | 
|     pcba_minui/key_test.c  | 
|     pcba_minui/screen_test.c  | 
|     pcba_minui/udisk_test.c  | 
|     pcba_minui/emmc_test.c  | 
|     pcba_minui/audio_play_test.c  | 
|     pcba_minui/audio_record_test.c  | 
| )  | 
|   | 
| include_directories(  | 
|     ${CMAKE_SYSROOT}/usr/include/libdrm/  | 
|     ${CMAKE_CURRENT_SOURCE_DIR}/pcba_minui  | 
|     ${CMAKE_CURRENT_SOURCE_DIR}/pcba_minui/minui  | 
|     ${CMAKE_CURRENT_SOURCE_DIR}/pcba_minui/Language  | 
| )  | 
| #link_libraries(z c pthread png drm)  | 
| add_executable(pcba-core ${SRC_LIST})  | 
| target_link_libraries( pcba-core -lz -lc -lpthread -ldrm -lpng)  | 
| install(TARGETS pcba-core  DESTINATION ${INSTALL_TARGET_DIR})  | 
|   | 
|   | 
| else()  | 
| MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} "  ====== SOURCE_DIR No PCBA_WITH_UI ========  ")  | 
| endif()  |