<table><tr><td style="">omalsa edited the summary of this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-ofawo6lwcliqpph/">(Show Details)</a><br />omalsa edited the test plan for this revision. <a href="https://phabricator.kde.org/transactions/detail/PHID-XACT-DREV-vk3zfpe4xdjmvwy/">(Show Details)</a>
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D25456">View Revision</a></tr></table><br /><div><strong>CHANGES TO REVISION SUMMARY</strong><div><div style="white-space: pre-wrap; color: #74777D;">The absolute path in INCLUDE_INSTALL_DIR eventually made it into the exported<span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> MarbleTargets.cmake file in the INTERFACE_INCLUDE_DIRECTORIES target property.<br />
<br />
There should be _no_ absolute paths in any outputs of install.<br />
<br />
This bug causes the following use-case to fail:<br />
- Make Install marble<br />
- Move/deploy install directory to another location (e.g. deploy from Continuous Integration server)<br />
- Link to Marble from new cmake project with find_package(Marble)<br />
<br />
Because of this absolute path, the install directory cannot be moved after it is created.<br />
<br />
This is the CMake error:<br />
<br />
```<br />
CMake Error in src/libs/geo/CMakeLists.txt</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);"> Imported target "Marble" includes non-existent path<br />
<br />
</span> <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">MarbleTargets.cmake file in the INTERFACE_INCLUDE_DIRECTORIES target property.</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">"/absolute/path/to/include/dirs/that/doesnt/exist"</span><br />
<br />
<span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">in its INTERFACE_INCLUDE_DIRECTORIES.</span> <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">There should be _no_ absolute paths in any outputs of install.</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">Possible reasons include:</span><br />
<br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"> This bug causes the following use-case to fail:</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">* The path was deleted, renamed, or moved to another location.</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"> - Make I</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">* An install or uni</span>nstall <span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);">marble</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">procedure did not complete successfully.</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"> - Move/deploy</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">* The</span> install<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"> directory to another location (e.g. deploy from Continuous Integration server)</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">ation package was faulty and references files it does not provide.</span><br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"> - Link to Marble from new cmake project with find_package(Marble)</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">```<br />
<br />
The following is a minimal example CMakeLists.txt file that can produce the error:</span><br />
<br />
<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"> Because of this absolute path, the install directory cannot be moved after it is created.</span><span style="padding: 0 2px; color: #333333; background: rgba(151, 234, 151, .6);">//CMakeLists.txt//<br />
```<br />
cmake_minimum_required(VERSION 3.5)<br />
project(Geo VERSION 1.0)<br />
find_package(Marble REQUIRED)<br />
add_executable(geo PRIVATE main.cpp)<br />
target_link_libraries(PUBLIC Marble)<br />
```</span></div></div></div><br /><div><strong>CHANGES TO TEST PLAN</strong><div><div style="white-space: pre-wrap; color: #74777D;"><div style="padding: 8px 0;">...</div>Once my patch is applied then the above steps will work correctly.<span style="padding: 0 2px; color: #333333; background: rgba(251, 175, 175, .7);"><br />
<br />
</span></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R34 Marble</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D25456">https://phabricator.kde.org/D25456</a></div></div><br /><div><strong>To: </strong>omalsa, Marble<br /><strong>Cc: </strong>marble-devel, kde-edu, fbampaloukas, torhamzed, jalvarez, mnafees, shentey, chaz6, dkolozsvari, narvaez, cmihalache, rahn, apol, nienhueser<br /></div>