From d0ba43f68e72a6033df965336a717d5ecaaf5041 Mon Sep 17 00:00:00 2001 From: Gilles Grospellier Date: Sun, 24 Nov 2024 18:35:09 +0100 Subject: [PATCH] [axlstar,config] Use arccon dotnet wrapper for axlstar tool used when compiling Arcane and Alien. --- axlstar/CMakeLists.txt | 14 ++++++++++++-- axlstar/launcher.bat.in | 2 +- axlstar/launcher.sh.in | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/axlstar/CMakeLists.txt b/axlstar/CMakeLists.txt index a9349e155e..1517d70c9c 100644 --- a/axlstar/CMakeLists.txt +++ b/axlstar/CMakeLists.txt @@ -41,8 +41,6 @@ elseif (AXLSTAR_DOTNET_RUNNER STREQUAL coreclr) " You can download a binary version of '.Net 8' at the following address:\n" " 'https://dotnet.microsoft.com/en-us/download´") endif() - # La variable DOTNET_RUNNER_EXEC est utilisée pour la configuration de 'launcher.in' - set(DOTNET_RUNNER_EXEC ${DOTNET_EXEC}) set(DLL_EXE_EXTENSION .dll) else() message(FATAL_ERROR "Invalid value '${AXLSTAR_DOTNET_RUNNER}' for AXLSTAR_DOTNET_RUNNER. Only 'coreclr' is supported") @@ -135,6 +133,16 @@ arccon_dotnet_install_publish_directory(DIRECTORY ${AXLSTAR_PUBLISH_DIR} # Function pour configurer un script permettant de lancer une commande C#. # Le script préfixe la commande par le lanceur utilisé function(axlstar_configure_runner_script file_name command_name) + # Cette variable est normalement définie dans Arccon s'il est compilé + # en même temps que ce projet. Mais au cas où on utiliserait une ancienne + # version de Arccon, on la définit. + # Le wrapper est utilisé uniquement quand on compile axlstar (car il n'est + # pas installé). Pour la version installée on utilise l'exécutable 'dotnet' + # classique. + if (NOT DOTNET_EXEC_WRAPPER) + set (DOTNET_EXEC_WRAPPER "${DOTNET_EXEC}") + endif() + set(DLL_NAME Axlstar.Driver${DLL_EXE_EXTENSION}) set(COMMAND_NAME ${command_name}) set(AXLSTAR_INSTALL_BIN ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) @@ -145,9 +153,11 @@ function(axlstar_configure_runner_script file_name command_name) set(file_name ${file_name}.bat) endif() + set(AXLSTAR_DOTNET_EXEC "${DOTNET_EXEC_WRAPPER}") configure_file(${LAUNCHER_NAME} ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/${file_name} @ONLY) set(AXLSTAR_INSTALL_BIN ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}) + set(AXLSTAR_DOTNET_EXEC "${DOTNET_EXEC}") configure_file(${LAUNCHER_NAME} ${CMAKE_BINARY_DIR}/bin_install/${file_name} @ONLY) install(PROGRAMS ${CMAKE_BINARY_DIR}/bin_install/${file_name} DESTINATION ${CMAKE_INSTALL_BINDIR}) endfunction() diff --git a/axlstar/launcher.bat.in b/axlstar/launcher.bat.in index 8ae30eedcc..d6cab94271 100644 --- a/axlstar/launcher.bat.in +++ b/axlstar/launcher.bat.in @@ -1 +1 @@ -call "@DOTNET_RUNNER_EXEC@" @DOTNET_RUNNER_ARGS@ "@AXLSTAR_INSTALL_BIN@/axlstar_dlls/@DLL_NAME@" @COMMAND_NAME@ %* +call "@AXLSTAR_DOTNET_EXEC@" @DOTNET_RUNNER_ARGS@ "@AXLSTAR_INSTALL_BIN@/axlstar_dlls/@DLL_NAME@" @COMMAND_NAME@ %* diff --git a/axlstar/launcher.sh.in b/axlstar/launcher.sh.in index 9da53ee0d2..2e5de6ace7 100755 --- a/axlstar/launcher.sh.in +++ b/axlstar/launcher.sh.in @@ -1,2 +1,2 @@ #!/bin/sh -"@DOTNET_RUNNER_EXEC@" @DOTNET_RUNNER_ARGS@ "@AXLSTAR_INSTALL_BIN@/axlstar_dlls/@DLL_NAME@" @COMMAND_NAME@ "$@" +"@AXLSTAR_DOTNET_EXEC@" @DOTNET_RUNNER_ARGS@ "@AXLSTAR_INSTALL_BIN@/axlstar_dlls/@DLL_NAME@" @COMMAND_NAME@ "$@"