-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
[simbody] uniform target names and add usage #28863
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
index 1995170..7ddb018 100644 | ||
--- a/CMakeLists.txt | ||
+++ b/CMakeLists.txt | ||
@@ -174,25 +174,25 @@ FORCE) | ||
|
||
|
||
set(SimTKCOMMON_SHARED_LIBRARY ${SimTKCOMMON_LIBRARY_NAME}) | ||
-set(SimTKCOMMON_STATIC_LIBRARY ${SimTKCOMMON_LIBRARY_NAME}_static) | ||
+set(SimTKCOMMON_STATIC_LIBRARY ${SimTKCOMMON_LIBRARY_NAME}) | ||
|
||
set(SimTKCOMMON_LIBRARY_NAME_VN ${NS}SimTKcommon${VN}) | ||
set(SimTKCOMMON_SHARED_LIBRARY_VN ${SimTKCOMMON_LIBRARY_NAME_VN}) | ||
-set(SimTKCOMMON_STATIC_LIBRARY_VN ${SimTKCOMMON_LIBRARY_NAME_VN}_static) | ||
+set(SimTKCOMMON_STATIC_LIBRARY_VN ${SimTKCOMMON_LIBRARY_NAME_VN}) | ||
|
||
set(SimTKMATH_SHARED_LIBRARY ${SimTKMATH_LIBRARY_NAME}) | ||
-set(SimTKMATH_STATIC_LIBRARY ${SimTKMATH_LIBRARY_NAME}_static) | ||
+set(SimTKMATH_STATIC_LIBRARY ${SimTKMATH_LIBRARY_NAME}) | ||
|
||
set(SimTKMATH_LIBRARY_NAME_VN ${NS}SimTKmath${VN}) | ||
set(SimTKMATH_SHARED_LIBRARY_VN ${SimTKMATH_LIBRARY_NAME_VN}) | ||
-set(SimTKMATH_STATIC_LIBRARY_VN ${SimTKMATH_LIBRARY_NAME_VN}_static) | ||
+set(SimTKMATH_STATIC_LIBRARY_VN ${SimTKMATH_LIBRARY_NAME_VN}) | ||
|
||
set(SimTKSIMBODY_SHARED_LIBRARY ${SimTKSIMBODY_LIBRARY_NAME}) | ||
-set(SimTKSIMBODY_STATIC_LIBRARY ${SimTKSIMBODY_LIBRARY_NAME}_static) | ||
+set(SimTKSIMBODY_STATIC_LIBRARY ${SimTKSIMBODY_LIBRARY_NAME}) | ||
|
||
set(SimTKSIMBODY_LIBRARY_NAME_VN ${NS}SimTKsimbody${VN}) | ||
set(SimTKSIMBODY_SHARED_LIBRARY_VN ${SimTKSIMBODY_LIBRARY_NAME_VN}) | ||
-set(SimTKSIMBODY_STATIC_LIBRARY_VN ${SimTKSIMBODY_LIBRARY_NAME_VN}_static) | ||
+set(SimTKSIMBODY_STATIC_LIBRARY_VN ${SimTKSIMBODY_LIBRARY_NAME_VN}) | ||
|
||
|
||
# Caution: this variable is automatically created by the CMake | ||
diff --git a/SimTKcommon/CMakeLists.txt b/SimTKcommon/CMakeLists.txt | ||
index 47839f5..84ad865 100644 | ||
--- a/SimTKcommon/CMakeLists.txt | ||
+++ b/SimTKcommon/CMakeLists.txt | ||
@@ -86,9 +86,9 @@ endif(NEED_QUOTES) | ||
# -DSimTKcommon_EXPORTS defined automatically when Windows DLL build is being done. | ||
|
||
set(SHARED_TARGET ${SimTKCOMMON_LIBRARY_NAME}) | ||
-set(STATIC_TARGET ${SimTKCOMMON_LIBRARY_NAME}_static) | ||
+set(STATIC_TARGET ${SimTKCOMMON_LIBRARY_NAME}) | ||
set(SHARED_TARGET_VN ${SimTKCOMMON_LIBRARY_NAME}${VN}) | ||
-set(STATIC_TARGET_VN ${SimTKCOMMON_LIBRARY_NAME}${VN}_static) | ||
+set(STATIC_TARGET_VN ${SimTKCOMMON_LIBRARY_NAME}${VN}) | ||
|
||
## Test against the unversioned libraries if they are being build; | ||
## otherwise against the versioned libraries. | ||
diff --git a/SimTKmath/CMakeLists.txt b/SimTKmath/CMakeLists.txt | ||
index f5c82ae..d3ee9bf 100644 | ||
--- a/SimTKmath/CMakeLists.txt | ||
+++ b/SimTKmath/CMakeLists.txt | ||
@@ -79,9 +79,9 @@ endif(NEED_QUOTES) | ||
# -Dsimmath_EXPORTS defined automatically when Windows DLL build is being done. | ||
|
||
set(SHARED_TARGET ${SimTKMATH_LIBRARY_NAME}) | ||
-set(STATIC_TARGET ${SimTKMATH_LIBRARY_NAME}_static) | ||
+set(STATIC_TARGET ${SimTKMATH_LIBRARY_NAME}) | ||
set(SHARED_TARGET_VN ${SimTKMATH_LIBRARY_NAME}${VN}) | ||
-set(STATIC_TARGET_VN ${SimTKMATH_LIBRARY_NAME}${VN}_static) | ||
+set(STATIC_TARGET_VN ${SimTKMATH_LIBRARY_NAME}${VN}) | ||
|
||
## Test against the unversioned libraries if they are being built; | ||
## otherwise against the versioned libraries. | ||
diff --git a/Simbody/CMakeLists.txt b/Simbody/CMakeLists.txt | ||
index 062c2b9..e320f57 100644 | ||
--- a/Simbody/CMakeLists.txt | ||
+++ b/Simbody/CMakeLists.txt | ||
@@ -42,9 +42,9 @@ add_definitions(-DSimTK_SIMBODY_LIBRARY_NAME=${SimTKSIMBODY_LIBRARY_NAME} | ||
|
||
|
||
set(SHARED_TARGET ${SimTKSIMBODY_LIBRARY_NAME}) | ||
-set(STATIC_TARGET ${SimTKSIMBODY_LIBRARY_NAME}_static) | ||
+set(STATIC_TARGET ${SimTKSIMBODY_LIBRARY_NAME}) | ||
set(SHARED_TARGET_VN ${SimTKSIMBODY_LIBRARY_NAME}${VN}) | ||
-set(STATIC_TARGET_VN ${SimTKSIMBODY_LIBRARY_NAME}${VN}_static) | ||
+set(STATIC_TARGET_VN ${SimTKSIMBODY_LIBRARY_NAME}${VN}) | ||
|
||
## Test against the unversioned libraries if they are being built; | ||
## otherwise against the versioned libraries. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Simbody provides CMake targets: | ||
|
||
find_package(Simbody CONFIG REQUIRED) | ||
target_link_libraries(main PRIVATE SimTKcommon SimTKmath SimTKsimbody) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I would guess that the actual usage only needs SimTKsimbody(-static), if properly exported. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The targets are indeed incremental (SimTKcommon ⊂ SimTKmath ⊂ SimTKsimbody). Though each target is seldom usable and I have seen libraries relying on a subset specifically. Unless CMake can strip correctly simbody if someone use math only, then IMO usage file should reflect that. |
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.
Here and for SimTKcommon, SimTKmath:
The maintainer guidelines allow to rename binaries in order to have the same name for static vs. dynamic.
But IMO this doesn't extend to renaming exported CMake targets. The usage suggestion can use generator expressions, cf. zstd.
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.
Ok fine by me, but then does it even matter to rename the libraries if it is not related? The downstream user would just rely on the usage file no matter the library name. I would completely remove the patch to thin back the port in that case.