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_DIRECTORIES
include_directories(${SMARTPLAYER_INCLUDEDIR})
##2.添加需要链接的库文件目录LINK_DIRECTORIES
link_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.隐藏命令窗口
#隐藏console
if(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 required
else()
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)