Home » U++ TheIDE » U++ TheIDE: Compiling, Linking, Debugging of your packages » TheIDE precompiled headers: again
TheIDE precompiled headers: again [message #44139] |
Sun, 04 January 2015 07:47  |
Shire
Messages: 41 Registered: September 2006 Location: Russia, Yamal peninsula
|
Member |
|
|
I wrote patch for proper PCH handling three years ago, but have no feedback yet.
Now TheIDE build system has global flag "Allow precompiled headers" per build method.
This is not good way. Let's examine why:
0. you cannot set PCH flag for specific package - it's global. PCH has effect only for frequent builds (1..5 changing packages, not all).
1. PCH is supported only by MSC Builder. GCH is not supported.
2. only <package name>.h header can be precompiled
3. any file in package must include it (see "add check" TODO's in source code)
4. PCH building at begin and not in parallel with other files
5. you cannot set specific defines or compiler options for some .cpp file
6. additional temporary .cpp file is created
7. PCH can be used only with BLITZ
My patch is more flexible:
0. PCH flag can be set per package (at Output mode package grid, near BLITZ checkbox). Now you can check it for current developing packages
1. PCH is supported by MSC (include v7.0) and GCC too (GCH)
2. any single header file can be used as precompiled (mark it by adding PCH compiler option at Package Organizer)
3. inclusion of PCH is made automatically ("-FI" for MSC and "-include" for GCC)
4. PCH builds in parallel with other files. When it built, it can be used
5. files with specific defines or compiler options are compiled without PCH
6. no additional source files is created (header compiles as is)
7. PCH can be used with or without BLITZ
There is only one breaking change: build-time defines bm* (bmYEAR, bmMONTH, bmDAY, bmHOUR, bmMINUTE, bmSECOND) are deprecated.
Working with PCH header is also simple:

Marking header by compiler option is just workaround for package format compatibilty. In future, marker can be checkbox near "Optimize the file for speed".
Patch published on GitHub, also you can test prebuilt TheIDE binaries for Debian 7 x64 (GCC 4.7.2) or Win32 (MSC10)
[Updated on: Mon, 05 January 2015 14:01] Report message to a moderator
|
|
|
Goto Forum:
Current Time: Mon May 12 23:59:12 CEST 2025
Total time taken to generate the page: 0.00939 seconds
|