1.打印调试信息
message(STATUS "src This is BINARY dir " ${PROJECT_BINARY_DIR})message(STATUS "src This is SOURCE dir " ${PROJECT_SOURCE_DIR})
注:仅cmake过程中的调试信息
2.导入外部库
set(SMARTPLAYER_INCLUDEDIR "${CMAKE_CURRENT_SOURCE_DIR}/smartPlayer/include")set(SMARTPLAYER_LIBRARYDIR "${CMAKE_CURRENT_SOURCE_DIR}/smartPlayer/lib")##1.添加头文件目录INCLUDE_DIRECTORIESinclude_directories(${SMARTPLAYER_INCLUDEDIR})##2.添加需要链接的库文件目录LINK_DIRECTORIESlink_directories(${SMARTPLAYER_LIBRARYDIR})
3.添加应用图标
set(APP_ICON_RESOURCE_WINDOWS "${CMAKE_CURRENT_SOURCE_DIR}/app_win32.rc")
注:仅WINDOWS下可使用
4.大文件资源编译
qt_add_big_resources(PROJECT_SOURCES resource.qrc qml.qrc)
5.隐藏命令窗口
#隐藏consoleif(WIN32) if(MSVC) set_target_properties(${MY_PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE YES LINK_FLAGS "/ENTRY:mainCRTStartup") elseif(CMAKE_COMPILER_IS_GNUCXX) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mwindows") # Not tested else() message(SEND_ERROR "You are using an unsupported Windows compiler! (Not MSVC or GCC)") endif(MSVC)elseif(APPLE) set_target_properties(${MY_PROJECT_NAME} PROPERTIES MACOSX_BUNDLE YES)elseif(UNIX)# Nothing special requiredelse() message(SEND_ERROR "You are on an unsupported platform! (Not Win32, Mac OS X or Unix)")endif(WIN32)
6.拷贝文件到指定目录
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/ShareLib/ DESTINATION ${EXECUTABLE_OUTPUT_PATH}/)file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/maps/ DESTINATION ${EXECUTABLE_OUTPUT_PATH}/maps)