1.打印调试信息

  1. message(STATUS "src This is BINARY dir " ${PROJECT_BINARY_DIR})
  2. message(STATUS "src This is SOURCE dir " ${PROJECT_SOURCE_DIR})
注:仅cmake过程中的调试信息

2.导入外部库

  1. set(SMARTPLAYER_INCLUDEDIR "${CMAKE_CURRENT_SOURCE_DIR}/smartPlayer/include")
  2. set(SMARTPLAYER_LIBRARYDIR "${CMAKE_CURRENT_SOURCE_DIR}/smartPlayer/lib")
  3. ##1.添加头文件目录INCLUDE_DIRECTORIES
  4. include_directories(${SMARTPLAYER_INCLUDEDIR})
  5. ##2.添加需要链接的库文件目录LINK_DIRECTORIES
  6. link_directories(${SMARTPLAYER_LIBRARYDIR})

3.添加应用图标

  1. set(APP_ICON_RESOURCE_WINDOWS "${CMAKE_CURRENT_SOURCE_DIR}/app_win32.rc")
注:仅WINDOWS下可使用

4.大文件资源编译

  1. qt_add_big_resources(PROJECT_SOURCES
  2. resource.qrc
  3. qml.qrc
  4. )

5.隐藏命令窗口

  1. #隐藏console
  2. if(WIN32)
  3. if(MSVC)
  4. set_target_properties(${MY_PROJECT_NAME} PROPERTIES
  5. WIN32_EXECUTABLE YES
  6. LINK_FLAGS "/ENTRY:mainCRTStartup")
  7. elseif(CMAKE_COMPILER_IS_GNUCXX)
  8. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mwindows") # Not tested
  9. else()
  10. message(SEND_ERROR "You are using an unsupported Windows compiler! (Not MSVC or GCC)")
  11. endif(MSVC)
  12. elseif(APPLE)
  13. set_target_properties(${MY_PROJECT_NAME} PROPERTIES
  14. MACOSX_BUNDLE YES)
  15. elseif(UNIX)
  16. # Nothing special required
  17. else()
  18. message(SEND_ERROR "You are on an unsupported platform! (Not Win32, Mac OS X or Unix)")
  19. endif(WIN32)

6.拷贝文件到指定目录

  1. file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/ShareLib/ DESTINATION ${EXECUTABLE_OUTPUT_PATH}/)
  2. file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/maps/ DESTINATION ${EXECUTABLE_OUTPUT_PATH}/maps)