cross.cmake 与 CMakeLists.txt 的原型提供

Cmakelists.txt  生成动态库

project(WIFI_SERVER)
cmake_minimum_required(VERSION 2.8.12)
include (../../cross.cmake)

set(WIFI_SERVER_SRC_FILES
    src/wifi_server.cpp
)

include_directories(
    ${CMAKE_CURRENT_SOURCE_DIR}/../../../framework/out ${CMAKE_CURRENT_SOURCE_DIR}/include
)

LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib ${CMAKE_CURRENT_SOURCE_DIR}/../../framework/out)
add_definitions()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -std=c++11")
add_library(wifi_server SHARED ${WIFI_SERVER_SRC_FILES})

target_link_libraries(wifi_server 
softap wifid wifimg)

set(INSTALL_HEAD_FILES src/wifi_server.h)

install(TARGETS wifi_server DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/out)
install(FILES ${INSTALL_HEAD_FILES} DESTINATION  ${CMAKE_CURRENT_SOURCE_DIR}/out/wifi_server)

 

Cmakelists.txt  生成可执行文件 

project(SYSTEM_SETTINGS)
cmake_minimum_required(VERSION 2.8.12)
include (./cross.cmake)

set(SYSTEM_SETTINGS_SRC_FILES
    src/system_settings.cpp
    main.cpp
)

include_directories(
    ${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/../framework/out ${CMAKE_CURRENT_SOURCE_DIR}/../framework/external_party/out ${CMAKE_CURRENT_SOURCE_DIR}/inc
    )

LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src ${CMAKE_CURRENT_SOURCE_DIR}/../framework/out ${CMAKE_CURRENT_SOURCE_DIR}/../framework/external_party/out)

add_definitions()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -std=c++11")

add_executable(system_settings ${SYSTEM_SETTINGS_SRC_FILES})

target_link_libraries(system_settings
    hal adk pthread messenger cjson nanomsg)

target_include_directories(system_settings
    PRIVATE src)

install(TARGETS system_settings DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/./out)

 

cross.cmake  // 交叉编译工具链信息

SET(CROSS_COMPILE 1)

IF(CROSS_COMPILE)
 
SET(CMAKE_SYSTEM_NAME Linux)
SET(TOOLCHAIN_DIR "/home/zhengyang/work/git_server_work/tools/toolchain")

set(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/arm-openwrt-linux-gnueabi-g++)
set(CMAKE_C_COMPILER   ${TOOLCHAIN_DIR}/bin/arm-openwrt-linux-gnueabi-gcc)
set(GNU_FLAGS "-Os -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon -fno-caller-saves -Wno-unused-result -mfloat-abi=hard  -Wformat -Werror=format-security -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro   -DNDEBUG   -w -g")
set(CMAKE_CXX_FLAGS "${GNU_FLAGS}")
set(CMAKE_C_FLAGS "${GNU_FLAGS}")

SET(CMAKE_FIND_ROOT_PATH  ${TOOLCHAIN_DIR}
 ${TOOLCHAIN_DIR}/arm-none-linux-gnueabi/include
 ${TOOLCHAIN_DIR}/arm-none-linux-gnueabi/lib )

#ADD_DEFINITIONS(-DTEST_IPC)

ENDIF(CROSS_COMPILE)
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦幽风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值