Merge branch 'mr/cmake'
CMake update. * mr/cmake: cmake: add warning for ignored MSGFMT_EXE cmake: create compile_commands.json by default cmake: add knob to disable vcpkg
This commit is contained in:
commit
c3c0b71f9a
@ -43,14 +43,27 @@ NOTE: By default CMake uses Makefile as the build tool on Linux and Visual Studi
|
||||
to use another tool say `ninja` add this to the command line when configuring.
|
||||
`-G Ninja`
|
||||
|
||||
NOTE: By default CMake will install vcpkg locally to your source tree on configuration,
|
||||
to avoid this, add `-DNO_VCPKG=TRUE` to the command line when configuring.
|
||||
|
||||
]]
|
||||
cmake_minimum_required(VERSION 3.14)
|
||||
|
||||
#set the source directory to root of git
|
||||
set(CMAKE_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/../..)
|
||||
if(WIN32)
|
||||
|
||||
option(USE_VCPKG "Whether or not to use vcpkg for obtaining dependencies. Only applicable to Windows platforms" ON)
|
||||
if(NOT WIN32)
|
||||
set(USE_VCPKG OFF CACHE BOOL FORCE)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED CMAKE_EXPORT_COMPILE_COMMANDS)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS TRUE)
|
||||
endif()
|
||||
|
||||
if(USE_VCPKG)
|
||||
set(VCPKG_DIR "${CMAKE_SOURCE_DIR}/compat/vcbuild/vcpkg")
|
||||
if(MSVC AND NOT EXISTS ${VCPKG_DIR})
|
||||
if(NOT EXISTS ${VCPKG_DIR})
|
||||
message("Initializing vcpkg and building the Git's dependencies (this will take a while...)")
|
||||
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/compat/vcbuild/vcpkg_install.bat)
|
||||
endif()
|
||||
@ -176,12 +189,18 @@ if(WIN32 AND NOT MSVC)#not required for visual studio builds
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_program(MSGFMT_EXE msgfmt)
|
||||
if(NOT MSGFMT_EXE)
|
||||
set(MSGFMT_EXE ${CMAKE_SOURCE_DIR}/compat/vcbuild/vcpkg/downloads/tools/msys2/msys64/usr/bin/msgfmt.exe)
|
||||
if(NOT EXISTS ${MSGFMT_EXE})
|
||||
message(WARNING "Text Translations won't be built")
|
||||
unset(MSGFMT_EXE)
|
||||
if(NO_GETTEXT)
|
||||
message(STATUS "msgfmt not used under NO_GETTEXT")
|
||||
else()
|
||||
find_program(MSGFMT_EXE msgfmt)
|
||||
if(NOT MSGFMT_EXE)
|
||||
if(USE_VCPKG)
|
||||
set(MSGFMT_EXE ${CMAKE_SOURCE_DIR}/compat/vcbuild/vcpkg/downloads/tools/msys2/msys64/usr/bin/msgfmt.exe)
|
||||
endif()
|
||||
if(NOT EXISTS ${MSGFMT_EXE})
|
||||
message(WARNING "Text Translations won't be built")
|
||||
unset(MSGFMT_EXE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -982,7 +1001,7 @@ file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_GETTEXT='${NO_GETTEXT}'\n"
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "RUNTIME_PREFIX='${RUNTIME_PREFIX}'\n")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "NO_PYTHON='${NO_PYTHON}'\n")
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "SUPPORTS_SIMPLE_IPC='${SUPPORTS_SIMPLE_IPC}'\n")
|
||||
if(WIN32)
|
||||
if(USE_VCPKG)
|
||||
file(APPEND ${CMAKE_BINARY_DIR}/GIT-BUILD-OPTIONS "PATH=\"$PATH:$TEST_DIRECTORY/../compat/vcbuild/vcpkg/installed/x64-windows/bin\"\n")
|
||||
endif()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user