зеркало из https://github.com/microsoft/git.git
Merge branch 'yw/cmake-updates'
CMake updates. * yw/cmake-updates: cmake: remove (_)UNICODE def on Windows in CMakeLists.txt cmake: add pcre2 support cmake: fix CMakeLists.txt on Linux
This commit is contained in:
Коммит
f31b624495
|
@ -54,7 +54,7 @@ set(CMAKE_SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/../..)
|
||||||
|
|
||||||
option(USE_VCPKG "Whether or not to use vcpkg for obtaining dependencies. Only applicable to Windows platforms" ON)
|
option(USE_VCPKG "Whether or not to use vcpkg for obtaining dependencies. Only applicable to Windows platforms" ON)
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
set(USE_VCPKG OFF CACHE BOOL FORCE)
|
set(USE_VCPKG OFF CACHE BOOL "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT DEFINED CMAKE_EXPORT_COMPILE_COMMANDS)
|
if(NOT DEFINED CMAKE_EXPORT_COMPILE_COMMANDS)
|
||||||
|
@ -108,7 +108,6 @@ project(git
|
||||||
|
|
||||||
#TODO gitk git-gui gitweb
|
#TODO gitk git-gui gitweb
|
||||||
#TODO Enable NLS on windows natively
|
#TODO Enable NLS on windows natively
|
||||||
#TODO Add pcre support
|
|
||||||
|
|
||||||
#macros for parsing the Makefile for sources and scripts
|
#macros for parsing the Makefile for sources and scripts
|
||||||
macro(parse_makefile_for_sources list_var regex)
|
macro(parse_makefile_for_sources list_var regex)
|
||||||
|
@ -160,6 +159,14 @@ if(NOT (WIN32 AND (CMAKE_C_COMPILER_ID STREQUAL "MSVC" OR CMAKE_C_COMPILER_ID ST
|
||||||
find_package(Intl)
|
find_package(Intl)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
find_package(PkgConfig)
|
||||||
|
if(PkgConfig_FOUND)
|
||||||
|
pkg_check_modules(PCRE2 libpcre2-8)
|
||||||
|
if(PCRE2_FOUND)
|
||||||
|
add_compile_definitions(USE_LIBPCRE2)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(NOT Intl_FOUND)
|
if(NOT Intl_FOUND)
|
||||||
add_compile_definitions(NO_GETTEXT)
|
add_compile_definitions(NO_GETTEXT)
|
||||||
if(NOT Iconv_FOUND)
|
if(NOT Iconv_FOUND)
|
||||||
|
@ -180,6 +187,9 @@ endif()
|
||||||
if(Intl_FOUND)
|
if(Intl_FOUND)
|
||||||
include_directories(SYSTEM ${Intl_INCLUDE_DIRS})
|
include_directories(SYSTEM ${Intl_INCLUDE_DIRS})
|
||||||
endif()
|
endif()
|
||||||
|
if(PCRE2_FOUND)
|
||||||
|
include_directories(SYSTEM ${PCRE2_INCLUDE_DIRS})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if(WIN32 AND NOT MSVC)#not required for visual studio builds
|
if(WIN32 AND NOT MSVC)#not required for visual studio builds
|
||||||
|
@ -260,7 +270,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||||
_CONSOLE DETECT_MSYS_TTY STRIP_EXTENSION=".exe" NO_SYMLINK_HEAD UNRELIABLE_FSTAT
|
_CONSOLE DETECT_MSYS_TTY STRIP_EXTENSION=".exe" NO_SYMLINK_HEAD UNRELIABLE_FSTAT
|
||||||
NOGDI OBJECT_CREATION_MODE=1 __USE_MINGW_ANSI_STDIO=0
|
NOGDI OBJECT_CREATION_MODE=1 __USE_MINGW_ANSI_STDIO=0
|
||||||
USE_NED_ALLOCATOR OVERRIDE_STRDUP MMAP_PREVENTS_DELETE USE_WIN32_MMAP
|
USE_NED_ALLOCATOR OVERRIDE_STRDUP MMAP_PREVENTS_DELETE USE_WIN32_MMAP
|
||||||
UNICODE _UNICODE HAVE_WPGMPTR ENSURE_MSYSTEM_IS_SET HAVE_RTLGENRANDOM)
|
HAVE_WPGMPTR ENSURE_MSYSTEM_IS_SET HAVE_RTLGENRANDOM)
|
||||||
list(APPEND compat_SOURCES
|
list(APPEND compat_SOURCES
|
||||||
compat/mingw.c
|
compat/mingw.c
|
||||||
compat/winansi.c
|
compat/winansi.c
|
||||||
|
@ -277,7 +287,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||||
|
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
add_compile_definitions(PROCFS_EXECUTABLE_PATH="/proc/self/exe" HAVE_DEV_TTY )
|
add_compile_definitions(PROCFS_EXECUTABLE_PATH="/proc/self/exe" HAVE_DEV_TTY )
|
||||||
list(APPEND compat_SOURCES unix-socket.c unix-stream-server.c)
|
list(APPEND compat_SOURCES unix-socket.c unix-stream-server.c compat/linux/procinfo.c)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||||
|
@ -700,6 +710,10 @@ endif()
|
||||||
if(Iconv_FOUND)
|
if(Iconv_FOUND)
|
||||||
target_link_libraries(common-main ${Iconv_LIBRARIES})
|
target_link_libraries(common-main ${Iconv_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
if(PCRE2_FOUND)
|
||||||
|
target_link_libraries(common-main ${PCRE2_LIBRARIES})
|
||||||
|
target_link_directories(common-main PUBLIC ${PCRE2_LIBRARY_DIRS})
|
||||||
|
endif()
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
target_link_libraries(common-main ws2_32 ntdll ${CMAKE_BINARY_DIR}/git.res)
|
target_link_libraries(common-main ws2_32 ntdll ${CMAKE_BINARY_DIR}/git.res)
|
||||||
add_dependencies(common-main git-rc)
|
add_dependencies(common-main git-rc)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче