summaryrefslogtreecommitdiffstats
path: root/cmake/dotnet.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/dotnet.cmake')
-rw-r--r--cmake/dotnet.cmake12
1 files changed, 8 insertions, 4 deletions
diff --git a/cmake/dotnet.cmake b/cmake/dotnet.cmake
index 6fca7c4..4c5c4ca 100644
--- a/cmake/dotnet.cmake
+++ b/cmake/dotnet.cmake
@@ -58,12 +58,19 @@ function(add_dotnet_executable NAME)
endif()
set(OUTPUT_FILE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${NAME}.dll)
+ set(RUNTIMECONFIG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${NAME}.runtimeconfig.json)
set(CSC_FLAGS -target:exe -main:${arg_MAIN})
foreach(ref IN LISTS arg_REFERENCES)
list(APPEND CSC_FLAGS "-reference:${ref}")
endforeach()
+ configure_file(
+ ${CMAKE_SOURCE_DIR}/cmake/runtimeconfig.json.in
+ ${RUNTIMECONFIG}
+ COPYONLY
+ )
+
add_custom_command(
OUTPUT ${OUTPUT_FILE}
COMMAND dotnet ${CSC_DLL}
@@ -75,10 +82,7 @@ function(add_dotnet_executable NAME)
-reference:System.Runtime.dll
-reference:System.Console.dll
${arg_SOURCES}
- COMMAND ${CMAKE_COMMAND} -E copy_if_different
- ${CMAKE_SOURCE_DIR}/HelloCMake.runtimeconfig.json
- ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${NAME}.runtimeconfig.json
- DEPENDS ${arg_SOURCES}
+ DEPENDS ${arg_SOURCES} ${RUNTIMECONFIG}
COMMENT "Compiling ${NAME} with Roslyn csc..."
COMMAND_EXPAND_LISTS
)