cmake 常用操作

#打印 变量出来看
execute_process(
    COMMAND ${CMAKE_COMMAND} -E echo "hbb debug info
        PROJECT_VERSION = ${PROJECT_VERSION}
        PROJECT_SOURCES = ${PROJECT_SOURCES}
        MACOSX_BUNDLE_BUNDLE_VERSION = ${PROJECT_VERSION}
        MACOSX_BUNDLE_SHORT_VERSION_STRING = ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
        22345
    "
)
举一反三, 
execute_process可以执行exe 带参数,它执行于构建之前,是异步的


#生成文件
file(GENERATE OUTPUT cmake_dbg_log CONTENT "hbb debug info
        PROJECT_VERSION = ${PROJECT_VERSION}
        PROJECT_SOURCES = ${PROJECT_SOURCES}
        MACOSX_BUNDLE_BUNDLE_VERSION = ${PROJECT_VERSION}
        MACOSX_BUNDLE_SHORT_VERSION_STRING = ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
    ")

#如果文件存在,读文件并打印
if(EXISTS cmake_dbg_log)
file(READ "${CMAKE_CURRENT_BINARY_DIR}/cmake_dbg_log" file_content)#message(STATUS "${file_content}")
endif()

# 添加构建完成后的自定义命令
add_custom_command(
    TARGET prismDemo
    POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E cat "${CMAKE_CURRENT_BINARY_DIR}/cmake_dbg_log"
)
#其他的时机有
#PRE_BUILD:在构建目标之前执行命令。
#PRE_LINK:在链接目标之前执行命令。
#PRE_LINK:在链接目标之后执行命令。
#PRE_INSTALL:在安装目标之前执行命令。
#POST_INSTALL:在安装目标之后执行命令。

posted @ 2023-06-17 22:35  马肯尼煤牙巴骨  阅读(66)  评论(0)    收藏  举报