CMakeLists.txt 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. set(MODULE_NAME "VTMLauncher")
  2. #全局设置
  3. if(FALSE AND MSVC)
  4. # Use the static C library for all build types
  5. foreach(var
  6. CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
  7. CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO
  8. CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
  9. CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO
  10. )
  11. if(${var} MATCHES "/MD")
  12. # 正则表达式替换/MD为/MT
  13. string(REGEX REPLACE "/MD" "/MT" ${var} "${${var}}")
  14. endif()
  15. endforeach()
  16. endif(FALSE AND MSVC)
  17. #add_definitions(-D_AFXDLL)
  18. # It should be set to 1 for the static MFC library, and 2 for the shared MFC library
  19. set(CMAKE_MFC_FLAG 1)
  20. add_executable(${MODULE_NAME} WIN32
  21. VTM_IL.cpp
  22. VTM_IL.rc
  23. resource.h)
  24. target_compile_options(${MODULE_NAME} PRIVATE "$<$<CXX_COMPILER_ID:MSVC>:/MT>")
  25. target_compile_options(${MODULE_NAME} PRIVATE "$<$<C_COMPILER_ID:MSVC>:/MT>")
  26. target_include_directories(${MODULE_NAME} PRIVATE
  27. ${CMAKE_CURRENT_SOURCE_DIR}
  28. )
  29. target_link_directories(${MODULE_NAME} PRIVATE
  30. )
  31. set_target_properties(${MODULE_NAME} PROPERTIES OUTPUT_NAME "VTM")
  32. install(TARGETS ${MODULE_NAME}
  33. RUNTIME DESTINATION "${RVC_RUNTIME_PATH}"
  34. ARCHIVE DESTINATION "${RVC_LIBRARY_PATH}"
  35. LIBRARY DESTINATION "${RVC_LIBRARY_PATH}"
  36. COMPONENT libraries)
  37. if(MSVC)
  38. get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME)
  39. install(PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${OUTPUT_FILENAME}.exe
  40. DESTINATION ${RVC_BASE_PATH}
  41. COMPONENT libraries)
  42. endif(MSVC)
  43. if (WITH_PDB_SAVE AND MSVC AND BUILD_SHARED_LIBS)
  44. get_target_property(OUTPUT_FILENAME ${MODULE_NAME} OUTPUT_NAME)
  45. install(FILES ${RVC_PDB_BINARY_DIR}/${OUTPUT_FILENAME}.pdb DESTINATION ${RVC_PDBSAVE_PATH} COMPONENT symbols)
  46. endif()
  47. set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "tools/")