1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| command(arg1 arg2 ...) set(var_name var_value) command(arg1 ${var_name})
cmake_minimum_required(VERSION num) project(cur_project_name) set(CMAKE_CXX_FLAGS "XXX") set(CMAKE_BUILD_TYPE "XXX")
find_package(std_lib_name VERSION REQUIRED) add_library(<name> [STATIC|SHARED|MODULE] source1) include_directories(${std_lib_name_INCLUDE_DIRS}) link_directories(${std_lib_name_INCLUDE_DIRS}) add_executable(cur_project_name XXX.cpp) target_link_libraries(${std_lib_name_LIBRARIES})
function(function_name arg) add_subdirectory(dir) AUS_SOURCE_DIRECTORY(. SRC_LIST) FOREACH(one_dir ${SRC_LIST}) MESSAGE(${one_dir}) ENDFOREACH(onedir)
if(expression) COMMAND1(ARGS) ELSE(expression) COMMAND2(ARGS) ENDIF(expression)
IF(var) IF(NOT var) IF(var1 AND var2) IF(var1 OR var2) IF(COMMAND cmd) IF(EXISTS dir) IF(EXISTS file) IF(IS_DIRECTORY dirname) IF(file1 IS_NEWER_THAN file2) IF(variable MATCHES regex)
WHILE(condition) COMMAND1(ARGS) // ... ENDWHILE(condition)
ADD_DEFINITIONS OPTION ADD_CUSTOM_COMMAND/TARGET
ADD_DEPENDENCIES INSTALL TARGET_INCLUDE_DIRECTORIES SET_TARGET_PROPERTIES ENABLE_TESTING/ADD_TEST
CMAKE_INSTALL_PREFIX $ENV{HOME} PROJECT_NAME <PKG>_INCUDE_DIR <PKG>_LIBRARIES PROJECT_SOURCE_DIR CMAKE_VERSION CMAKE_SOURCE_DIR
|