| 1 | function(add_mc target mc_file) |
| 2 | |
| 3 | cmake_path(GET mc_file STEM MC_NAME) |
| 4 | |
| 5 | set(OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}\\${TARGET_PLATFORM}\\${CMAKE_BUILD_TYPE}) |
| 6 | set(RC_FILE ${OUTPUT_DIR}/${MC_NAME}.rc) |
| 7 | set(HEADER_FILE ${OUTPUT_DIR}/${MC_NAME}.h) |
| 8 | |
| 9 | add_custom_command( |
| 10 | OUTPUT ${RC_FILE} ${HEADER_FILE} ${CMAKE_CURRENT_BINARY_DIR}/CmakeFiles/${target} |
| 11 | COMMAND mc.exe -A -b -c -h ${OUTPUT_DIR} -r ${OUTPUT_DIR} ${mc_file} |
| 12 | COMMAND rc.exe -nologo -fo${OUTPUT_DIR}\\${MC_NAME}.res ${RC_FILE} |
| 13 | COMMAND ${CMAKE_COMMAND} -E touch "${CMAKE_CURRENT_BINARY_DIR}/CmakeFiles/${target}" |
| 14 | WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} |
| 15 | DEPENDS ${mc_file} |
| 16 | MAIN_DEPENDENCY ${mc_file} |
| 17 | VERBATIM |
| 18 | ) |
| 19 | |
| 20 | add_custom_target(${target} DEPENDS ${RC_FILE} SOURCES ${mc_file}) |
| 21 | |
| 22 | set_source_files_properties(${RC_FILE} PROPERTIES GENERATED TRUE) |
| 23 | endfunction() |