xref: /reactos/sdk/lib/crt/except/except.cmake (revision bbabe248)
1
2if(ARCH STREQUAL "i386")
3    list(APPEND LIBCNTPR_EXCEPT_ASM_SOURCE
4        except/i386/chkstk_asm.s
5    )
6    list(APPEND CRT_EXCEPT_ASM_SOURCE
7        except/i386/chkesp.s
8        except/i386/prolog.s
9    )
10    if(MSVC)
11        list(APPEND CRT_EXCEPT_ASM_SOURCE
12            except/i386/cpp.s)
13    endif()
14elseif(ARCH STREQUAL "amd64")
15    list(APPEND LIBCNTPR_EXCEPT_SOURCE
16        except/amd64/ehandler.c
17    )
18    list(APPEND LIBCNTPR_EXCEPT_ASM_SOURCE
19        except/amd64/chkstk_ms.s
20        except/amd64/seh.s
21    )
22    list(APPEND CRT_EXCEPT_ASM_SOURCE
23        except/amd64/seh.s
24    )
25    if(MSVC)
26        list(APPEND CRT_EXCEPT_ASM_SOURCE
27            except/amd64/cpp.s)
28    endif()
29elseif(ARCH STREQUAL "arm")
30    list(APPEND LIBCNTPR_EXCEPT_SOURCE
31        except/arm/ehandler.c
32    )
33    list(APPEND LIBCNTPR_EXCEPT_ASM_SOURCE
34        except/arm/__jump_unwind.s
35        except/arm/_abnormal_termination.s
36        except/arm/_except_handler2.s
37        except/arm/_except_handler3.s
38        except/arm/_global_unwind2.s
39        except/arm/_local_unwind2.s
40        except/arm/chkstk_asm.s
41    )
42    list(APPEND CRT_EXCEPT_ASM_SOURCE
43        except/arm/_abnormal_termination.s
44        except/arm/_except_handler2.s
45        except/arm/_except_handler3.s
46        except/arm/_global_unwind2.s
47        except/arm/_local_unwind2.s
48        except/arm/chkstk_asm.s
49    )
50    if(MSVC)
51        list(APPEND CRT_EXCEPT_ASM_SOURCE
52            except/arm/cpp.s)
53    endif()
54endif()
55
56list(APPEND CRT_EXCEPT_SOURCE
57    ${LIBCNTPR_EXCEPT_SOURCE}
58    except/stack.c
59)
60
61if(ARCH STREQUAL "i386")
62    list(APPEND CHKSTK_ASM_SOURCE except/i386/chkstk_asm.s)
63elseif(ARCH STREQUAL "amd64")
64    list(APPEND CHKSTK_ASM_SOURCE except/amd64/chkstk_ms.s)
65elseif(ARCH STREQUAL "arm")
66    list(APPEND CHKSTK_ASM_SOURCE except/arm/chkstk_asm.s)
67endif()
68
69add_asm_files(chkstk_lib_asm ${CHKSTK_ASM_SOURCE})
70add_library(chkstk ${CHKSTK_SOURCE} ${chkstk_lib_asm})
71set_target_properties(chkstk PROPERTIES LINKER_LANGUAGE "C")
72add_dependencies(chkstk asm)
73