Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for components in pkg_config generator #7413

merged 5 commits into from Jul 28, 2020


Copy link

@danimtb danimtb commented Jul 24, 2020

Changelog: Feature: Support for cpp_info.components in pkg_config generator.
Docs: conan-io/docs#1781

  • Refer to the issue that supports this Pull Request: closes #7330
  • If the issue has missing info, explain the purpose/use case/pain/need that covers this Pull Request.
  • I've read the Contributing guide.
  • I've followed the PEP8 style guides for Python code.
  • I've opened another PR in the Conan docs repo to the develop branch, documenting this one.

Note: By default this PR will skip the slower tests and will use a limited set of python versions. Check here how to increase the testing level by writing some tags in the current PR body text.

@danimtb danimtb added this to the 1.28 milestone Jul 24, 2020
@danimtb danimtb self-assigned this Jul 24, 2020
@danimtb danimtb marked this pull request as ready for review Jul 27, 2020
@danimtb danimtb requested a review from memsharded Jul 27, 2020
from import TestClient

@unittest.skipUnless(which("pkg-config"), "Requires pkgconfig executable")
Copy link

@memsharded memsharded Jul 28, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd prefer something a bit more explicit, like assuming pkg-config is installed in Linux envs, and fail otherwise.
Because this has the risk of never running in CI, let's say there is a typo, like the executable is called pkgconfig.

Copy link
Member Author

@danimtb danimtb Jul 28, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed so we are able to test this in both windows and linux

@memsharded memsharded merged commit 314e374 into conan-io:develop Jul 28, 2020
2 checks passed
kralicky added a commit to kralicky/conan that referenced this issue Aug 4, 2020
* Feature: add settings for clang-cl (clang on Windows) (conan-io#5705)

* - add settings for clang-cl (clang on Windows)

Signed-off-by: SSE4 <>

* - add new VS toolsets for Clang

* fix migration test

* Feature/toolchain without dump (conan-io#7435)

* toolchain without dump()

* working

* fixing tests

* relax pluginbase requirements (conan-io#7441)

* New lockfiles iteration. Including version-only lockfiles. (conan-io#7243)

* try to reproduce error in lockfile

* iterate build_order

* package in requires and build_requires

* rename test file

* removing constraint multiple packages

* minor improvements

* first lock-recipe version working

* working

* working

* working 75%, but revisions not managed

* working

* working

* working...

* allow no user/channel match in --build

* build order

* working

* working

* working

* not working...

* working

* tests passing without revisions

* working

* review and patterns for rrevs

* new tests

* some fixes

* more fixes

* skip build-info

* fix revision test msg

* removed global activation of revisions

* multiple br test

* cli changes

* working

* new cli syntax

* fixing tests

* partial lockfiles

* CI partial lock working

* make sure partial lockfiles are used completely and from its root

* version ranges and py_requires working

* partial CI with python_requires

* comment

* tests passing

* working

* working in build_requires

* CI for build-requires test

* recovering conan_build_info tests

* broken py27

* clean-modified, stricter locks

* partial arranged

* minor style fixes

* compacting lockfile search for nodes

* remove unnecessary --build=missing

* processing --update

* testing the --update necessary for revisions non matching

* make the lockfile-out compulsory

* fixed conan_build_info

* forcing --lockfile-out

* workspace change

* Update conans/client/

Co-authored-by: Javier G. Sogo <>

* make lock_node.path relative

* new tests and fixes

* remove hardcoded os.environ

* make lockfile-out required

* fix test

* fixing os.path.relpath in Win

* more tests

* fix test

* fix test

* checking --lockfile-out requires --lockfile

* working

* review

* rename get_consumer

* a partial lock can match more than 1 require

* error msg

* working

* check that profile is not passed when using lockfiles

* working

* working

* recover profile_build from lockfile

* add new test for --update

* make sure modified is propagated

* with revisions

* format

* changed build-order order of output

* update cmd line

* review

* Update conans/client/

Co-authored-by: Carlos Zoido <>

* Update conans/client/

Co-authored-by: Carlos Zoido <>

* Update conans/client/

Co-authored-by: Carlos Zoido <>

* forbidding version ranges when using lockfiles, in command line

Co-authored-by: jgsogo <>
Co-authored-by: Carlos Zoido <>

* Support for components in pkg_config generator (conan-io#7413)

* Support for components in pkg_config generator

* capitalize

* remove code not needed

* use real pkg-config for tests

* try without skip

* [feature] Define file name for CMake find generators (conan-io#7320)

* adds `filenames` to cpp_info

Relates to [this issue](conan-io#7254)

* use `filenames` attribute, not name, as prefix to global vars

* `filenames` should fall back to `names`, not package name

* removes debug statements

* Makes `cmake_find_package_multi` work with `filenames` attribute

* adds a test for the filename attribute

* Update find_package generators to not use `filename` in global var names

* change `name` used in cmake_find_package_test, since sharing them isn't possible now

* Set both `{name}_FOUND` and `{filename}_FOUND` vars so code will work

* reverts `filename` of `name` in some spots (danimtb feedback)

* fixes bug in cmake_fine_package_multi_test

* adds a test for changing filename in cmake_find_package_multi generator

* use filename version of _FOUND in if statements...

This allows CMake exported target namespaces to be shared.

* set upper case version of _FOUND vars

* Add Conan version to HTML output (conan-io#7443)

* conan-io#7365 Add Conan version in search table

Signed-off-by: Uilian Ries <>

* conan-io#7365 Add Conan version in info graph

Signed-off-by: Uilian Ries <>

* conan-io#7365 Add shebang for python2.7

Signed-off-by: Uilian Ries <>

* conan-io#7365 Use JS for current date

Signed-off-by: Uilian Ries <>

* conan-io#7365 Do not rename old tests

Signed-off-by: Uilian Ries <>

* conan-io#7365 Remove copyright symbol to allow py27

Signed-off-by: Uilian Ries <>

* Refactor filenames and simplify tests (conan-io#7447)

* Refactor filenames and simplify tests

* fix

* small fixes

* review fix

* rename variables

* fix linux tests

* version 1.28.0

* version 1.29.0-dev

* fix migration test

* Hotfix/lockfile errors (conan-io#7453)

* improve error msgs

* better error msgs

* minor fixes to error msgs and better checks

* Fixes bad powershell separators on Linux (conan-io#7472)

* minor improvements in components checks (conan-io#7486)

* fix message missing components (conan-io#7483)

* fix message missing components

* changed error message

Co-authored-by: SSE4 <>
Co-authored-by: memsharded <>
Co-authored-by: David Roman <>
Co-authored-by: jgsogo <>
Co-authored-by: Carlos Zoido <>
Co-authored-by: Daniel <>
Co-authored-by: Tim Simpson <>
Co-authored-by: Uilian Ries <>
Co-authored-by: mjvankampen <>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

Successfully merging this pull request may close these issues.

2 participants