Ensure that steam lib is included in all release packages#117
Conversation
WalkthroughThe pull request updates the project's CMake installation configuration. The runtime component assignment is now dynamic using Changes
Sequence Diagram(s)sequenceDiagram
participant BuildSystem as Build System
participant CMake as CMake Configuration
participant Installer as Installer
BuildSystem->>CMake: Process CMakeLists.txt
alt STEAM Build?
CMake->>CMake: Set COMPONENT using ${PACKAGE_COMPONENT}
alt WIN32 Build?
CMake->>Installer: Copy Steam API DLL and set destination "."
else
CMake->>Installer: Add Linux library path and set destination "."
end
else
CMake->>Installer: Set destination to "bin/"
end
Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
CMakeLists.txt (2)
307-320: Conditional Inclusion of Steam Libraries
This block conditionally appends the Steam runtime libraries for Steam builds. On Windows, it appends the Steam API DLL, and on Linux, it includes both the Linux Steam API library and an additional file (build_deps/linux/breakhack.run). Please confirm that the file paths for these components are correct and that includingbreakhack.runis intentional for your Linux release packages. If these paths are subject to change or need further clarification, consider adding inline comments or abstracting them into dedicated variables.
323-332: Non-Steam Installation Configuration
For non-Steam builds, theINSTALL()commands now explicitly set the runtime destination tobin/for both the Release and Beta components, along with installing asset files to a designated subdirectory. This configuration clearly differentiates non-Steam installations. For maintainability—and to reduce potential future duplication—it might be helpful to define a variable (e.g.,NON_STEAM_RUNTIME_DEST) that holds the valuebin/and use it throughout these install commands.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
CMakeLists.txt(3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (11)
- GitHub Check: build (macos-latest, Debug, clang)
- GitHub Check: build (macos-latest, Release, clang)
- GitHub Check: build (ubuntu-latest, Debug, mingw-w64-gcc)
- GitHub Check: build (macos-latest, Debug, gcc)
- GitHub Check: build (macos-latest, Release, gcc)
- GitHub Check: build (ubuntu-latest, Release, mingw-w64-gcc)
- GitHub Check: build (ubuntu-latest, Debug, clang)
- GitHub Check: build (ubuntu-latest, Debug, gcc)
- GitHub Check: build (ubuntu-latest, Release, gcc)
- GitHub Check: build (ubuntu-latest, Release, clang)
- GitHub Check: Analyze (c-cpp)
🔇 Additional comments (2)
CMakeLists.txt (2)
305-306: Dynamic Packaging Component and Destination Update
The change to setCMAKE_INSTALL_SYSTEM_RUNTIME_COMPONENTusing the dynamic${PACKAGE_COMPONENT}ensures that the build system will correctly assign a "Release" or "Beta" component based on the build type. Also, settingCMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATIONto"."appears intended to adjust the location where the system runtime libraries are installed. Please verify that this global setting harmonizes with the later, more explicitINSTALL()commands (which override the destination for non-Steam builds) and aligns with your overall distribution layout.
340-349: Steam Build Installation Adjustments
For Steam builds, the installation targets for both Release and Beta components are now configured withRUNTIME DESTINATION ., which ensures the runtime files end up in the package root as required by the PR objective. This change aligns with the updated packaging strategy for Steam builds.
Summary by CodeRabbit