14 Commits

Author SHA1 Message Date
Kai Pastor
9a5e44fcc1
[ignition-modularscripts] Disable docs, reduce warnings, update style (#31309)
* [ignition-modularscripts] CMake style update

* Add MAYBE_UNUSED_VARIABLES

* Don't build docs (unless overriden)

* Require install for host
2023-05-08 16:01:29 -07:00
Jack·Boos·Yu
7cfd63db7f
[many ports]switch to vcpkg-cmake / vcpkg-cmake-config part 2 (#29882)
Co-authored-by: jyu49 <yu_jack@apple.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2023-04-21 14:48:12 -07:00
Jack·Boos·Yu
91393faf12
[ignition-cmake2/ignition-modularscripts/ignition-common3] Add options, support pkgconfig and fix usage for common3-graph (#25021)
* [ignition-common3] Fix usage for graph

* version

* Apply suggestion

* version

* Add option OPTIONS, add pkgconfig support, refactor function option declarations

* Remove cmake find module installation, add pkgconfig support and fix PRIVATE_FOR limit

* Apply suggestions, fix dependency libxml2

* version
2022-06-16 17:23:05 -07:00
LilyWangLL
1e24ff5074
[ignition-*] Update hashes (#24618)
* [ignition-cmake0, ignition-cmake2] Update hash

* x-add-version

* Fix other ignition SHAs and use vcpkg-port-config.cmake modern machinery.

* add license

* x-add-version

* format vcpkg.json

* x-add-version

* Add FILE_DISAMBIGUATOR

Co-authored-by: Lily Wang <v-lilywang@microsoft.com>
Co-authored-by: Billy Robert O'Neal III <bion@microsoft.com>
2022-05-12 16:22:01 -07:00
Billy O'Neal
b295670e4b
Bulk convert control files. (#19986)
```
function Convert-Control {
    Param($full)
    .\vcpkg.exe format-manifest $full
    $root = $full.Substring(0, $full.Length - 7) # CONTROL
    $new = $root + 'vcpkg.json'
    $content = Get-Content -Raw $new
    $asJson = ConvertFrom-Json $content -AsHashtable -Depth 100
    $oldVersion = $asJson['port-version']
    if ($null -eq $oldVersion) {
        $oldVersionFull = $asJson['version-string']
        Write-Host "Got version $oldVersionFull"
        $match = [System.Text.RegularExpressions.Regex]::Match($oldVersionFull, '^(.+)-(\d+)$')
        if ($match.Success -and -not [System.Text.RegularExpressions.Regex]::IsMatch($oldVersionFull, '^\d\d\d\d-\d\d-\d\d$')) {
            $newFullVersion = [string]$match.Groups[1].Value
            $oldVersion = [int]$match.Groups[2].Value
            Write-Host "newFullVersion $newFullVersion oldVersion $oldVersion"
            $newVersion = $oldVersion + 1
            $asJson['version-string'] = $newFullVersion
            Write-Host "Previous version for $full extracted from version field -- setting version-string $newFullVersion and port-version $newVersion"
        } else {
            Write-Host "No previous version for $full -- setting 1"
            $newVersion = 1
        }
    } else {
        $newVersion = [int]$oldVersion + 1
        Write-Host "New version for $full : $newVersion"
    }

    $asJson['port-version'] = $newVersion

    $content = ConvertTo-Json $asJson -Depth 100
    Set-Content -Path $new -Value $content
    .\vcpkg.exe format-manifest $new
}

Get-ChildItem ports\CONTROL -Recurse | Foreach-Object {
    Convert-Control $_.FullName
}

git commit -am "this message"
.\vcpkg.exe x-add-version -all
git commit -a --amend
```
2021-09-09 01:24:04 -07:00
Silvio Traversaro
e81a567080
[ignition-msgs*] Fix flaky CI tests for ignition-msgs* ports (#14730)
Pass ADD_BIN_TO_PATH to vcpkg_install_cmake and
remove custom PATH hacks.
2020-11-25 11:23:22 -08:00
Billy O'Neal
b97849d258
[Many Ports] Baseline Fixes for 2020-10-24 CI Build (#14208)
* [libp7client, libp7-baical] Combine identical ports and update to libp7client 5.6.

In a recent CI build, we started getting output like:

Installing package libp7-baical[core]:x86-windows...
The following files are already installed in C:/Dev/vcpkg/installed/x86-windows and are in conflict with libp7-baical:x86-windows

Installed by libp7client:x86-windows
    bin/P7x32.dll
    bin/P7x32.pdb
    debug/bin/P7x32d.dll
    debug/bin/P7x32d.pdb
    include/P7/GTypes.h
    include/P7/P7_Client.h
    include/P7/P7_Cproxy.h
    include/P7/P7_Extensions.h
    include/P7/P7_Telemetry.h
    include/P7/P7_Trace.h

It turns out that these ports are identical, they are just different versions of the same library. The libp7-baical version supported more platforms and was simpler, so took that one and updated it to a current version.

* [ignition-modularscripts, ignition-msgs1] Attempt to fix intermittent build failures by disabling parallel configure.

* Fix several "passing: remove from fail list."

* [akali] Disable parallel configure.

REGRESSION: akali:x64-windows. If expected, add akali:x64-windows=fail to .\scripts\ci.baseline.txt.

Attempts to fix:

CMake Error: Could not open file for write in copy operation C:/Dev/vcpkg/buildtrees/akali/src/fc94eb83a9-01654d3f7c.clean/include/akali_config.h.tmp
CMake Error: : System Error: Permission denied
CMake Error at CMakeLists.txt:20 (configure_file):
  configure_file Problem configuring file

* [nvtt] Devendor libsquish

This was regressed by https://github.com/microsoft/vcpkg/pull/13674

REGRESSION: nvtt:x64-linux. If expected, add nvtt:x64-linux=fail to .\scripts\ci.baseline.txt.
REGRESSION: nvtt:x64-osx. If expected, add nvtt:x64-osx=fail to .\scripts\ci.baseline.txt.
REGRESSION: nvtt:x64-windows-static. If expected, add nvtt:x64-windows-static=fail to .\scripts\ci.baseline.txt.
REGRESSION: nvtt:x64-windows. If expected, add nvtt:x64-windows=fail to .\scripts\ci.baseline.txt.

Installing package nvtt[core]:x64-linux...
The following files are already installed in /mnt/vcpkg-ci/installed/x64-linux and are in conflict with nvtt:x64-linux

Installed by libsquish:x64-linux
    debug/lib/libsquishd.a
    include/squish.h
    lib/libsquish.a

* [knet] Disable parallel configure.

REGRESSION: knet:x64-windows. If expected, add knet:x64-windows=fail to .\scripts\ci.baseline.txt.

CMake Error at src/CMakeLists.txt:1 (configure_file):
  configure_file Problem configuring file

* [libnice] Diable parallel configure.

REGRESSION: libnice:x64-windows. If expected, add libnice:x64-windows=fail to .\scripts\ci.baseline.txt.

CMake Error at CMakeLists.txt:13 (configure_file):
  configure_file Problem configuring file
2020-10-24 22:36:53 -07:00
Alexander Neumann
458c20e94b
[vcpkg/scripts/pkgconfig] rewrite pkg-config check for libraries (#11550)
* [vcpkg/scripts/pkgconfig] rewrite pkgconfig check for libraries.

* [vcpkg/scripts/pkgconfig] fix more details.

* [vcpkg/scripts/pkgconfig] smaller improvements

* ws change to check functionallity of script for testing.

* [vcpkg/scripts/pkgconfig] update to latest test version

* Revert "ws change to check functionallity of script for testing."

This reverts commit 26269e9e776009230777d9390465715f2ebac465.

* [nettle] bump control for vcpkg_fixup_pkgconfig test

* [gmp] rerun CI to create new *.pc files

* [gmp/nettle] enable port debug

* [vcpkg/script/pkgconfig] fix path conversion regex for CI

* [CI|OSX] install pkg-config on osx

* [gmp/nettle] disable port debug

* [vcpkg/scripts/pkgconfig] update to latest version of x windows pr

* [zlib] add pkgconfig file

* [zstd] add fixup pkgconfig

* [libpng] add pc file installation

* [bzip2] install pc file and leave a TODO for somebody else ;)

* [bzip2] bump control

* [vcpkg/scripts/pkgconfig] skip checks if pkgconfig cannot be found.
- small bugfix in ignore flags regex

* retry zstd and zlib

* [libpng] retry by adding dl and m to system libraries for osx

* [libpng] add missing vcpkg_fixup_pkgconfig()

* [vcpkg/scripts/pkgconfig] unset var if found. 

fixes checks for other configurations which will be always succesful otherwise

* [libpng] bump control

* [libpng] enable port debug to debug osx regression

* ws change to retrigger osx ci and hopeing that it works

* fix typo

* [libpng] remove -lm flag on apple platforms

* ws change to rerun some ports in ci for good measure after the merge with master

* Re-trigger CI test

* [zstd] add pkgconfig

* [zstd] correct debug link

* [vcpkg/script/pkgconfig] - add more search suffixes for static libs
- add additional debug messages for debuging
- fix unsetting of cache variables hiding issues with debug libraries
- fixed pkgconfig fix in the debug case

* [pcre] add pthread dependency to pcre

* [protobuf] fix pkgconfig

* include quotes around the prefix in the case the prefix path was quoted (fixes some regressions)
add option NOT_STATIC_PKGCONFIG to run pkg-config without the --static argument

* [ignition-msgs5] get rid of a dev warning

* [apr] fix apr regression

* [protobuf] fix protobuf regression

* [sdl1] fix regression due to variable expansion of pkg-config. Use similar regex to the library removal for ignored flags.

* [ignition] fix regression

* remove changes of zlib portfile.

* reset changes in osx ci pipeline

* add DISABLE_PARALLEL_CONFIGURE

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Billy Robert O'Neal <bion@microsoft.com>
2020-07-24 11:39:21 -07:00
Silvio Traversaro
70ab27fcad
[ignition-plugin1] Add new port 🤖 (#11275)
* [ignition-plugin1] Add new port

* vcpkg_fixup_cmake_targets: Add DO_NOT_DELETE_PARENT_CONFIG_PATH

By default the vcpkg_fixup_cmake_targets script remove the parent
path of CONFIG_PATH if it named "cmake", this behaviour is not convenient
for ports that install more than one CMake package config file, and
for which vcpkg_fixup_cmake_targets is invoked multiple times.
To optionally disable this behaviour, this commit adds the option
DO_NOT_DELETE_PARENT_CONFIG_PATH to vcpkg_fixup_cmake_targets.

* [ignition-modularscripts] Add support for ignition libraries that install multiple CMake package config files

Some ignition libraries install several CMake  package config files,
to represent the different components of the library. This  commit modifies
the ignition_modular_library function to fixup correctly all the cmake package config files.

* vcpkg_fixup_pkgconfig: Move definition of SYSTEM_LIBRARIES to vcpkg_common_definitions

To correctly validate installed pkg-config files, vcpkg_fixup_pkgconfig needs to know
for each platform which libraries are not managed by vcpkg. This commits improve this
definitions for all the triplet supported by vcpkg, and move this definition to vcpkg_common_definitions
in a way that permit custom triplets to overload its value.
2020-06-24 14:59:32 -07:00
Silvio Traversaro
09b769bf5e
[eigen3] [ignition-modularscripts] Fix installed pkgconfig files (#11270)
* [eigen3] Fix generated pkgconfig files

* [ignition-cmake2] Update to C++ library

Now ignition-cmake also installs a C++ library, so
it is possible to remove code specific for CMake-only ports.

* [ignition-modularscripts] Fix pkgconfig files installed by ignition libraries

Use the new function vcpkg_fixup_pkgconfig to fix the installed .pc pkgconfig files
of the ignition libraries.

As ignition-fuel-tools1 depends on curl that has a broken pkg-config file, disable
installation of its pkg-config files.
2020-05-11 15:57:50 -07:00
Silvio Traversaro
5890810241
[ignition-modular-scripts] Migrate from bitbucket to github (#10858)
As announced in https://community.gazebosim.org/t/important-gazebo-and-ignition-are-going-to-github/533,
the ignition project repositories have been migrated from BitBucket to GitHub.

This commit updates the ignition_modular_library helpers to use GitHub instead of BitBucket,
and also update the hashes of all the ignition ports as apparently the archive generated by GitHub
for releases are slightly different from the one generated by BitBucket.
2020-05-07 12:14:23 -07:00
Silvio Traversaro
249b8555eb
[ignition-cmake2] Add new port 🤖 (#10014)
* ignition-modularscripts: move CMake config files only if necessary

Some ignition libraries (such as ignition-cmake2) already install the
CMake config file in the location required by vcpkg

* Add new port ignition-cmake2
2020-03-10 16:49:53 -07:00
Silvio Traversaro
4afc873253 [ignition-fuel-tools1] Add new port (#8136)
Add new port for the ignition-fuel-tools version 1, part
of the Ignition Robotics Libraries (https://ignitionrobotics.org/).
2019-09-26 12:03:56 -07:00
Silvio Traversaro
75a2b65447 Add support for writing ports of Ignition Robotics libraries and ports for ignition-cmake0 and ignition-math4 (#7781)
* Add ignition-modularscript port

Modeled after the qt5-modularscript port, this port just contain
ignition_modular_library, an helper CMake function to simplify the
process of writing port of C++ libraries developed by the Ignition
Robotics project ( https://ignitionrobotics.org ).

* Add ignition-cmake0 port

* Add ignition-math4 port
2019-09-03 15:29:29 -07:00