-
Notifications
You must be signed in to change notification settings - Fork 232
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
Move externals to third_party and package licenses #375
Conversation
Isn't MD5 implementation is our now? We don't have to make it as third_party. As it have same license and same copyright owners, it will be integral part of project. |
add_custom_target(LicenseFiles ALL | ||
COMMENT "Copying license files for third-party dependencies" | ||
) | ||
|
||
# Function to add third-party license | ||
function(add_third_party_license license_name) | ||
add_custom_command(TARGET LicenseFiles POST_BUILD | ||
COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_FILE_DIR:Descent3>/licenses" | ||
COMMAND ${CMAKE_COMMAND} -E copy | ||
"${CMAKE_SOURCE_DIR}/third_party/${license_name}" | ||
"$<TARGET_FILE_DIR:Descent3>/licenses/${license_name}" | ||
COMMENT "Copying ${license_name}" | ||
) | ||
endfunction() | ||
|
||
add_custom_command(TARGET LicenseFiles POST_BUILD | ||
COMMAND ${CMAKE_COMMAND} -E copy | ||
"${CMAKE_SOURCE_DIR}/LICENSE" | ||
"$<TARGET_FILE_DIR:Descent3>/GPL-3.txt" | ||
COMMENT "Copying Descent3 license" | ||
) | ||
|
||
add_third_party_license(libacm_LICENSE.txt) | ||
add_third_party_license(md5_LICENSE.txt) | ||
add_third_party_license(stb_LICENSE.txt) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be done as installation process, not a building process. See #318.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I consider that pull to be a "future feature" thing, as commented. It's common for game sources to be distributed and built as a portable option--I actually have never seen cmake install
used in practice. Do you mind if this bit remains for now and it can be adjusted in #318 if requested there?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with winterheart. cmake install
is used for packaging, it is absolutely used practice, and that's when we need licenses copied. This change needs reverted
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But #301 was fine?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I never approved #301 and you merged it forcefully.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When you dropped off the face of the earth without a word. Before that, your comments on it were enthusiastic. I will not entertain this discussion on an open forum.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
apologies for having a personal life and other commitments.
Except from a Discord conversation with its author:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MD5 is not a third-party, it has no upstream, we maintain it, and it was written explicitly for this project
add_custom_target(LicenseFiles ALL | ||
COMMENT "Copying license files for third-party dependencies" | ||
) | ||
|
||
# Function to add third-party license | ||
function(add_third_party_license license_name) | ||
add_custom_command(TARGET LicenseFiles POST_BUILD | ||
COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_FILE_DIR:Descent3>/licenses" | ||
COMMAND ${CMAKE_COMMAND} -E copy | ||
"${CMAKE_SOURCE_DIR}/third_party/${license_name}" | ||
"$<TARGET_FILE_DIR:Descent3>/licenses/${license_name}" | ||
COMMENT "Copying ${license_name}" | ||
) | ||
endfunction() | ||
|
||
add_custom_command(TARGET LicenseFiles POST_BUILD | ||
COMMAND ${CMAKE_COMMAND} -E copy | ||
"${CMAKE_SOURCE_DIR}/LICENSE" | ||
"$<TARGET_FILE_DIR:Descent3>/GPL-3.txt" | ||
COMMENT "Copying Descent3 license" | ||
) | ||
|
||
add_third_party_license(libacm_LICENSE.txt) | ||
add_third_party_license(md5_LICENSE.txt) | ||
add_third_party_license(stb_LICENSE.txt) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with winterheart. cmake install
is used for packaging, it is absolutely used practice, and that's when we need licenses copied. This change needs reverted
No we do not maintain it. We certainly can, but ultimately a non-organization member wrote it. You're welcome to get further clarification from @ziplantil. |
A 3rd party has an UPSTREAM repository where we can pull changes from. This is not the case here, because it was written for this project, hence not a 3rd party. |
Pull Request Type
Description
This pull piggybacks on #301 and consolidates.
third_party
directory${subdir}_LICENSE.txt
files created for each external dependency insidethird_party
Descent3/licenses/
at build timethird_party
headers underinclude_directories
Checklist