Mercurial > hg > orthanc-postgresql
changeset 153:6f90b762be6a
no need for patch.exe
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 04 Jan 2018 07:26:56 +0100 (2018-01-04) |
parents | 98007e87cc30 |
children | d5a717cfa00f |
files | CMakeLists.txt Orthanc/Resources/CMake/Compiler.cmake Orthanc/Resources/ThirdParty/patch/NOTES.txt Orthanc/Resources/ThirdParty/patch/msys-1.0.dll Orthanc/Resources/ThirdParty/patch/patch.exe Orthanc/Resources/ThirdParty/patch/patch.exe.manifest Resources/SyncOrthancFolder.py |
diffstat | 7 files changed, 18 insertions(+), 93 deletions(-) [+] |
line wrap: on
line diff
--- a/CMakeLists.txt Wed Jan 03 18:09:02 2018 +0100 +++ b/CMakeLists.txt Thu Jan 04 07:26:56 2018 +0100 @@ -41,6 +41,7 @@ mark_as_advanced(USE_GTEST_DEBIAN_SOURCE_PACKAGE) set(ORTHANC_ROOT ${CMAKE_SOURCE_DIR}/Orthanc) +set(ORTHANC_DISABLE_PATCH ON) # No need for the "patch" command-line tool set(ENABLE_LOCALE OFF) # Disable support for locales (notably in Boost) include(CheckIncludeFiles)
--- a/Orthanc/Resources/CMake/Compiler.cmake Wed Jan 03 18:09:02 2018 +0100 +++ b/Orthanc/Resources/CMake/Compiler.cmake Thu Jan 04 07:26:56 2018 +0100 @@ -195,6 +195,16 @@ endif() +if (CMAKE_COMPILER_IS_GNUCXX) + # "When creating a static library using binutils (ar) and there + # exist a duplicate object name (e.g. a/Foo.cpp.o, b/Foo.cpp.o), the + # resulting static library can end up having only one of the + # duplicate objects. [...] This bug only happens if there are many + # objects." https://cmake.org/Bug/view.php?id=14874 + set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> <LINK_FLAGS> q <TARGET> <OBJECTS>") +endif() + + if (STATIC_BUILD) add_definitions(-DORTHANC_STATIC=1) else()
--- a/Orthanc/Resources/ThirdParty/patch/NOTES.txt Wed Jan 03 18:09:02 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -=========== -INFORMATION -=========== - -This is a precompiled version of the "patch" standard tool for -Windows. It was compiled using the MSYS framework. - -The binaries originate from the "Git for Windows 1.9.5" package -(https://msysgit.github.io/). The build instructions have been -provided on the discussion group of Git for Windows [1]. They are -copied/pasted below for reference. - - - -================ -UPSTREAM PROJECT -================ - -URL to the upstream project: -http://savannah.gnu.org/projects/patch/ - -License of patch: GPLv2 (GNU General Public License v2) - -Copyright (C) 1988 Larry Wall "with lots o' patches by Paul Eggert" -Copyright (C) 1997 Free Software Foundation, Inc. - - - -====================== -BUILD INSTRUCTIONS [1] -====================== - -The easiest way to find out about this is to install the Git SDK, then -run - - pacman -Qu $(which patch.exe) - -to find out which package contains the `patch.exe` binary. It so happens -to be patch.2.7.5-1 at the moment. Since this is an MSys2 package (not a -MinGW one, otherwise the patch utility would be in /mingw64/bin/, not -/usr/bin/), this package is built from the recipes in - - https://github.com/msys2/MSYS2-packages - -The `patch` package is obviously built from the subdirectory - - https://github.com/Alexpux/MSYS2-packages/tree/master/patch - -and the PKGBUILD file specifies that the source is fetched from -ftp://ftp.gnu.org/gnu/patch/patch-2.7.5.tar.xz: - -https://github.com/Alexpux/MSYS2-packages/blob/900744becd072f687029b0f830ab6fe95cf533d6/patch/PKGBUILD#L14 - -and then these two patches are applied before building: - -https://github.com/Alexpux/MSYS2-packages/blob/900744becd072f687029b0f830ab6fe95cf533d6/patch/msys2-patch-2.7.1.patch - -and - -https://github.com/Alexpux/MSYS2-packages/blob/900744becd072f687029b0f830ab6fe95cf533d6/patch/msys2-patch-manifest.patch - -As you can see, some light changes are applied, i.e. `patch.exe` will -always write in binary mode with MSys2, and the executable will have a -manifest embedded that allows it to run as non-administrator. - -Ciao, -Johannes Schindelin - - -[1] https://groups.google.com/d/msg/git-for-windows/xWyVr4z6Ri0/6RKeV028EAAJ
--- a/Orthanc/Resources/ThirdParty/patch/patch.exe.manifest Wed Jan 03 18:09:02 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="yes"?> -<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> - <assemblyIdentity version="7.95.0.0" - processorArchitecture="X86" - name="patch.exe" - type="win32"/> - - <!-- Identify the application security requirements. --> - <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> - <security> - <requestedPrivileges> - <requestedExecutionLevel - level="asInvoker" - uiAccess="false"/> - </requestedPrivileges> - </security> - </trustInfo> -</assembly> -
--- a/Resources/SyncOrthancFolder.py Wed Jan 03 18:09:02 2018 +0100 +++ b/Resources/SyncOrthancFolder.py Thu Jan 04 07:26:56 2018 +0100 @@ -32,12 +32,15 @@ 'Resources/MinGWToolchain.cmake', 'Resources/Patches/boost-1.65.1-linux-standard-base.patch', 'Resources/ThirdParty/VisualStudio/stdint.h', - 'Resources/ThirdParty/patch/NOTES.txt', - 'Resources/ThirdParty/patch/msys-1.0.dll', - 'Resources/ThirdParty/patch/patch.exe', - 'Resources/ThirdParty/patch/patch.exe.manifest', 'Resources/WindowsResources.py', 'Resources/WindowsResources.rc', + + # NB: The "patch.exe" for Windows is not necessary, + # as the only patch applies to Linux Standard Base + #'Resources/ThirdParty/patch/NOTES.txt', + #'Resources/ThirdParty/patch/msys-1.0.dll', + #'Resources/ThirdParty/patch/patch.exe', + #'Resources/ThirdParty/patch/patch.exe.manifest', ] SDK = [