reactos/sdk/cmake/config-arm.cmake
Hermès Bélusca-Maïto 5e673f3118
[CMAKE] MSVC cmake settings improvements.
- Always use string pooling when building: this helps reducing the
  size of the binaries due to string redundancy coming from the usage
  of __FILE__ / __RELFILE__ in the debugging helper macros. Note also
  that GCC builds use string pooling by default.

- Use suitable add_compile_flags() command.
- Add some explanative comments for some settings.

Some numbers (obtained with my local builds):

Before / After => Reduction
===========================

freeldr.sys  :  443 KB (  453.632 bytes) /  364 KB (  372.736 bytes) => ~ 18%
win32k.sys   : 1877 KB (1.922.048 bytes) / 1562 KB (1.599.488 bytes) => ~ 17%
ntoskrnl.exe : 2253 KB (2.307.072 bytes) / 1902 KB (1.947.136 bytes) => ~ 15.6%
kernel32.dll : 3008 KB (3.080.192 bytes) / 2906 KB (2.975.744 bytes) => ~ 3.4%
2019-01-12 18:09:51 +01:00

45 lines
1.3 KiB
CMake

set(SARCH "omap3-zoom2" CACHE STRING
"Sub-architecture (board) to build for. Specify one of:
kurobox versatile omap3-zoom2 omap3-beagle")
set(OARCH "armv7-a" CACHE STRING
"Generate instructions for this CPU type. Specify one of:
armv5te armv7-a")
set(OPTIMIZE "1" CACHE STRING
"What level of optimization to use.
0 = off
1 = Default option, optimize for size (-Os) with some additional options
2 = Optimize for size (-Os)
3 = Optimize debugging experience (-Og)
4 = Optimize (-O1)
5 = Optimize even more (-O2)
6 = Optimize yet more (-O3)
7 = Disregard strict standards compliance (-Ofast)")
set(LTCG FALSE CACHE BOOL
"Whether to build with link-time code generation")
set(DBG TRUE CACHE BOOL
"Whether to compile for debugging.")
set(KDBG FALSE CACHE BOOL
"Whether to compile in the integrated kernel debugger.")
set(GDB FALSE CACHE BOOL
"Whether to compile for debugging with GDB.
If you don't use GDB, don't enable this.")
set(_WINKD_ TRUE CACHE BOOL
"Whether to compile with the KD protocol.")
set(_ELF_ FALSE CACHE BOOL
"Whether to compile support for ELF files.
Do not enable unless you know what you're doing.")
set(BUILD_MP TRUE CACHE BOOL
"Whether to compile the multi processor versions for ntoskrnl and hal.")
set(NEWSPRINTF FALSE CACHE BOOL
"Whether to compile the new sprintf.")