cmake设置mfc编译项目

网友投稿 253 2022-11-28

cmake设置mfc编译项目

cmake_minimum_required( VERSION 3.0 )#项目名set ( PROJ_NAME DCMLIB )project ( ${PROJ_NAME} )#设置变量set ( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON )set ( CMAKE_AUTOMOC ON )#set()就是设置变量set ( CMAKE_AUTORCC ON )# 3) 取得源文件列表AUX_SOURCE_DIRECTORY( ../../common PROJ_SRC_COMMON_LIST )#查询commom文件夹下的所有cpp文件#资源文件一般是QT会用到set ( PROJ_QRC_LIST )set ( PROJ_SRC_LIST ${PROJ_SRC_COMMON_LIST})message("Found source files:")#message就跟c++的printf一样打印出结果foreach( F ${PROJ_SRC_LIST} )message(${F})endforeach(${F})message("Found QRC files:")foreach( F ${PROJ_QRC_LIST} )message(${F})endforeach(${F})# 4) 处理if( MINGW ) set ( CMAKE_RC_COMPLIER_INIT windres ) enable_language( RC ) set ( CMAKE_RC_COMPLIE_OBJECT " -o coff -i -o ")endif()# 5) 确定目标set ( WIN_SYSTEM )if(WIN32) if(MSVC) set ( WIN_SYSTEM "WIN32" ) elseif(CMAKE_COMPLIER_IS_GNUCXX) set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mwindows") else() endif()elseif(UNIX) # nothing to doelse() message(SEND_ERROR "This cmake file only used in Windows!")endif()set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DQLEMR_CFG_DIAG_USE_MEM_CNTR -DQLEMR_CFG_DIAG_USE_ASSERT -DQLEMR_CFG_DIAG_USE_DBG_OUTPUT ")set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DQLEMR_CFG_DIAG_USE_MEM_CNTR -DQLEMR_CFG_DIAG_USE_ASSERT -DQLEMR_CFG_DIAG_USE_DBG_OUTPUT ")set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DQLEMR_CFG_DIAG_USE_MEM_CNTR ")set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DQLEMR_CFG_DIAG_USE_MEM_CNTR ")#添加头文件包含目录include_directories( ../../third-part/include)#添加lib文件链接目录link_directories( ${PROJECT_SOURCE_DIR}/../../third-part/lib )#设置预编译项add_definitions( -DQLEMR_CFG_DLL )#共享DLL中使用 MFCADD_DEFINITIONS(-D_AFXDLL)SET(CMAKE_MFC_FLAG 2)#设置CMAKE_MFC_FLAG为2,0表示使用标准的MFC,1表示静态MFC,2表示共享add_executable(DCMLIB WIN32 ${PROJ_SRC_LIST}) #第一个参数是项目名字,第二个是,win32,第三个是所有的cpp文件列表#设置字符集add_definitions(-DUNICODE -D_UNICODE)# 生成什么库,STATIC静态,SHARED动态库add_library( dcmlib STATIC ${PROJ_SRC_LIST} ${PROJ_QRC_LIST} )#添加链接库 target_link_libraries( dcmlib debug Ws2_32.lib netapi32.lib )target_link_libraries( dcmlib optimized Ws2_32.lib netapi32.lib )#设置目标属性 set_target_properties( dcmlib PROPERTIES DEBUG_OUTPUT_NAME dcmlib )set_target_properties( dcmlib PROPERTIES RELEASE_OUTPUT_NAME dcmlibd )# 6) 复制生成文件install( FILES ${PROJECT_SOURCE_DIR}/../../update.txt DESTINATION ${CMAKE_INSTALL_PREFIX} )#DESTINATION指定安装路径

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:下一个十年的存储趋势是怎样的(上)
下一篇:飞思卡尔推出面向功耗敏感控制的64位四核处理器
相关文章

 发表评论

暂时没有评论,来抢沙发吧~