Skip to content

Comments

Modernize CMake structure#3

Merged
nircoe merged 2 commits intomainfrom
nirco/main/cmake_refactoring
Mar 29, 2025
Merged

Modernize CMake structure#3
nircoe merged 2 commits intomainfrom
nirco/main/cmake_refactoring

Conversation

@nircoe
Copy link
Owner

@nircoe nircoe commented Mar 29, 2025

Added several improvements to the project structure:

  • Reorganized CMake structure with separate CMakeLists.txt in include/ and src/ directories
  • Converted nlohmann/json from FetchContent to git submodule for consistency with cryptopp-cmake
  • Added proper installation targets for headers, library, and CMake configuration files
  • Implemented exported targets for easier integration in other projects
  • Added datacoeconfig.cmake for find_package support
  • Generated version file for compatibility checking
  • Updated include paths for cleaner separation between interface and implementation
  • Added compile_commands.json generation for better IDE support

These changes follow modern CMake best practices and make the library easier to use as a dependency in other projects.

nircoe added 2 commits March 29, 2025 20:15
This commit introduces several improvements to the project structure:

- Reorganized CMake structure with separate CMakeLists.txt in include/
  and src/ directories
- Converted nlohmann/json from FetchContent to git submodule for
  consistency with cryptopp-cmake
- Added proper installation targets for headers, library, and CMake
  configuration files
- Implemented proper exported targets for easier integration in
  other projects
- Added datacoeconfig.cmake for find_package support
- Generated version file for compatibility checking
- Updated include paths for cleaner separation between interface
  and implementation
- Added compile_commands.json generation for better IDE support
- Incremented version from 0.1.1 to 0.2.0 due to significant
  structural improvements

These changes follow modern CMake best practices and make the library
easier to use as a dependency in other projects.
@nircoe nircoe self-assigned this Mar 29, 2025
@nircoe nircoe merged commit 38e92a1 into main Mar 29, 2025
5 checks passed
@nircoe nircoe changed the title Modernize CMake structure and convert nlohmann/json to submodule Modernize CMake structure and convert nlohmann/json to a git submodule Mar 29, 2025
@nircoe nircoe deleted the nirco/main/cmake_refactoring branch March 29, 2025 17:48
@nircoe nircoe changed the title Modernize CMake structure and convert nlohmann/json to a git submodule Modernize CMake structure Mar 29, 2025
nircoe added a commit that referenced this pull request Mar 29, 2025
Added several improvements to the project structure:

- Reorganized CMake structure with separate CMakeLists.txt in include/
  and src/ directories
- Converted nlohmann/json from FetchContent to git submodule for
  consistency with cryptopp-cmake
- Added proper installation targets for headers, library, and CMake
  configuration files
- Implemented proper exported targets for easier integration in
  other projects
- Added datacoeconfig.cmake for find_package support
- Generated version file for compatibility checking
- Updated include paths for cleaner separation between interface
  and implementation
- Added compile_commands.json generation for better IDE support

These changes follow modern CMake best practices and make the library
easier to use as a dependency in other projects.
nircoe added a commit that referenced this pull request Mar 29, 2025
Added several improvements to the project structure:

- Reorganized CMake structure with separate CMakeLists.txt in include/
  and src/ directories
- Converted nlohmann/json from FetchContent to git submodule for
  consistency with cryptopp-cmake
- Added proper installation targets for headers, library, and CMake
  configuration files
- Implemented proper exported targets for easier integration in
  other projects
- Added datacoeconfig.cmake for find_package support
- Generated version file for compatibility checking
- Updated include paths for cleaner separation between interface
  and implementation
- Added compile_commands.json generation for better IDE support

These changes follow modern CMake best practices and make the library
easier to use as a dependency in other projects.
nircoe added a commit that referenced this pull request Mar 29, 2025
Added several improvements to the project structure:

- Reorganized CMake structure with separate CMakeLists.txt in include/
  and src/ directories
- Converted nlohmann/json from FetchContent to git submodule for
  consistency with cryptopp-cmake
- Added proper installation targets for headers, library, and CMake
  configuration files
- Implemented proper exported targets for easier integration in
  other projects
- Added datacoeconfig.cmake for find_package support
- Generated version file for compatibility checking
- Updated include paths for cleaner separation between interface
  and implementation
- Added compile_commands.json generation for better IDE support

These changes follow modern CMake best practices and make the library
easier to use as a dependency in other projects.
nircoe added a commit that referenced this pull request Apr 15, 2025
Added several improvements to the project structure:

- Reorganized CMake structure with separate CMakeLists.txt in include/
  and src/ directories
- Converted nlohmann/json from FetchContent to git submodule for
  consistency with cryptopp-cmake
- Added proper installation targets for headers, library, and CMake
  configuration files
- Implemented proper exported targets for easier integration in
  other projects
- Added datacoeconfig.cmake for find_package support
- Generated version file for compatibility checking
- Updated include paths for cleaner separation between interface
  and implementation
- Added compile_commands.json generation for better IDE support

These changes follow modern CMake best practices and make the library
easier to use as a dependency in other projects.
nircoe added a commit that referenced this pull request Apr 15, 2025
Added several improvements to the project structure:

- Reorganized CMake structure with separate CMakeLists.txt in include/
  and src/ directories
- Converted nlohmann/json from FetchContent to git submodule for
  consistency with cryptopp-cmake
- Added proper installation targets for headers, library, and CMake
  configuration files
- Implemented proper exported targets for easier integration in
  other projects
- Added datacoeconfig.cmake for find_package support
- Generated version file for compatibility checking
- Updated include paths for cleaner separation between interface
  and implementation
- Added compile_commands.json generation for better IDE support

These changes follow modern CMake best practices and make the library
easier to use as a dependency in other projects.
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.

1 participant