master
cmake 23 lines 910 Bytes
Raw
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()