Are you using CMake projects from the build directory instead of installing them? #695
Replies: 6 comments 3 replies
-
fyi @robotology/everyone |
Beta Was this translation helpful? Give feedback.
-
Can we discuss this in details so that I can explain our position?
Francesco Rea
From: Silvio Traversaro ***@***.***>
Sent: martedì 9 aprile 2024 13:46
To: robotology/community ***@***.***>
Cc: Francesco Rea ***@***.***>; Team mention ***@***.***>
Subject: [Robotology] Are you using CMake projects from the build directory instead of installing them? (Discussion #695)
Back in time (like <2015), it was common practice to find CMake projects (for example YCM, YARP, ICUB) by setting the <PackageName>_DIR environment variable to point to the build directory of the project. In this way, any call to find_package(<PackageName>) would find the libraries contained in the build directory, as opposed to the one installed, permitting users to avoid to install a library when they modified it.
For example, this workflow is the one still documented in the "Installation on icub-head installing manually each package"<https://icub-tech-iit.github.io/documentation/sw_installation/icub_head_manual/#compile-icub>.
However, time has passed and the use of the robotology-superbuild reduced the use of this pattern. Maintaining this workflow in CMake files such as YCM's InstallBasicPackageFiles<https://github.com/robotology/ycm/blob/v0.16.2/modules/InstallBasicPackageFiles.cmake> or other CMake files is hard to maintain and test (due to lack of testing this workflow is broken for many projects).
So, personally I would like to stop caring for this workflow. However, I wanted to understand if someone still uses this workflow. Please vote in this poll, and if you voted Yes or I am not sure, feel free to contact me either commenting here or with other means, thanks!
—
Reply to this email directly, view it on GitHub<#695>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABAZZSMMMZ6UUHDEHAZMY5TY4PIGLAVCNFSM6AAAAABF6NEKM6VHI2DSMVQWIX3LMV43ERDJONRXK43TNFXW4OZWGQ4DENRXGE>.
You are receiving this because you are on a team that was mentioned.Message ID: ***@***.******@***.***>>
|
Beta Was this translation helpful? Give feedback.
-
I'm mostly using |
Beta Was this translation helpful? Give feedback.
-
What is actually going to change in InstallBasicPackageFiles.cmake if support for this workflow is dropped? |
Beta Was this translation helpful? Give feedback.
-
@traversaro on my machine (ubuntu22) I'm creating a local folder to install to
then I set the install location of I'm guessing this method would use |
Beta Was this translation helpful? Give feedback.
-
Ok, a bit or recap: given that there are some users of this feature, as mentioned in https://github.com/orgs/robotology/discussions/695#discussioncomment-9068984 think the best course of action is to modify |
Beta Was this translation helpful? Give feedback.
-
Back in time (like <2015), it was common practice in the iCub-related groups to find CMake projects (for example
YCM
,YARP
,ICUB
) by setting the<PackageName>_DIR
environment variable to point to the build directory of the project. In this way, any call tofind_package(<PackageName>)
would find the libraries contained in the build directory, as opposed to the one installed, permitting users to avoid to install a library when they modified it.For example, this workflow is the one still documented in the "Installation on icub-head installing manually each package".
However, time has passed and the use of the robotology-superbuild reduced the use of this pattern. Maintaining this workflow in CMake files such as YCM's
InstallBasicPackageFiles
or other CMake files is hard to maintain and test (due to lack of testing this workflow is broken for many projects).So, personally I would like to stop caring for this workflow. However, I wanted to understand if someone still uses this workflow. Please vote in this poll, and if you voted
Yes
orI am not sure
, feel free to contact me either commenting here or with other means, thanks!16 votes ·
Beta Was this translation helpful? Give feedback.
All reactions