From f99dea59928458b3f27da563031dc138ca7c7aa1 Mon Sep 17 00:00:00 2001 From: Thibault Lescoat Date: Wed, 15 Mar 2017 16:51:51 +0100 Subject: [PATCH] Create folder for output when invoking shaderc --- cmake/tools/shaderc.cmake | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cmake/tools/shaderc.cmake b/cmake/tools/shaderc.cmake index 3711bf2..95e3f48 100644 --- a/cmake/tools/shaderc.cmake +++ b/cmake/tools/shaderc.cmake @@ -142,7 +142,15 @@ endfunction() function( shaderc ) cmake_parse_arguments( ARG "" "FILE;OUTPUT" "" ${ARGN} ) shaderc_parse( CLI ${ARGN} ) - add_custom_command( OUTPUT ${ARG_OUTPUT} COMMAND "$" ${CLI} MAIN_DEPENDENCY ${ARG_FILE} COMMENT "Compiling shader ${ARG_FILE}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" ) + get_filename_component( OUTDIR "${ARG_OUTPUT}" ABSOLUTE ) + get_filename_component( OUTDIR "${OUTDIR}" DIRECTORY ) + add_custom_command( OUTPUT ${ARG_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E make_directory "${OUTDIR}" + COMMAND "$" ${CLI} + MAIN_DEPENDENCY ${ARG_FILE} + COMMENT "Compiling shader ${ARG_FILE}" + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + ) endfunction() # shaderc_parse(