1. 在cmake配置使用MFC
ADD_DEFINITIONS(-D_AFXDLL)
SET(CMAKE_MFC_FLAG 2)2. 在cmake中设置可调试
无论debug还是release度可以通过下面语句来让程序可调试
SET(CMAKE_CXX_FLAGS_DEBUG "/Zi /Od /DEBUG") #debug版
SET(CMAKE_CXX_FLAGS_RELEASE "/Zi /Od /DEBUG") #release版3. 如何定义_WIN32宏
CMake定义宏一般是用add_definition()函数,但是_win32 和 win32 win64是无法通过这个来修改的,只能通过修改CMAKE_CXX_FLAGS来实现
set(CMAKE_CXX_FLAGS "/DWIN64 /D_WIN32")4. Visual studio 工程按文件夹显示层次结构
function(source_group_by_dir files)
SET(cur_dir ${CMAKE_CURRENT_SOURCE_DIR})
foreach(filename ${files})
STRING(REGEX REPLACE "${cur_dir}" "" fpath ${filename})
STRING(FIND ${fpath} "/" lastidx REVERSE)
STRING(SUBSTRING ${fpath} 0 ${lastidx} fakegroupname)
STRING(COMPARE EQUAL "${fakegroupname}" "" bequal)
IF(NOT ${bequal} EQUAL 1)
STRING(REPLACE "/" "\\" groupname ${fakegroupname})
string(LENGTH ${groupname} igrouplength)
set(groupname2 ${groupname})
if(${igrouplength} GREATER 0)
STRING(SUBSTRING ${groupname} 1 ${igrouplength}-1 groupname2)
ELSE(${igrouplength} GREATER 0)
SET(groupname2 "\\")
ENDIF(${igrouplength} GREATER 0)
ELSE(NOT ${bequal} EQUAL 1)
SET(groupname2 "\\")
ENDIF(NOT ${bequal} EQUAL 1)
SOURCE_GROUP(${groupname2} FILES ${filename})
endforeach(filename ${files})
endfunction(source_group_by_dir files)
FILE(GLOB_RECURSE headerfiles ${CMAKE_CURRENT_SOURCE_DIR} "*.h" ".inl")
FILE(GLOB_RECURSE sourcefiles ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp" "*.c" "*.cxx")
FILE(GLOB resourcefiles ${CMAKE_CURRENT_SOURCE_DIR} "*.rc")
SET(SRC_LISTS ${headerfiles} ${sourcefiles} ${CMAKE_CURRENT_SOURCE_DIR}/XTToolkitPro.rc)
source_group_by_dir("${SRC_LISTS}")版权声明:本文为ljp341621原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。