[WIN32K]
[reactos.git] / reactos / cmake / config.cmake
1
2 set(SARCH "pc" CACHE STRING
3 "Sub-architecture to build for. Specify one of:
4 pc xbox")
5
6 set(OARCH "pentium" CACHE STRING
7 "Generate instructions for this CPU type. Specify one of:
8 pentium, pentiumpro")
9
10 set(TUNE "i686" CACHE STRING
11 "Which CPU ReactOS should be optimized for.")
12
13 set(OPTIMIZE "4" CACHE STRING
14 "What level of optimization to use.
15 0 = Off
16 1 = Optimize for size (-Os) with some additional options
17 2 = Optimize for size (-Os)
18 3 = Optimize debugging experience (-Og)
19 4 = Optimize (-O1)
20 5 = Optimize even more (-O2)
21 6 = Optimize yet more (-O3)
22 7 = Disregard strict standards compliance (-Ofast)")
23
24 set(LTCG FALSE CACHE BOOL
25 "Whether to build with link-time code generation")
26
27 set(GDB FALSE CACHE BOOL
28 "Whether to compile for debugging with GDB.
29 If you don't use GDB, don't enable this.")
30
31 if(CMAKE_BUILD_TYPE STREQUAL "Release")
32 set(DBG FALSE CACHE BOOL
33 "Whether to compile for debugging.")
34 else()
35 set(DBG TRUE CACHE BOOL
36 "Whether to compile for debugging.")
37 endif()
38
39 if(MSVC)
40 set(KDBG FALSE CACHE BOOL
41 "Whether to compile in the integrated kernel debugger.")
42 if(CMAKE_BUILD_TYPE STREQUAL "Release")
43 set(_WINKD_ FALSE CACHE BOOL "Whether to compile with the KD protocol.")
44 else()
45 set(_WINKD_ TRUE CACHE BOOL "Whether to compile with the KD protocol.")
46 endif()
47
48 else()
49 if(CMAKE_BUILD_TYPE STREQUAL "Release")
50 set(KDBG FALSE CACHE BOOL "Whether to compile in the integrated kernel debugger.")
51 else()
52 set(KDBG TRUE CACHE BOOL "Whether to compile in the integrated kernel debugger.")
53 endif()
54 set(_WINKD_ FALSE CACHE BOOL "Whether to compile with the KD protocol.")
55 endif()
56
57 set(_ELF_ FALSE CACHE BOOL
58 "Whether to compile support for ELF files.
59 Do not enable unless you know what you're doing.")
60
61 set(NSWPAT FALSE CACHE BOOL
62 "Whether to build apps/libs with features covered by software patents.
63 If you live in a country where software patents are valid/apply, don't
64 enable this (except they/you purchased a license from the patent owner).
65 This setting is disabled by default.")
66
67 set(BUILD_MP TRUE CACHE BOOL
68 "Whether to build the multiprocessor versions of NTOSKRNL and HAL.")
69
70 set(GENERATE_DEPENDENCY_GRAPH FALSE CACHE BOOL
71 "Whether to create a GraphML dependency graph of DLLs.")
72
73 if(MSVC)
74 set(_PREFAST_ FALSE CACHE BOOL
75 "Whether to enable PREFAST while compiling.")
76 set(_VS_ANALYZE_ FALSE CACHE BOOL
77 "Whether to enable static analysis while compiling.")
78 else()
79 set(STACK_PROTECTOR FALSE CACHE BOOL
80 "Whether to enbable the GCC stack checker while compiling")
81 endif()
82
83 set(USE_DUMMY_PSEH FALSE CACHE BOOL
84 "Whether to disable PSEH support.")