cmake配置文件CMakeLists.txt编写

#cmake verson,指定cmake版本
cmake_minimum_required(VERSION 3.2)

#project name,指定项目的名称,一般和项目的文件夹名称对应
PROJECT(main)

#定义变量
SET(PROJECT_NAME main)

add_definitions("-g")
#add_definitions("-O3")
add_definitions("-Wall")
add_definitions("-Wextra")

#引入c++11
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
#SET(CMAKE_SHARED_LINKER_FLAGS "-shared")

# 判断当前操作系统平台
#IF (WIN32)
#    MESSAGE(STATUS "Now is windows")
#ELSEIF (APPLE)
#    MESSAGE(STATUS "Now is Apple systens.")
#ELSEIF (UNIX)
#    MESSAGE(STATUS "Now is UNIX-like OS's. Including aPPLE os x  and CygWin")
#ENDIF ()

# or
#IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
#    MESSAGE(STATUS "current platform: Linux ")
#ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows")
#    MESSAGE(STATUS "current platform: Windows")
#ELSEIF (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
#    MESSAGE(STATUS "current platform: FreeBSD")
#ELSE ()
#    MESSAGE(STATUS "other platform: ${CMAKE_SYSTEM_NAME}")
#ENDIF (CMAKE_SYSTEM_NAME MATCHES "Linux")


#头文件目录
INCLUDE_DIRECTORIES(
    /usr/include
    /usr/local/curl/include
    )

#源文件目录
AUX_SOURCE_DIRECTORY(. SRC_DIR)

#库文件目录
#SET(LIBRARYS pcre
#    /usr/local/curl/lib/libcurl.a
#    /usr/local/c-ares/lib/libcares.a)

#生成的库文件名
#ADD_LIBRARY(demo.so SHARED ${SRC_DIR})

#设置环境变量,编译用到的源文件全部都要放到这里,否则编译能够通过,但是执行的时候会出现各种问题,比如"symbol lookup error xxxxx , undefined symbol"
SET(TEST_MATH
    ${SRC_DIR}
    )

#添加要编译的可执行文件
ADD_EXECUTABLE(${PROJECT_NAME} ${TEST_MATH})

#添加可执行文件所需要的库,比如我们用到了libm.so(命名规则:lib+name+.so),就添加该库的名称
# TARGET_LINK_LIBRARIES(${PROJECT_NAME} m)

#安装目录
#INSTALL(TARGETS demo.so LIBRARY DESTINATION usr/local/demo)

猜你喜欢

转载自blog.csdn.net/zhifeng172/article/details/81125150