vcpkg/scripts/cmake
Joachim Gehweiler 11b4a16bca
[tensorflow-cc] More or less completely rewritten port, update to 2.3.1 (#13028)
* fix build issues occurring from default bazel config being used because customized bazel config is stored in wrong directory

* [tensorflow-cc] Update CONTROL and ci.baseline.txt

* fix also applies to windows static build

* fix debug and static builds as well as library naming for non-linux
- add patch to fix debug builds
- add patch to fix exports for static linking
- really build debug (instead of cloning release)
- override bazel build options for debug (work around bazel bug)
- bazel doesn't support static libraries: work around by building dynamic library and constructing static linkage commands from build log
- Windows .pdb file can't be >4GB even on x64: work around using reduced debug information
- Windows doesn't support .lib files >4GB even on x64, so split into multiple libs
- vcpkg requires equal amount of libs for debug and release: work around using handcrafted empty dummy libs
- fix naming of libs (.dll on Windows and .dylib on macOS)

* upgrade tensorflow from v1.14 to v2.3
- adapt patch files to tensorflow code changes
- update bazel from v0.25.2 to v3.1
- on Windows use python installed on the host instead of embedded python obtained via vcpkg because embedded python lacks pip, which we need to obtain numpy
- on Windows add MSYS2 to the PATH so that bazel tools can access MSYS2 GIT
- add support for custom CA certificates when using HTTPS_PROXY

* fix execute process macro
The existing implementation totally screwed up commands if the command's arguments contained semicolons (this is the case, e.g., in the FindPython modules of the cmake distribution).

* extend overriden execute_process to more than one COMMAND as there actually are use cases for this

* added another patch required for tensorflow v2.3, fixed path and working directory

* Revert "incorporate changes from microsoft:master"

* Revert "Revert "incorporate changes from microsoft:master""

* final fixes for static build + improving out messages

* enabling linux and osx in CI to see if it works now

* simplified code, fixed version numbers, fixed generated include cmake file

* fix failing postbuild check on handcrafted empty dummy library by spreading the last real libraries contents over the required number of libraries

* remove dead code commit by mistake again

* improvements from code review

* cleaner fix for debug code

* find pip3 in PATH (PYTHON3_DIR apparently not valid for pip3)

* fix error in python helper script

* fix wrong libname in postbuild script

* fix python detection + switch to python on msys2 (instead of embedded python) for Windows as we need numpy

* fix order of arguments

* fix command (it may contain spaces such as C:\Program Files\...)

* revert last commit (root cause for CI failures is something different: there are line breaks in path)

* fix regex comparision
(value needs to be escaped as it may contains regex special characters such as brackets, eg C:/Program Files (x86)/...)

* fix linebreaks in generated file

* fix CRT linkage
(macOS doesn't support static CRT linkage; it's set to dynamic even static target triplets for macOS and linux)

* refactor implemenation to avoid as much code duplication as possible -- algorithmically identical

* fix version numbers in helper scripts

* enable work-around for Windows until bazel fix is available

* install missing python3-pip on linux

* fix linux build by patching

* apply timeout feature now available via merged master branch

* correct linux build patch

* improve debug build patches
(no functional difference because LOG(FATAL, ...) macro internally anyway calls abort(), which the compiler doesn't detect in debug mode...

* improve linux patch

* temporarily add debug to inspect what's going on on macOS CI

* remove temporary debug code and fix static linking scripts for linux and macOS

* fix regex escaping

* fix ambiguous match while grepping for the framework link command

* extend fix of ambiguous match while grepping for the framework link command

* fix what merge of master broke

* fix more what got broken by merging master
(all packages and their dependencies are now maintained manually instead of using pacman...)

* remove "unofficial" from filename

* added switch do distinct classic and manifest mode when generating config.cmake file

* create symlinks for libraries without version number

* fix linux postbuild script

* temporarily disable code making problems

* add note for linking on Linux and macOS

* forget to add README file in previous commit

* add file forgotton in macro fixing patch

* fix python library path

* fix macOS static link command

* update linkage instructions in README

* Update ports/tensorflow-cc/CONTROL

* Update ports/tensorflow-cc/portfile.cmake

* Update scripts/ci.baseline.txt

* use vcpkg_execute_required_process

* pass C_FLAGS and CXX_FLAGS to bazel

* fix INTERFACE_INCLUDE_DIRECTORIES

* fix optional c/cxx arguments

* also add linker opts

* update README

* merge static libs into one
to support force_load (cannot force_load both due to duplicate symbols)

* update README

* quote python path (it might contain spaces that don't get escaped inside outer quotes of bash command)

* fix python path also for static build

* add arm(64) as currently unsupported arch

* bazel 3.7 is available -> remove workaround

* update README, remove necessary c-ares from deps

* update msys package

* add uwp specific options, and minor general improvements

* fix string replace

* fix control file and windows path separator

* revert backslashes-fix -- the root cause was missing .exe extension

* upgrade to tf 2.3.1

* fix hard-coded version

* remove uwp work-in-progress code so that PR can be merged

* update README and print out usage info in portfile

* Update ports/tensorflow-cc/README-linux

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/README-linux

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/README-linux

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/README-linux

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/README-linux

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/README-windows

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/portfile.cmake

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/portfile.cmake

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/portfile.cmake

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/portfile.cmake

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/portfile.cmake

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* improve usage hints as discussed in review

* add comment

* apply changes from review

* make additional compiler / linker args space-proof

* Update ports/tensorflow-cc/README-macos

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/tensorflow-cc-config-shared.cmake.in

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/tensorflow-cc-config-shared.cmake.in

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/README-linux

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* Update ports/tensorflow-cc/README-macos

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* apply changes from code review

* maybe fix the config files

* rob.maynard CRs

* fix windows static lib naming for first part

* Update ports/tensorflow-cc/generate_static_link_cmd_windows.py

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>

* apply rob maynards 1st suggestion

* nicole CRs

* format/fix-compile

* fix missing string termination

* prefer IMPORTED_LOCATION over IMPORTED_LOCATION_RELEASE to have default fall-back

* hopefully fix the issue where no libraries are generated

* final stuff

Co-authored-by: Gehweiler <Joachim_Gehweiler@McAfee.com>
Co-authored-by: wangli28 <wangli28@beyondsoft.com>
Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: Joachim Gehweiler <joachim@Joachims-iMac.local>
Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
2020-11-12 10:15:48 -08:00
..
execute_process.cmake [execute_process] Don't strip embedded semicolons (#12926) 2020-09-09 10:36:58 -07:00
vcpkg_acquire_msys.cmake [tensorflow-cc] More or less completely rewritten port, update to 2.3.1 (#13028) 2020-11-12 10:15:48 -08:00
vcpkg_add_to_path.cmake use it in vcpkg_add_to_path. 2019-08-08 14:22:53 +02:00
vcpkg_apply_patches.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_build_cmake.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_build_gn.cmake [gn, crashpad] Add GN build support and crashpad port (#10505) 2020-05-11 14:58:12 -07:00
vcpkg_build_make.cmake [vcpkg/scripts] Add a way to get cmake compiler settings/flags (#12936) 2020-11-10 09:52:02 -08:00
vcpkg_build_msbuild.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_build_ninja.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_build_nmake.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_build_qmake.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_buildpath_length_warning.cmake [Qt] Update to 5.12.4 (#7667) 2019-09-12 10:07:21 -07:00
vcpkg_check_features.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_check_linkage.cmake breakpad: Enable building the libbreakpad_client library (#4008) 2018-08-08 06:02:30 -07:00
vcpkg_clean_executables_in_bin.cmake [vcpkg] copy tools pdb if they exist. (#14396) 2020-11-05 18:16:47 -08:00
vcpkg_clean_msbuild.cmake xalan-c: Install headers correctly (#4565) 2018-10-25 12:34:45 -07:00
vcpkg_common_definitions.cmake [libvorbis] MinGW build fix (#14050) 2020-10-20 11:28:49 -07:00
vcpkg_common_functions.cmake Delete use of vcpkg_test_cmake and vcpkg_common_functions. (#13065) 2020-10-28 14:18:07 -07:00
vcpkg_configure_cmake.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_configure_gn.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_configure_make.cmake [vcpkg/scripts] Add a way to get cmake compiler settings/flags (#12936) 2020-11-10 09:52:02 -08:00
vcpkg_configure_meson.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_configure_qmake.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_copy_pdbs.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_copy_tool_dependencies.cmake [vcpkg] Disable vcpkg_copy_tool_dependencies on non-Windows (#14366) 2020-11-03 12:04:27 -08:00
vcpkg_copy_tools.cmake [vcpkg] copy tools pdb if they exist. (#14396) 2020-11-05 18:16:47 -08:00
vcpkg_download_distfile.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_escape_regex_control_characters.cmake [vcpkg] Do not use raw paths inside regexes (#12964) 2020-08-22 02:23:56 -07:00
vcpkg_execute_build_process.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_execute_in_download_mode.cmake [execute_process] Don't strip embedded semicolons (#12926) 2020-09-09 10:36:58 -07:00
vcpkg_execute_required_process_repeat.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_execute_required_process.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_extract_source_archive_ex.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_extract_source_archive.cmake Download Mode (#7950) 2019-08-28 13:49:29 -07:00
vcpkg_fail_port_install.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_find_acquire_program.cmake [tensorflow-cc] More or less completely rewritten port, update to 2.3.1 (#13028) 2020-11-12 10:15:48 -08:00
vcpkg_find_fortran.cmake [vcpkg] Replace uses of msys pacman.exe with direct package downloads (#13019) 2020-08-31 22:36:25 -07:00
vcpkg_fixup_cmake_targets.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_fixup_pkgconfig.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_from_bitbucket.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_from_git.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_from_github.cmake [vcpkg, azure-macro-utils-c] Fix SHA and add FILE_DISAMBIGUATOR for vcpkg_from_github (#14343) 2020-11-05 17:25:46 -08:00
vcpkg_from_gitlab.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_from_sourceforge.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_get_program_files_platform_bitness.cmake Improve functions that detect ProgramFiles in CMake 2017-02-24 15:02:10 -08:00
vcpkg_get_windows_sdk.cmake [vcpkg_get_windows_sdk] Don't call powershell. Deduce from env 2018-05-19 19:23:32 -07:00
vcpkg_install_cmake.cmake [vcpkg_build_cmake] Refactor _build_ and _install_ into a single cmake script. 2017-10-05 17:49:28 -07:00
vcpkg_install_gn.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_install_make.cmake [vcpkg] Improve make builds (#10402) 2020-05-21 10:46:07 -07:00
vcpkg_install_meson.cmake [vcpkg-docs] Add documentation for vcpkg_configure_meson(), vcpkg_install_meson(), vcpkg_fixup_cmake_targts(), and vcpkg_prettify_command() (#7606) 2020-02-12 15:58:43 -08:00
vcpkg_install_msbuild.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_install_nmake.cmake [vcpkg] Fix more cases of semicolon mishandling in "scripts" - follow-up to PR #12926 (#13968) 2020-10-26 19:30:27 -07:00
vcpkg_install_qmake.cmake [vcpkg_install_qmake] Add vcpkg_install_qmake (#9412) 2019-12-23 06:10:12 -08:00
vcpkg_internal_get_cmake_vars.cmake [vcpkg/scripts] Add a way to get cmake compiler settings/flags (#12936) 2020-11-10 09:52:02 -08:00
vcpkg_prettify_command.cmake [vcpkg] Fix prettify output not working in some cases (#12717) 2020-08-05 13:03:34 -07:00
vcpkg_replace_string.cmake use install target in Makefiles; make all portfile uniform 2017-11-06 00:24:29 +11:00
vcpkg_test_cmake.cmake Delete use of vcpkg_test_cmake and vcpkg_common_functions. (#13065) 2020-10-28 14:18:07 -07:00