diff options
| author | Bernhard Guillon <Bernhard.Guillon@begu.org> | 2026-06-30 21:32:01 +0200 |
|---|---|---|
| committer | Bernhard Guillon <Bernhard.Guillon@begu.org> | 2026-06-30 21:32:01 +0200 |
| commit | 793748246133423bab93258375a45f3c0ad363b2 (patch) | |
| tree | ab437e35e0713ab29a8252b3f5c5463b389cf2d9 | |
| parent | 4515ab7b7bdc356eb8e95ba9d3f16b43dd80f39c (diff) | |
| download | csharp-cmake-793748246133423bab93258375a45f3c0ad363b2.tar.gz csharp-cmake-793748246133423bab93258375a45f3c0ad363b2.zip | |
Use cmake/runtimeconfig.json.in template with configure_file for executables
| -rw-r--r-- | cmake/dotnet.cmake | 12 | ||||
| -rw-r--r-- | cmake/runtimeconfig.json.in (renamed from HelloCMake.runtimeconfig.json) | 0 |
2 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 ) diff --git a/HelloCMake.runtimeconfig.json b/cmake/runtimeconfig.json.in index e431d27..e431d27 100644 --- a/HelloCMake.runtimeconfig.json +++ b/cmake/runtimeconfig.json.in |
