From ed8a0febc25f357cb07dbb091444f029f4cf5206 Mon Sep 17 00:00:00 2001 From: Clifford Yapp <238416+starseeker@users.noreply.github.com> Date: Tue, 4 Feb 2025 07:03:47 -0500 Subject: [PATCH] Try running MSVC nmake install from a .cmake script --- tcl/CMakeLists.txt | 4 ++-- tcl/tcl_install.cmake.in | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 tcl/tcl_install.cmake.in diff --git a/tcl/CMakeLists.txt b/tcl/CMakeLists.txt index 7a7999a..23eb3c4 100644 --- a/tcl/CMakeLists.txt +++ b/tcl/CMakeLists.txt @@ -56,6 +56,7 @@ if (ENABLE_TCL) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tcl_configure.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/tcl_configure.cmake @ONLY) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tcl_build.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/tcl_build.cmake @ONLY) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tcl_install.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/tcl_install.cmake @ONLY) if (NOT MSVC) @@ -105,8 +106,7 @@ if (ENABLE_TCL) CONFIGURE_COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/tcl_configure.cmake BINARY_DIR ${TCL_SRC_DIR}/win BUILD_COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/tcl_build.cmake - INSTALL_COMMAND call ${VCVARS_BAT} && nmake -f makefile.vc install INSTALLDIR=${CMAKE_BUNDLE_INSTALL_PREFIX} SUFX= - COMMAND echo "Running VCVARS_BAT: ${VCVARS_BAT}" + INSTALL_COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/tcl_install.cmake LOG_CONFIGURE ${EXT_BUILD_QUIET} LOG_BUILD ${EXT_BUILD_QUIET} LOG_INSTALL ${EXT_BUILD_QUIET} diff --git a/tcl/tcl_install.cmake.in b/tcl/tcl_install.cmake.in new file mode 100644 index 0000000..78cf9d9 --- /dev/null +++ b/tcl/tcl_install.cmake.in @@ -0,0 +1,24 @@ +execute_process( + COMMAND "@VCVARS_BAT@" + ) +execute_process( + COMMAND nmake -f makefile.vc install INSTALLDIR=@CMAKE_BUNDLE_INSTALL_PREFIX@ SUFX= + RESULT_VARIABLE TCL_RET + WORKING_DIRECTORY "@TCL_SRC_DIR@/win" + OUTPUT_VARIABLE MSG + ERROR_VARIABLE MSG + ) + +if (TCL_RET) + message(FATAL_ERROR "Tcl install failed: ${MSG}\n") +endif (TCL_RET) + +message("Tcl install succeeded: ${MSG}\n") + +# Local Variables: +# tab-width: 8 +# mode: cmake +# indent-tabs-mode: t +# End: +# ex: shiftwidth=2 tabstop=8 +