Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions pkg/maker/buildcontent.go
Original file line number Diff line number Diff line change
Expand Up @@ -902,11 +902,12 @@ func (m *Maker) ExecutesCommands(executes []Executes) string {
customTarget := "\nadd_custom_target(" + item.Execute + " ALL"
runAlways := item.Always != nil
if runAlways {
customTarget += "\n COMMAND ${CMAKE_COMMAND} -E echo \"Executing: " + item.Execute + "\""
customTarget += "\n COMMAND " + QuoteArguments(item.Run)
if len(item.Output) > 0 {
customTarget += "\n BYPRODUCTS ${OUTPUT}"
}
customTarget += "\n COMMENT " + item.Execute + "\n)"
customTarget += "\n)"
} else {
customTarget += " DEPENDS ${OUTPUT})"
}
Expand All @@ -915,18 +916,23 @@ func (m *Maker) ExecutesCommands(executes []Executes) string {
content += m.ListExecutesIOs("INPUT", item.Input, item.Run)
customCommand += " DEPENDS ${INPUT}"
}
executeCommandNameAdded := false
if !runAlways && len(item.Output) == 0 {
item.Output = append(item.Output, "${CMAKE_CURRENT_BINARY_DIR}/"+item.Execute+".stamp")
customCommand += "\n COMMAND ${CMAKE_COMMAND} -E echo \"Executing: " + item.Execute + "\""
customCommand += "\n COMMAND ${CMAKE_COMMAND} -E touch \"" + item.Execute + ".stamp\""
executeCommandNameAdded = true
}
if len(item.Output) > 0 {
content += m.ListExecutesIOs("OUTPUT", item.Output, item.Run)
m.GetGeneratedFiles(item.Output)
}
content += customTarget
if !runAlways {
customCommand += "\n COMMAND " + QuoteArguments(item.Run)
customCommand += "\n COMMENT " + item.Execute + "\n)"
if !executeCommandNameAdded {
customCommand += "\n COMMAND ${CMAKE_COMMAND} -E echo \"Executing: " + item.Execute + "\""
}
customCommand += "\n COMMAND " + QuoteArguments(item.Run) + "\n)"
content += customCommand
}
}
Expand Down
12 changes: 6 additions & 6 deletions test/data/solutions/executes/ref/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,8 @@ set(OUTPUT
)
add_custom_target(Archive_Artifacts ALL DEPENDS ${OUTPUT})
add_custom_command(OUTPUT ${OUTPUT} DEPENDS ${INPUT}
COMMAND ${CMAKE_COMMAND} -E echo "Executing: Archive_Artifacts"
COMMAND ${CMAKE_COMMAND} -DINPUT="${INPUT}" -DOUTPUT="${OUTPUT}" -P "${INPUT_0}"
COMMENT Archive_Artifacts
)

# Execute: Generate_Project_Sources
Expand All @@ -105,8 +105,8 @@ list(GET OUTPUT 0 OUTPUT_0)
list(GET OUTPUT 1 OUTPUT_1)
add_custom_target(Generate_Project_Sources ALL DEPENDS ${OUTPUT})
add_custom_command(OUTPUT ${OUTPUT} DEPENDS ${INPUT}
COMMAND ${CMAKE_COMMAND} -E echo "Executing: Generate_Project_Sources"
COMMAND ${CMAKE_COMMAND} -DINPUT_1="${INPUT_1}" -DOUTPUT_0="${OUTPUT_0}" -DOUTPUT_1="${OUTPUT_1}" -P "${INPUT_0}"
COMMENT Generate_Project_Sources
)

# Execute: Run_After_Archiving
Expand All @@ -118,21 +118,21 @@ set(OUTPUT
)
add_custom_target(Run_After_Archiving ALL DEPENDS ${OUTPUT})
add_custom_command(OUTPUT ${OUTPUT} DEPENDS ${INPUT}
COMMAND ${CMAKE_COMMAND} -E echo "Executing: Run_After_Archiving"
COMMAND ${CMAKE_COMMAND} -E touch "Run_After_Archiving.stamp"
COMMAND ${CMAKE_COMMAND} -E echo "Archive has been updated"
COMMENT Run_After_Archiving
)

# Execute: Run_Always1
add_custom_target(Run_Always1 ALL
COMMAND ${CMAKE_COMMAND} -E echo "Executing: Run_Always1"
COMMAND ${CMAKE_COMMAND} -E echo "Execute Run Always1"
COMMENT Run_Always1
)

# Execute: Run_Always2
add_custom_target(Run_Always2 ALL
COMMAND ${CMAKE_COMMAND} -E echo "Executing: Run_Always2"
COMMAND ${CMAKE_COMMAND} -E echo "Execute Run Always2"
COMMENT Run_Always2
)

# Execute: project.Release+ARMCM0-Sign_Artifact
Expand All @@ -146,8 +146,8 @@ set(OUTPUT
)
add_custom_target(project.Release+ARMCM0-Sign_Artifact ALL DEPENDS ${OUTPUT})
add_custom_command(OUTPUT ${OUTPUT} DEPENDS ${INPUT}
COMMAND ${CMAKE_COMMAND} -E echo "Executing: project.Release+ARMCM0-Sign_Artifact"
COMMAND ${CMAKE_COMMAND} -DINPUT="${INPUT}" -DOUTPUT="${OUTPUT}" -P "${INPUT_0}"
COMMENT project.Release+ARMCM0-Sign_Artifact
)

# Build dependencies
Expand Down