zoukankan      html  css  js  c++  java
  • cmake 学习-cmakelists.txt

    
    
     #设置库的路径,电脑里有qt4以及qt5,使用qt5时 设置qt5的环境变量(路径)。
    1 set(CMAKE_PREFIX_PATH $ENV{QTDIR})                                                                        
     2 #设定工程名称
     3 Project(proname)
     4 #设置CMake最低版本要求
     5 cmake_minimum_required(VERSION 3.6.0)
     6 
     7 #设置需要用到的Qt模块
     8 
     9 FIND_PACKAGE(Qt5Core) 
    #包含qt5core的头文件
    10 include_directories(${Qt5Core_INCLUDE_DIRS}) 11 12 #设置Boost静态库路径,电脑中有不同版本的boost选择自己需要的 13 SET(Boost_LIBRARY_DIRS $ENV{BOOST_ROOT16}/lib32-msvc-14.0) 14 SET(Boost_INCLUDE_DIRS $ENV{BOOST_ROOT16}) 15 SET(Boost_LIBRARIES boost_date_time-vc140-mt-1_62.lib boost_date_time-vc140-mt-gd-1_62.lib) 16 #设置Qt包含的静态库 17 link_directories($ENV{QTDIR}\lib) 18 set(QT_LIBRARIES Qt5::Core) 19 20 #一些设置项 21 set(QT_USE_QTSQL TRUE) 22 23 24 #增加宏定义 25 if(WIN32) 26 add_definitions(-D_CRT_SECURE_NO_DEPRECATE) 27 endif(WIN32) 28 29 add_definitions(-DPRONAME) 30 add_definitions(-DQT5) 31 32 33 #定义变量 34 SET(CMAKE_BUILD_TYPE "Debug") 35 set(LIB_DIR ${PROJECT_SOURCE_DIR}/lib) 36 37 38 #定义一些包含路径 39 SET(ANALYZER_SRC ${PROJECT_SOURCE_DIR}/src) 40 41 #工具链 42 if(ARM) 43 SET(CMAKE_CXX_COMPILER arm-linux-g++) 44 endif() 45 46 47 #添加子目录,进一步Make 4 49 add_subdirectory(src) 50 51 #多核编译 52 if(WIN32) 53 set_target_properties(proname PROPERTIES COMPILE_FLAGS "/MP") 54 else(WIN32) 55 endif(WIN32)

    src目录下cmakelists.txt

    #创建一系列的变量
    set(moc_files
    1.h
    2.h
    )

    set(header_files
    1.h
    2.h
    )
    set(source_files
    1.cpp
    2.cpp
    )

    #头文件路径
    include_directories(
    ./
    ${PROJECT_SOURCE_DIR}
    ${Boost_INCLUDE_DIRS}
    )

    #通过include导入子文件
    include("${CMAKE_CURRENT_SOURCE_DIR}/book2/CMakeLists.rules")

    #moc
    QT5_WRAP_CPP(HEADER_MOCS ${moc_files})
    SOURCE_GROUP("moc_cxx" FILES ${HEADER_MOCS})


    # HOST链接库路径
    link_directories(${Boost_LIBRARY_DIRS} )


    #最终目标文件
    add_definitions ("-D${MYDLL}_LIB")
    set(LIBRARY_OUTPUT_PATH ${LIB_DIR})
    add_library(${MYDLL} SHARED ${moc_files} ${source_files} ${header_files} ${HEADER_MOCS})
    target_link_libraries(${MYDLL} ${MYDLL_LINK_LIST}) # MYDLL_LINK_LIST通过set设置的一些lib
    #多核编译
    if(WIN32)
    set_target_properties(${MYDLl} PROPERTIES COMPILE_FLAGS "/MP") #多核编译
    else(WIN32)
    endif(WIN32)



  • 相关阅读:
    结果偏见 (行为经济学)
    天下没有免费的午餐
    双环学习
    信息对称、网络效应
    为什么说盲维是认知升级的重要概念?
    给思维找一个支点
    风险是一种商品
    认知方法论第一课
    A*算法深入
    A*算法入门
  • 原文地址:https://www.cnblogs.com/kabe/p/7162318.html
Copyright © 2011-2022 走看看