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
27 changes: 27 additions & 0 deletions cmake/FindMSVCRedist.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
if(WIN32)
include(InstallRequiredSystemLibraries)

# Determine architecture
# if(CMAKE_CL_64)
set(MSVC_ARCH x64)
# else()
# set(MSVC_ARCH x86)
# endif()

# Attempt to find the vcredist executable
find_program(MSVC_REDIST_EXE
NAMES vc_redist.${MSVC_ARCH}.exe
PATHS
"${MSVC_REDIST_DIR}" # If set by InstallRequiredSystemLibraries
"$ENV{VCINSTALLDIR}Redist/MSVC/v143/" # For VS 2022
"C:/Program Files (x86)/Microsoft Visual Studio/*/VC/Redist/MSVC/*/"
"C:/Program Files/Microsoft Visual Studio/*/*/VC/Redist/MSVC/*/"
NO_DEFAULT_PATH
)

if(MSVC_REDIST_EXE)
message(STATUS "Found VC Redistributable: ${MSVC_REDIST_EXE}")
else()
message(WARNING "VC Redistributable not found.")
endif()
endif()
8 changes: 8 additions & 0 deletions companion/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,13 @@ elseif(WIN32)
DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})
endif()

include(FindMSVCRedist)

if(MSVC_REDIST_EXE)
install(FILES ${MSVC_REDIST_EXE}
DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})
endif()

elseif(APPLE)
# Qt + Cmake + Mac is poorly documented. A lot of this is guesswork
# and trial and error. Do not hesitate to fix it for the better
Expand Down Expand Up @@ -514,6 +521,7 @@ if(WIN32)

cmake_path(NATIVE_PATH CMAKE_INSTALL_PREFIX NORMALIZE NSIS_DISTRO) # all files in here will be included in installer
cmake_path(NATIVE_PATH COMPANION_TARGETS_DIR NORMALIZE NSIS_TARGETS_DIR) # all files in here will be included in installer
cmake_path(GET MSVC_REDIST_EXE FILENAME NSIS_MSVC_REDIST_EXE)
set(NSI_FILE "${PROJECT_BINARY_DIR}/companion/companion.nsi")
configure_file("${COMPANION_TARGETS_DIR}/companion.nsi.in" "${NSI_FILE}" @ONLY)

Expand Down
Loading