1project(RK_PCBA) 2cmake_minimum_required(VERSION 2.8) 3 4message(${PROJECT_SOURCE_DIR}) 5message(${PROJECT_BINARY_DIR}) 6 7# 通过git获取版本宏 BUILD_LOG_VERSION 8execute_process(COMMAND git log -1 --pretty=format:%h 9 TIMEOUT 5 10 OUTPUT_VARIABLE BUILD_LOG_VERSION 11 OUTPUT_STRIP_TRAILING_WHITESPACE 12) 13message(STATUS "building from git log: ${BUILD_LOG_VERSION}") 14add_definitions(-DBUILD_LOG_VERSION=\"${BUILD_LOG_VERSION}\") 15 16execute_process(COMMAND date "+%Y-%m-%d-%H:%M:%S" 17 TIMEOUT 5 18 OUTPUT_VARIABLE BUILD_DATE 19 OUTPUT_STRIP_TRAILING_WHITESPACE 20) 21message(STATUS "building date: ${BUILD_DATE}") 22add_definitions(-DBUILD_DATE=\"${BUILD_DATE}\") 23 24if (DEFINED PCBA_PX3SE) 25add_definitions("-DPCBA_PX3SE") 26endif() 27 28if (DEFINED PCBA_3308) 29add_definitions("-DPCBA_3308") 30endif() 31 32if (DEFINED PCBA_3229GVA) 33add_definitions("-DPCBA_3229GVA") 34endif() 35 36if (DEFINED PCBA_3326) 37add_definitions("-DPCBA_3326") 38endif() 39 40if (DEFINED PCBA_1808) 41add_definitions("-DPCBA_1808") 42endif() 43 44if (DEFINED PCBA_PX30) 45add_definitions("-DPCBA_PX30") 46endif() 47 48if (DEFINED PCBA_3288) 49add_definitions("-DPCBA_3288") 50endif() 51 52if (DEFINED PCBA_3328) 53add_definitions("-DPCBA_3328") 54endif() 55 56if (DEFINED PCBA_3399) 57add_definitions("-DPCBA_3399") 58endif() 59 60if (DEFINED PCBA_3399PRO) 61add_definitions("-DPCBA_3399PRO") 62endif() 63 64if (DEFINED PCBA_1126_1109) 65add_definitions("-DPCBA_1126_1109") 66endif() 67 68if (DEFINED PCBA_356X) 69add_definitions("-DPCBA_356X") 70endif() 71 72if (DEFINED PCBA_3588) 73add_definitions("-DPCBA_3588") 74endif() 75 76 77set(INSTALL_TARGET_DIR /data) 78 79set(SRC_LIST 80 echo_audio_play_test.c 81 echo_audio_record_test.c 82 echo_audio_test.c 83 echo_bt_test.c 84 echo_cpu_test.c 85 echo_ddr_test.c 86 echo_emmc_test.c 87 echo_key_test.c 88 echo_led_test.c 89 echo_rotary_test.c 90 echo_rtc_test.c 91 echo_wlan_test.c 92 echo_sdcard_test.c 93 echo_usbhost_test.c 94 echo_auto_test.c 95) 96 97foreach(obj_source ${SRC_LIST}) 98 STRING( REGEX REPLACE "(.*)(\\..*)$" "\\1" obj_target ${obj_source} ) 99add_executable( ${obj_target} ${obj_source} ) 100install(TARGETS ${obj_target} DESTINATION ${INSTALL_TARGET_DIR}) 101endforeach(obj_source) 102 103set(SRC_LIST echo_pcbatest_server.c cJSON/cJSON.c) 104include_directories(cJSON) 105link_libraries(m) 106add_executable( echo_pcbatest_server ${SRC_LIST} ) 107 108if (DEFINED PCBA_3308) 109MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} " ====== SOURCE_DIR PCBA_3308 ======== ") 110set(SRC_LIST mic_test_Linux/record_test.c mic_test_Linux/vibrate_test.c) 111add_library(mictest ${SRC_LIST}) 112set_property(TARGET mictest PROPERTY POSITION_INDEPENDENT_CODE ON) 113 114set(RINGTEST Y) 115set(SRC_LIST echo_ringmic_test.c) 116add_executable( echo_ringmic_test ${SRC_LIST} ) 117target_link_libraries(echo_ringmic_test mictest) 118 119set(SRC_LIST echo_ringmic_pdm_test.c) 120add_executable( echo_ringmic_pdm_test ${SRC_LIST} ) 121target_link_libraries(echo_ringmic_pdm_test mictest) 122 123set(SRC_LIST echo_ir_test.c) 124add_executable( echo_ir_test ${SRC_LIST} ) 125 126install(TARGETS echo_ringmic_pdm_test mictest echo_ir_test DESTINATION ${INSTALL_TARGET_DIR}) 127else() 128MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} " ====== SOURCE_DIR NULL======== ") 129endif() 130 131if (DEFINED PCBA_PX3SE) 132MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} " ====== SOURCE_DIR PCBA_PX3SE ======== ") 133 134set(RINGTEST Y) 135set(SRC_LIST echo_ringmic_test.c) 136link_libraries(${CMAKE_CURRENT_SOURCE_DIR}/rk_pcba_test/libmictest.so) 137add_executable( echo_ringmic_test ${SRC_LIST} ) 138else() 139MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} " ====== SOURCE_DIR NULL ======== ") 140endif() 141 142MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} "==CMAKE_CURRENT_SOURCE_DIR=") 143MESSAGE(${CMAKE_STRIP} "== CMAKE_STRIP") 144MESSAGE(${CMAKE_C_COMPILER} "==CMAKE_C_COMPILER") 145 146if (RINGTEST) 147install(TARGETS echo_pcbatest_server echo_ringmic_test DESTINATION ${INSTALL_TARGET_DIR}) 148else() 149install(TARGETS echo_pcbatest_server DESTINATION ${INSTALL_TARGET_DIR}) 150endif() 151 152if (DEFINED PCBA_1808) 153MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} " ====== SOURCE_DIR PCBA_1808 ======== ") 154set(SRC_LIST echo_npu_usb_screen_test.c) 155add_executable( echo_npu_usb_screen_test ${SRC_LIST} ) 156install(TARGETS echo_npu_usb_screen_test DESTINATION ${INSTALL_TARGET_DIR}) 157endif() 158 159if (DEFINED PCBA_356X) 160MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} " ===========SOURCE DIR PCBA_356X ===========") 161endif() 162 163if (DEFINED PCBA_3588) 164MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} " ===========SOURCE DIR PCBA_3588 ===========") 165endif() 166 167# pcba with ui 168if (DEFINED PCBA_WITH_UI) 169#if(${PCBA_WITH_UI} STREQUAL "ON") 170MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} " ====== SOURCE_DIR PCBA_WITH_UI ======== ") 171MESSAGE(${CMAKE_SOURCE_DIR} " ====== CMAKE_SOURCE_DIR ======== ") 172set(SRC_LIST 173 pcba_minui/pcba_core.c 174 pcba_minui/ui.c 175 pcba_minui/safe_iop.c 176 pcba_minui/strlcpy.c 177 pcba_minui/strlcat.c 178 pcba_minui/minzip/DirUtil.c 179 pcba_minui/minzip/Hash.c 180 pcba_minui/minzip/Inlines.c 181 pcba_minui/minzip/SysUtil.c 182 pcba_minui/minzip/Zip.c 183 pcba_minui/mtdutils/mounts.c 184 pcba_minui/mtdutils/mtdutils.c 185 pcba_minui/mtdutils/rk29.c 186 pcba_minui/minui/events.c 187 pcba_minui/minui/graphics.c 188 pcba_minui/minui/resources.c 189 pcba_minui/minui/graphics_drm.c 190 pcba_minui/script_parser.c 191 pcba_minui/script.c 192 pcba_minui/touch_test.c 193 pcba_minui/rtc_test.c 194 pcba_minui/wlan_test.c 195 pcba_minui/bt_test.c 196 pcba_minui/ddr_test.c 197 pcba_minui/sdcard_test.c 198 pcba_minui/key_test.c 199 pcba_minui/screen_test.c 200 pcba_minui/udisk_test.c 201 pcba_minui/emmc_test.c 202 pcba_minui/audio_play_test.c 203 pcba_minui/audio_record_test.c 204) 205 206include_directories( 207 ${CMAKE_SYSROOT}/usr/include/libdrm/ 208 ${CMAKE_CURRENT_SOURCE_DIR}/pcba_minui 209 ${CMAKE_CURRENT_SOURCE_DIR}/pcba_minui/minui 210 ${CMAKE_CURRENT_SOURCE_DIR}/pcba_minui/Language 211) 212#link_libraries(z c pthread png drm) 213add_executable(pcba-core ${SRC_LIST}) 214target_link_libraries( pcba-core -lz -lc -lpthread -ldrm -lpng) 215install(TARGETS pcba-core DESTINATION ${INSTALL_TARGET_DIR}) 216 217 218else() 219MESSAGE(${CMAKE_CURRENT_SOURCE_DIR} " ====== SOURCE_DIR No PCBA_WITH_UI ======== ") 220endif() 221