永发信息网

怎样生成cmake

答案:1  悬赏:80  手机版
解决时间 2021-11-12 07:24
  • 提问者网友:沉默的哀伤
  • 2021-11-12 00:14
怎样生成cmake
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-11-12 01:16
给你个例子:
project(NumRandom)

cmake_minimum_required(VERSION 2.8)

add_definitions(-D_UNICODE -DUNICODE)

add_definitions("/wd4819")

if(NOT ${CMAKE_BUILD_TYPE} MATCHES "Debug")

set(WINDOWS WIN32)

add_definitions(-D_IRR_STATIC_LIB_)

set(LIBRARIES Irrlicht_S.lib)

else()

set(LIBRARIES Irrlicht.lib)

endif()

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")

foreach(flag_var

CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE

CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO

CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE

CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)

if(${flag_var} MATCHES "/MD")

string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")

endif()

endforeach()

aux_source_directory(. SRC_LIST)

add_executable(${PROJECT_NAME} ${WINDOWS} ${SRC_LIST})

set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup")

target_link_libraries(${PROJECT_NAME} ${LIBRARIES})

以及一个target的调用方法:
cmd /C "if not exist Build (mkdir Build chdir Build cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=MinSizeRel .. nmake verbose=1) else chdir Build cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=MinSizeRel .. nmake"

注意其中的:-DCMAKE_BUILD_TYPE=MinSizeRel
转载
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯