Skip to content

Comments

Initial build system refactoring#1

Open
rturrado wants to merge 4 commits intoQuipNetwork:mainfrom
rturrado:initial_build_system_refactoring
Open

Initial build system refactoring#1
rturrado wants to merge 4 commits intoQuipNetwork:mainfrom
rturrado:initial_build_system_refactoring

Conversation

@rturrado
Copy link

@rturrado rturrado commented Jan 12, 2026

Project structure:

  • Move include files to include/hashsigs-cpp. This is more standard. Header files are then included with the hashsigs-cpp prefix, e.g., hashsigs-cpp/keccak.h.
  • Move resource files folder to res.
  • Rename test_vectors folder to res/vectors.
  • Add docs folder and Doxyfile.in (empty). To avoid breaking compilation.

CMakeLists.txt files:

  • Add BUILD_DOCS option. Disabled by default. To avoid building docs all the time.
  • Add fmt dependency. Not used at the moment but very helpful for upcoming PRs.
  • Add a Preprocessing section to generate resources.hpp from resources.hpp.in. This file contains a static variable that holds the absolute path of the resources folder.
  • Change include_directories to target_include_directories. Recommended practice.
  • Move GTest and json dependencies to tests/CMakeLists.txt. This is the only place where they are used.

Bug fixing:

  • Make resource files folder accessible via an absolute path. Then use it from wotsplus_tests.cpp. This way, hashsigs_test can be run from anywhere.

Project structure:
- Move include files to include/hashsigs-cpp. This is more standard. Header files are then included with the 'hashsigs-cpp' prefix, e.g., "hashsigs-cpp/keccak.h".
- Move resource files folder to res.
- Rename test_vectors folder to res/vectors.
- Add docs folder and Doxyfile.in (empty).

CMakeLists.txt files:
- Add BUILD_DOCS option.
- Add fmt dependency.
- Add a Preprocessing section to generate resources.hpp from resources.hpp.in. This file contains a static variable that holds the absolute path of the resources folder.
- Change include_directories to target_include_directories.
- Move GTest and json dependencies to tests/CMakeLists.txt. This is the only place where they are used.

Bug fixing:
- Make resource files folder accessible via an absolute path. Then use it from wotsplus_tests.cpp. This way, hashsigs_test can be run from anywhere.
Project structure:
- Move include files to include/hashsigs-cpp. This is more standard. Header files are then included with the 'hashsigs-cpp' prefix, e.g., "hashsigs-cpp/keccak.h".
- Move resource files folder to res.
- Rename test_vectors folder to res/vectors.
- Add docs folder and Doxyfile.in (empty).

CMakeLists.txt files:
- Add BUILD_DOCS option.
- Add fmt dependency.
- Add a Preprocessing section to generate resources.hpp from resources.hpp.in. This file contains a static variable that holds the absolute path of the resources folder.
- Change include_directories to target_include_directories.
- Move GTest and json dependencies to tests/CMakeLists.txt. This is the only place where they are used.

Bug fixing:
- Make resource files folder accessible via an absolute path. Then use it from wotsplus_tests.cpp. This way, hashsigs_test can be run from anywhere.
Project structure:
- Move include files to include/hashsigs-cpp. This is more standard. Header files are then included with the 'hashsigs-cpp' prefix, e.g., "hashsigs-cpp/keccak.h".
- Move resource files folder to res.
- Rename test_vectors folder to res/vectors.
- Add docs folder and Doxyfile.in (empty).

CMakeLists.txt files:
- Add BUILD_DOCS option.
- Add fmt dependency.
- Add a Preprocessing section to generate resources.hpp from resources.hpp.in. This file contains a static variable that holds the absolute path of the resources folder.
- Change include_directories to target_include_directories.
- Move GTest and json dependencies to tests/CMakeLists.txt. This is the only place where they are used.

Bug fixing:
- Make resource files folder accessible via an absolute path. Then use it from wotsplus_tests.cpp. This way, hashsigs_test can be run from anywhere.
Project structure:
- Move include files to include/hashsigs-cpp. This is more standard. Header files are then included with the 'hashsigs-cpp' prefix, e.g., "hashsigs-cpp/keccak.h".
- Move resource files folder to res.
- Rename test_vectors folder to res/vectors.
- Add docs folder and Doxyfile.in (empty).

CMakeLists.txt files:
- Add BUILD_DOCS option.
- Add fmt dependency.
- Add a Preprocessing section to generate resources.hpp from resources.hpp.in. This file contains a static variable that holds the absolute path of the resources folder.
- Change include_directories to target_include_directories.
- Move GTest and json dependencies to tests/CMakeLists.txt. This is the only place where they are used.

Bug fixing:
- Make resource files folder accessible via an absolute path. Then use it from wotsplus_tests.cpp. This way, hashsigs_test can be run from anywhere.
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