Skip to content
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

Improvement/update deps and more #248

Merged
merged 4 commits into from
Oct 16, 2024
Merged

Conversation

kimkulling
Copy link
Owner

@kimkulling kimkulling commented Oct 16, 2024

  • assimp update
  • cppcore update
  • use gtest from vcpkg

Summary by CodeRabbit

  • Chores
    • Updated commit references for contrib/assimp and contrib/cppcore to improve stability and performance.
    • Streamlined CMake configuration for better versioning and compiler settings.
    • Removed outdated files related to the Google Mock library to reduce clutter.

Copy link

coderabbitai bot commented Oct 16, 2024

Walkthrough

The changes involve updating the commit references for two subprojects: contrib/assimp and contrib/cppcore. The commit for contrib/assimp has been changed from 10df90ec144179f97803a382e4f07c0570665864 to 2591d0e4902c006dd8366f1d72bf44be1c40cac6, and the commit for contrib/cppcore has been updated from d4f32ce57ab6bed0d78f66a85b3a4b986eee3707 to 12b60d1fb17774ae870b30d453fa3d9d36f74726. Additionally, several modifications have been made to the CMakeLists.txt file, including updates to versioning, C++ standard settings, and visibility flags. Multiple files related to the Google Mock library have been deleted.

Changes

Files Change Summary
contrib/assimp Commit updated from 10df90ec144179f97803a382e4f07c0570665864 to 2591d0e4902c006dd8366f1d72bf44be1c40cac6
contrib/cppcore Commit updated from d4f32ce57ab6bed0d78f66a85b3a4b986eee3707 to 12b60d1fb17774ae870b30d453fa3d9d36f74726
contrib/gmock-1.7.0 Multiple files deleted related to Google Mock, including CHANGES, CMakeLists.txt, LICENSE, README, and others.
CMakeLists.txt Minimum version updated, C++ standard set to 17, project versioning defined, visibility flags adjusted.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant Assimp
    participant CppCore
    participant CMake
    participant GMock

    User->>Assimp: Update commit reference
    Assimp-->>User: Commit updated to 2591d0e4902c006dd8366f1d72bf44be1c40cac6

    User->>CppCore: Update commit reference
    CppCore-->>User: Commit updated to 12b60d1fb17774ae870b30d453fa3d9d36f74726

    User->>CMake: Modify CMakeLists.txt
    CMake-->>User: CMake configuration updated

    User->>GMock: Delete Google Mock files
    GMock-->>User: Files deleted
Loading

Poem

In the burrow where changes bloom,
Assimp and CppCore make room.
With commits fresh, they hop and play,
Updating paths in a joyful way.
A leap of code, a dance of bits,
Hooray for progress, it surely fits! 🐇✨


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (3)
CMakeLists.txt (3)

Line range hint 1-9: Improved CMake configuration and versioning.

The changes to the CMake version requirement and project versioning are good improvements:

  1. Using a version range for CMake ensures compatibility with a wider range of CMake versions.
  2. Breaking down the project version into major, minor, and patch components allows for more granular version control.

Consider using the project() command to set the version, which is the modern CMake way:

project(osre VERSION ${OSRE_VERSION} LANGUAGES CXX)

This would allow you to use PROJECT_VERSION directly without setting it manually.


10-10: Improved C++ standard setting.

Updating to C++17 and using set(CMAKE_CXX_STANDARD 17) is a good change. It allows the use of more modern C++ features and is a more direct way of setting the standard.

Consider adding these lines for better control over the C++ standard:

set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

This ensures that the specified C++ standard is required (not optional) and that compiler-specific extensions are disabled, promoting better portability.


Line range hint 46-75: Improved compiler flags and compatibility checks.

The updates to compiler flags and settings are beneficial:

  1. Enhanced visibility control for GNU and Clang compilers.
  2. Improved MinGW version checks with appropriate warnings and errors.
  3. Consistent use of -fPIC flag across different compilers.

These changes should improve code portability and catch potential issues earlier in the build process.

Consider adding a check for the C++ standard support in older compilers:

if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0)
  message(WARNING "Your compiler may have incomplete C++17 support. Consider upgrading.")
endif()

This would help users identify potential compatibility issues with older compiler versions.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between a9ef781 and b72a24b.

📒 Files selected for processing (43)
  • CMakeLists.txt (1 hunks)
  • contrib/gmock-1.7.0/CHANGES (0 hunks)
  • contrib/gmock-1.7.0/CMakeLists.txt (0 hunks)
  • contrib/gmock-1.7.0/CONTRIBUTORS (0 hunks)
  • contrib/gmock-1.7.0/LICENSE (0 hunks)
  • contrib/gmock-1.7.0/Makefile.am (0 hunks)
  • contrib/gmock-1.7.0/Makefile.in (0 hunks)
  • contrib/gmock-1.7.0/README (0 hunks)
  • contrib/gmock-1.7.0/build-aux/config.guess (0 hunks)
  • contrib/gmock-1.7.0/build-aux/config.h.in (0 hunks)
  • contrib/gmock-1.7.0/build-aux/config.sub (0 hunks)
  • contrib/gmock-1.7.0/build-aux/depcomp (0 hunks)
  • contrib/gmock-1.7.0/build-aux/install-sh (0 hunks)
  • contrib/gmock-1.7.0/build-aux/missing (0 hunks)
  • contrib/gmock-1.7.0/configure.ac (0 hunks)
  • contrib/gmock-1.7.0/fused-src/gmock_main.cc (0 hunks)
  • contrib/gmock-1.7.0/gtest/CHANGES (0 hunks)
  • contrib/gmock-1.7.0/gtest/CMakeLists.txt (0 hunks)
  • contrib/gmock-1.7.0/gtest/CONTRIBUTORS (0 hunks)
  • contrib/gmock-1.7.0/gtest/LICENSE (0 hunks)
  • contrib/gmock-1.7.0/gtest/Makefile.am (0 hunks)
  • contrib/gmock-1.7.0/gtest/Makefile.in (0 hunks)
  • contrib/gmock-1.7.0/gtest/README (0 hunks)
  • contrib/gmock-1.7.0/gtest/aclocal.m4 (0 hunks)
  • contrib/gmock-1.7.0/gtest/build-aux/config.guess (0 hunks)
  • contrib/gmock-1.7.0/gtest/build-aux/config.h.in (0 hunks)
  • contrib/gmock-1.7.0/gtest/build-aux/config.sub (0 hunks)
  • contrib/gmock-1.7.0/gtest/build-aux/depcomp (0 hunks)
  • contrib/gmock-1.7.0/gtest/build-aux/install-sh (0 hunks)
  • contrib/gmock-1.7.0/gtest/build-aux/missing (0 hunks)
  • contrib/gmock-1.7.0/gtest/cmake/internal_utils.cmake (0 hunks)
  • contrib/gmock-1.7.0/gtest/codegear/gtest.cbproj (0 hunks)
  • contrib/gmock-1.7.0/gtest/codegear/gtest.groupproj (0 hunks)
  • contrib/gmock-1.7.0/gtest/codegear/gtest_all.cc (0 hunks)
  • contrib/gmock-1.7.0/gtest/codegear/gtest_link.cc (0 hunks)
  • contrib/gmock-1.7.0/gtest/codegear/gtest_main.cbproj (0 hunks)
  • contrib/gmock-1.7.0/gtest/codegear/gtest_unittest.cbproj (0 hunks)
  • contrib/gmock-1.7.0/gtest/configure.ac (0 hunks)
  • contrib/gmock-1.7.0/gtest/fused-src/gtest/gtest_main.cc (0 hunks)
  • contrib/gmock-1.7.0/gtest/include/gtest/gtest-death-test.h (0 hunks)
  • contrib/gmock-1.7.0/gtest/include/gtest/gtest-message.h (0 hunks)
  • contrib/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h (0 hunks)
  • contrib/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h.pump (0 hunks)
💤 Files with no reviewable changes (42)
  • contrib/gmock-1.7.0/CHANGES
  • contrib/gmock-1.7.0/CMakeLists.txt
  • contrib/gmock-1.7.0/CONTRIBUTORS
  • contrib/gmock-1.7.0/LICENSE
  • contrib/gmock-1.7.0/Makefile.am
  • contrib/gmock-1.7.0/Makefile.in
  • contrib/gmock-1.7.0/README
  • contrib/gmock-1.7.0/build-aux/config.guess
  • contrib/gmock-1.7.0/build-aux/config.h.in
  • contrib/gmock-1.7.0/build-aux/config.sub
  • contrib/gmock-1.7.0/build-aux/depcomp
  • contrib/gmock-1.7.0/build-aux/install-sh
  • contrib/gmock-1.7.0/build-aux/missing
  • contrib/gmock-1.7.0/configure.ac
  • contrib/gmock-1.7.0/fused-src/gmock_main.cc
  • contrib/gmock-1.7.0/gtest/CHANGES
  • contrib/gmock-1.7.0/gtest/CMakeLists.txt
  • contrib/gmock-1.7.0/gtest/CONTRIBUTORS
  • contrib/gmock-1.7.0/gtest/LICENSE
  • contrib/gmock-1.7.0/gtest/Makefile.am
  • contrib/gmock-1.7.0/gtest/Makefile.in
  • contrib/gmock-1.7.0/gtest/README
  • contrib/gmock-1.7.0/gtest/aclocal.m4
  • contrib/gmock-1.7.0/gtest/build-aux/config.guess
  • contrib/gmock-1.7.0/gtest/build-aux/config.h.in
  • contrib/gmock-1.7.0/gtest/build-aux/config.sub
  • contrib/gmock-1.7.0/gtest/build-aux/depcomp
  • contrib/gmock-1.7.0/gtest/build-aux/install-sh
  • contrib/gmock-1.7.0/gtest/build-aux/missing
  • contrib/gmock-1.7.0/gtest/cmake/internal_utils.cmake
  • contrib/gmock-1.7.0/gtest/codegear/gtest.cbproj
  • contrib/gmock-1.7.0/gtest/codegear/gtest.groupproj
  • contrib/gmock-1.7.0/gtest/codegear/gtest_all.cc
  • contrib/gmock-1.7.0/gtest/codegear/gtest_link.cc
  • contrib/gmock-1.7.0/gtest/codegear/gtest_main.cbproj
  • contrib/gmock-1.7.0/gtest/codegear/gtest_unittest.cbproj
  • contrib/gmock-1.7.0/gtest/configure.ac
  • contrib/gmock-1.7.0/gtest/fused-src/gtest/gtest_main.cc
  • contrib/gmock-1.7.0/gtest/include/gtest/gtest-death-test.h
  • contrib/gmock-1.7.0/gtest/include/gtest/gtest-message.h
  • contrib/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h
  • contrib/gmock-1.7.0/gtest/include/gtest/gtest-param-test.h.pump
🧰 Additional context used
🔇 Additional comments (2)
CMakeLists.txt (2)

Line range hint 77-117: LGTM: Subdirectory inclusions and build options.

The structure of subdirectory inclusions and build options is well-maintained:

  1. Conditional inclusions allow for flexible builds.
  2. Options for building player, editor, tests, and samples provide good customization.
  3. Third-party libraries (cppcore, assimp) are properly included with appropriate options.

This setup provides a good balance between flexibility and structure in the build process.


Line range hint 1-117: Overall: Improved build configuration with good practices.

This update to the CMakeLists.txt file brings several improvements:

  1. Better CMake version handling and project versioning.
  2. Updated C++ standard to C++17.
  3. Improved compiler flag management and compatibility checks.
  4. Maintained flexible build options and proper third-party library integration.

These changes align with modern CMake practices and should improve the project's build process and portability. The suggestions provided in the review comments are minor and aimed at further enhancing the configuration.

Copy link

sonarcloud bot commented Oct 16, 2024

@kimkulling kimkulling merged commit dae5ca7 into master Oct 16, 2024
4 checks passed
@kimkulling kimkulling deleted the improvement/update_deps_and_more branch October 16, 2024 20:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants