message([STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] "message to display" ...)
(无) :重要消息
STATUS :非重要消息
WARNING:CMake 警告, 会继续执行
AUTHOR_WARNING:CMake 警告 (dev), 会继续执行
SEND_ERROR:CMake 错误, 继续执行,但是会跳过生成的步骤
FATAL_ERROR:CMake 错误, 终止所有处理过程
CMakeLists.txt文件如下:
cmake_minimum_required(VERSION 3.5.1)
project(test)
file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
set(CMAKE_CXX_STANDARD 11)
include_directories(${PROJECT_SOURCE_DIR}/include)
#link_libraries(calc)
message("xxxxxxxxxxxxxx")
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib2)
add_executable(app ${SRC})
message(STATUS "111xxxxxxxxxxx")
#只有app可执行文件调用动态库中的函数,动态库才会被加载到内存当中
#一般放到文件的最后
#动态库是共享的,当有多个文件链接他的时候,他只会在内存中加载一个
target_link_libraries(app calc)
message(FATAL_ERROR "222xxxxxxxxxx")
message(STATUS "333xxxxxxxxxxxx")
执行cmake ..就会输出日志信息
因为 FATAL_ERROR:CMake 错误, 终止所有处理过程,所以最后一条信息没有输出。
现在来验证这一点,将 FATAL_ERROR注释掉:
cmake_minimum_required(VERSION 3.5.1)
project(test)
file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)
set(CMAKE_CXX_STANDARD 11)
include_directories(${PROJECT_SOURCE_DIR}/include)
#link_libraries(calc)
message("xxxxxxxxxxxxxx")
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib2)
add_executable(app ${SRC})
message(STATUS "111xxxxxxxxxxx")
#只有app可执行文件调用动态库中的函数,动态库才会被加载到内存当中
#一般放到文件的最后
#动态库是共享的,当有多个文件链接他的时候,他只会在内存中加载一个
target_link_libraries(app calc)
#message(FATAL_ERROR "222xxxxxxxxxx")
message(STATUS "333xxxxxxxxxxxx")
333xxxxxx也输出出来了