project(name) 设置项目名称

project_source_dir 项目所在目录 == ${project_name}_source_dir 工程路径

project_binary_dir 生成的二进制文件存放目录 == ${project_name}_source_dir 编译路径

set(src_list file...)

add_executable(bin_name ${src_list})    

add_library(lib_name [shared|static|module|exclude_from_all] ${src_list})

add_subdirectory(src bin exclute)  添加子目录 第一个子值为子目录, 第二个为子目录编译生成文件的存放目录(可空), 第三个为编译排除目录

set(executable_output_path ${project_binary_dir}/bin)  设置可执行文件的生成目录

set(library_output_path ${project_binary_dir}/lib) 设置库文件的生成目录

include_directories(dir)  相当与g++ 里面的-I

link_directories(dir..) 相当与g++ 里面的-L

target_link_libraries(bin libs...) 相当与g++ 里面的-l

 

CMAKE_C_FLAGS 设置C编译选项,也可以通过add_definitions添加 add_definitions("-g -funsigned-char -Wall")

CMAKE_CXX_FLAGS 设置C++编译选项,也可以通过add_definitions添加,eg: set(CMAKE_CXX_FLAGS "-std=c++0x -DBOOST_HAS_TR1 -DBOOST_HAS_THREADS")

 

aux_source_directory(dir var)  eg. aux_source_directory(. src_list) add_executable(bin_name ${src_list}) 

 

 

待补充.......

 

 

 

posted on 2013-07-22 23:21  adidos  阅读(322)  评论(0编辑  收藏  举报