[MSVCRTEX]
[reactos.git] / reactos / lib / sdk / crt / msvcrtex.cmake
1
2 include_directories(include/internal/mingw-w64)
3
4 if(NOT MSVC)
5 add_compile_flags("-Wno-main")
6 endif()
7
8 list(APPEND MSVCRTEX_SOURCE
9 startup/crtexe.c
10 startup/wcrtexe.c
11 startup/crt_handler.c
12 startup/crtdll.c
13 startup/_newmode.c
14 startup/wildcard.c
15 startup/tlssup.c
16 startup/mingw_helpers.c
17 startup/natstart.c
18 startup/charmax.c
19 startup/merr.c
20 startup/atonexit.c
21 startup/txtmode.c
22 startup/pesect.c
23 startup/tlsmcrt.c
24 startup/tlsthrd.c
25 startup/tlsmthread.c
26 startup/cinitexe.c
27 startup/gs_support.c
28 startup/dll_argv.c
29 startup/dllargv.c
30 startup/wdllargv.c
31 startup/crt0_c.c
32 startup/crt0_w.c
33 startup/dllentry.c
34 misc/fltused.c
35 misc/ofmt_stub.c
36 )
37
38 if(NOT MSVC)
39 list(APPEND MSVCRTEX_SOURCE
40 startup/pseudo-reloc.c
41 startup/pseudo-reloc-list.c)
42 endif()
43
44 if(ARCH MATCHES i386)
45 list(APPEND MSVCRTEX_SOURCE
46 except/i386/chkstk_asm.s
47 except/i386/chkstk_ms.s
48 math/i386/ci.c
49 math/i386/ftol2_asm.s
50 math/i386/alldiv_asm.s)
51 elseif(ARCH MATCHES amd64)
52 list(APPEND MSVCRTEX_SOURCE
53 except/amd64/chkstk_asm.s
54 except/amd64/chkstk_ms.s)
55 endif()
56
57 if(MSVC)
58 list(APPEND MSVCRTEX_SOURCE startup/mscmain.c)
59 else()
60 list(APPEND MSVCRTEX_SOURCE startup/gccmain.c)
61 endif()
62
63 add_library(msvcrtex ${MSVCRTEX_SOURCE})
64 add_target_compile_definitions(msvcrtex _DLL)
65 set_source_files_properties(startup/crtdll.c PROPERTIES COMPILE_DEFINITIONS CRTDLL)
66 set_source_files_properties(startup/crtexe.c
67 startup/wcrtexe.c PROPERTIES COMPILE_DEFINITIONS _M_CEE_PURE)
68
69 if(NOT MSVC)
70 target_link_libraries(msvcrtex oldnames)
71 allow_warnings(msvcrtex)
72 endif()
73
74 add_dependencies(msvcrtex psdk asm)