zoukankan      html  css  js  c++  java
  • cmake模板

    工程的目录树如下所示

    $ tree
    .
    ├── bin
    │   └── test
    ├── CMakeLists.txt
    ├── include
    │   ├── cal.h
    │   └── syslog.h
    ├── lib
    │   └── libcal.a
    └── src
        ├── cal.c
        └── main.c

    cmake编译生成静态库和可执行文件

    $ cat CMakeLists.txt 
     1 # cmake for test
     2 # author : hancq
     3 # date   : 2016-03-24
     4  
     5 # set cmake mimimum version
     6 cmake_minimum_required(VERSION 2.8.0)
     7  
     8 # project name
     9 project(test)
    10  
    11 # set cmake cross compile
    12 #set(CMAKE_CROSEECOMPILING  TRUE)
    13 #set(CMKA_SYSTRM_NAME       Linux)
    14 #set(CMAKE_C_COMPILER       arm-hisiv300-linux-gcc)
    15 #set(CMAKE_CXX_COMPILER     arm-hisiv300-linux-g++)
    16 #set(CMAKE_AUTOCONF_OPTION "--host=arm-linux CC=${CMAKE_C_COMPILER}")
    17  
    18 # add message
    19 message(STATUS "PROJECT_BINARY_DIR: " ${PROJECT_BINARY_DIR})
    20 message(STATUS "PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR})
    21 #message(SEND_ERROR "this is a SEND_ERROR")
    22 #message(FATAL_ERROR "this is a FATAL_ERROR")
    23  
    24 # set source files
    25 set(SRC 
    26     ${PROJECT_SOURCE_DIR}/src/main.c)
    27  
    28 # set library source files
    29 set(LIB_SRC ${PROJECT_SOURCE_DIR}/src/cal.c)
    30  
    31 # set bin file path
    32 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
    33 # set lib file path
    34 set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
    35  
    36 # add include directories
    37 include_directories(${PROJECT_SOURCE_DIR}/include)
    38 # library files path
    39 link_directories(${PROJECT_SOURCE_DIR}/lib)
    40  
    41 # add define value
    42 add_definitions(-Wall)
    43 add_definitions(-O2)
    44 add_definitions(-DCAL_ADD)
    45 add_definitions(-DCAL_SUB)
    46 add_definitions(-DCAL_MUL)
    47 add_definitions(-DCAL_DIV)
    48  
    49 # build static library
    50 add_library(cal STATIC ${LIB_SRC})
    51  
    52 # build for test
    53 add_executable(test ${SRC})
    54 target_link_libraries(test cal)
  • 相关阅读:
    Vue中 el-table大数据量加载,不分页,节省内存的性能优化
    http请求中Content-Type以及qs.stringify的使用
    setTimeout用法(Event Loop简介、for循环中应用、vue中应用)
    Vue中关于图片路径配置的填坑日记
    WebSocket
    Vue中mockjs的使用
    Vue 作用域插槽slot slot-scope v-slot
    Windows Server 2003搭建邮件服务器
    Exchange 2010的部署
    Exchange 2010 详细安装步骤
  • 原文地址:https://www.cnblogs.com/hancq/p/5319934.html
Copyright © 2011-2022 走看看