Skip to content

Commit aaf2776

Browse files
authored
Create CHANGELOG.md
1 parent 48ae0ee commit aaf2776

1 file changed

Lines changed: 83 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Release Notes - Version 0.2.0
2+
3+
## Summary
4+
5+
This release introduces several new features, improvements, and bug fixes to enhance the overall functionality and user experience of the project. The changes include updates to the GUI, refactoring of code, bug fixes, and additional functionalities related to library management, CMake configuration, and more.
6+
7+
## Changes
8+
9+
### Added
10+
- Creation of dummy CMake project to find library path
11+
- Execution of dummy CMake projects and collecting of library specific data
12+
- Parsing of CMake based Libraries
13+
- Parsing of non-cmake based Libraries, tries to create a CMakeLists.txt (Experimental)
14+
- Added Fetcher for projects hosted on GitHub.
15+
- Added GUI window for configuration of libraries
16+
- Added support for specifying include keywords to `TargetDatas`.
17+
- Added support for specifying link targets to `TargetDatas`.
18+
- Users can now define which components to use for libraries that uses them.
19+
- Added support for Persistant storage.
20+
- Added caching of library data used to speed up creation process on following executions.
21+
- User specified path to `Local Libraries` directory is stored in Persistance Storage
22+
- Warning popup is displayed if CMake is missing.
23+
- Introduced a `requirements.txt` file for Python, if running CPPPC from source.
24+
- Threading added to handle loading indicators.
25+
26+
### Updated
27+
- Cleaned up `CMakeVersionData` class.
28+
- GenericTypeValueSetterMetaClass moved to its own file.
29+
- Improved parsing of local and Git libraries for fetching targets.
30+
- Replaced pathify with cross-platform `os.path.join`.
31+
- Now using users' CMake version in `cmakeifyLib`.
32+
- Color theme changes and moved theme configuration to `theme.py`.
33+
- CPPPC windows have titles now.
34+
35+
### Fixed
36+
- Warns users instead of crashing if an invalid path is given to a library.
37+
- Fixed default values initialization before usage.
38+
- CMakeLists.txt now follows overwrite rule.
39+
- Libs `TargetDatas` are set for BareBones project as well.
40+
- Fixed issues with white theme on Windows.
41+
- Ensure images in media are bundled with the executable.
42+
- No longer adding include to generated CMake files if not used.
43+
- Removed files generated in library sources during CMake configuration.
44+
- Ignored copy build dirs if they exist in the source when copying local library source.
45+
- Fixed issues where required caused find modules not to be parsed correctly.
46+
- Configuration paths couldn't contain parentheses.
47+
- Improved handling of Hash and file functions.
48+
- `PersistantDataManager` only retrieves `depdat` if its content is not empty.
49+
- All windows will close if the main window is closed.
50+
51+
### Removed
52+
- Extra parsing of library files.
53+
- Old str-based solution to generate CMakeLists.
54+
55+
## Other
56+
- Various other cleanup, refactoring, and improvements have been made throughout the codebase.
57+
58+
# Release Notes - Version 0.1.0
59+
Happy to announce the first (alpha) release of CPPPC (C++ Project Configurator) - version 0.1.0
60+
61+
## Changes
62+
63+
### Added
64+
- Project Initialization: CPPPC can now generate a directory structure and a CMakeLists.txt file for an executable project based on user settings provided through the GUI.
65+
- Cross Platform: Executables are available for Linux, Windows and Mac (only tested on Linux and Windows)
66+
- Basic user configuration: Users can configure some basic settings :
67+
- Properties:
68+
- C++ version
69+
- C++ Compiler Extensions
70+
- Generating Compile Commands
71+
- Link what you use
72+
- Include What you use
73+
- Interprocedural Optimizations
74+
- Link/compile options:
75+
- Sanitizers, address, leak, undef
76+
- Blacklist
77+
- CMake to C++ communication:
78+
- Access data from CMake in C++, such as Project version
79+
- Other features:
80+
- Measure compilation time
81+
- Use CCache
82+
83+

0 commit comments

Comments
 (0)