cmake
cmake版本
cmake_minimum_required(VERSION 3.8) #根CMakeLists.txt必须有
变量
SET(PROJECT_NAME Audio32Player) #变量定义
project(${PROJECT_NAME}) #变量使用
开启MFC选项
set(CMAKE_MFC_FLAG 1)
add_definitions(-DUNICODE -D_UNICODE)
add_definitions(-D_AFXDLL)
添加工程文件
FILE(GLOB SRC_FILES ${PROJECT_DIR}/*.cpp)
FILE(GLOB HEAD_FILES ${PROJECT_DIR}/*.h)
FILE(GLOB RC_FILES ${PROJECT_DIR}/*.rc ${PROJECT_DIR}*.def)
添加lib路径
link_directories(../lib)
添加lib
link_libraries(winmm.lib)
link_libraries("winmm.lib")
设置安装路径
SET(CMAKE_INSTALL_PREFIX D:/test/CMakeMFCTest/Audio32Player)
SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_INSTALL_PREFIX})
SET(LIBRARY_OUTPUT_PATH ${CMAKE_INSTALL_PREFIX})
产出lib
add_library(${PROJECT_NAME} STATIC ${SRC_FILES} ${HEAD_FILES} ${RC_FILES}) #静态链接库
add_library(${PROJECT_NAME} SHARED ${SRC_FILES} ${HEAD_FILES} ${RC_FILES}) #动态链接库
add_library(${PROJECT_NAME} MODULE ${SRC_FILES} ${HEAD_FILES} ${RC_FILES})
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS /SUBSYSTEM:WINDOWS)
产出exe
add_executable(${PROJECT_NAME} ${SRC_FILES} ${HEAD_FILES} ${RC_FILES})
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS")
command
cmake -G "Visual Studio 12 2013 Win64" .\MFCApplication #生成工程
cmake --build .\MFCApplication\build #更新工程
添加子工程
add_subdirectory(HelloMsg)
add_subdirectory(MFCApplication)
参考
cmake使用教程