author | Slion |
Wed, 03 Feb 2010 22:15:32 +0100 | |
branch | anywhere |
changeset 50 | 999bb78c71ac |
parent 28 | 9642313072c3 |
permissions | -rw-r--r-- |
24
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
1 |
# Copyright (c) 2009 Stéphane Lenclud. |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
2 |
# All rights reserved. |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
3 |
# This component and the accompanying materials are made available |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
4 |
# under the terms of the License "Eclipse Public License v1.0" |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
5 |
# which accompanies this distribution, and is available |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
6 |
# at the URL "http://www.eclipse.org/legal/epl-v10.html". |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
7 |
# |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
8 |
# Initial Contributors: |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
9 |
# Stéphane Lenclud. |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
10 |
# |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
11 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
12 |
project (kernel) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
13 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
14 |
cmake_minimum_required(VERSION 2.6) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
15 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
16 |
#Add the given source files to our source prepending the sourcepath |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
17 |
macro(add_source) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
18 |
foreach(mySource ${ARGV}) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
19 |
string(REGEX REPLACE "(^.+)" "${sourcepath}\\1" newsource ${mySource}) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
20 |
set(source ${source} ${newsource}) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
21 |
endforeach(mySource) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
22 |
endmacro(add_source) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
23 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
24 |
add_definitions(-DUNICODE) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
25 |
add_definitions(-D__VC32__) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
26 |
add_definitions(-D_UNICODE) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
27 |
add_definitions(-D__LEAVE_EQUALS_THROW__) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
28 |
add_definitions(-D__WINS__) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
29 |
add_definitions(-D__EXPORT_MEMCPY__) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
30 |
add_definitions(-D__IN_KERNEL__) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
31 |
add_definitions(-D__KERNEL_MODE__) |
28
9642313072c3
Can't get the kernel start-up code to work using VC8 compiler. It crashes while trying to run constructStatics. Maybe I will try my luck with GCC from MinGW, that should also make the Linux port much easier.
Slion
parents:
27
diff
changeset
|
32 |
add_definitions(-D__MEMMODEL_EMUL_SINGLE_HOST_PROCESS__) |
24
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
33 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
34 |
#__CPU_X86 is declared by __WINS__ |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
35 |
#add_definitions(-D__CPU_X86) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
36 |
#add_definitions(-D__DLL__) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
37 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
38 |
include_directories (../euser ../euser/unicode ../include |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
39 |
../include/nkern ../include/nkern/win32 ../include/kernel ../include/kernel/win32 ../include/memmodel/emul/win32 ../include/memmodel/emul) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
40 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
41 |
#Define source for ekern |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
42 |
set (sourcepath ../nkern/) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
43 |
add_source( |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
44 |
nkern.cpp nkerns.cpp sched.cpp dfcs.cpp nk_timer.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
45 |
nk_old.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
46 |
) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
47 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
48 |
set (sourcepath ../common/win32/) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
49 |
add_source( |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
50 |
atomics.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
51 |
) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
52 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
53 |
set (sourcepath ../nkern/win32/) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
54 |
add_source( |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
55 |
vectors.cpp ncsched.cpp nctimer.cpp ncutilf.cpp ncutils.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
56 |
ncthrd.cpp ncglob.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
57 |
) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
58 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
59 |
set (sourcepath ../common/win32/) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
60 |
add_source( |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
61 |
seh.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
62 |
) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
63 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
64 |
set (sourcepath ../kernel/win32/) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
65 |
add_source( |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
66 |
cboot.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
67 |
cglobals.cpp cexec.cpp cinit.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
68 |
ckernel.cpp csched.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
69 |
cutils.cpp cache.cpp |
28
9642313072c3
Can't get the kernel start-up code to work using VC8 compiler. It crashes while trying to run constructStatics. Maybe I will try my luck with GCC from MinGW, that should also make the Linux port much easier.
Slion
parents:
27
diff
changeset
|
70 |
k_entry.cpp #originally from kc_exe.mmp |
50 | 71 |
#TODO: add our own entry point? |
24
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
72 |
) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
73 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
74 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
75 |
set (sourcepath ../kernel/) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
76 |
add_source( |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
77 |
sglobals.cpp device.cpp eventq.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
78 |
sexec.cpp sinit.cpp skernel.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
79 |
scodeseg.cpp sipc.cpp notifier.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
80 |
object.cpp power.cpp server.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
81 |
stimer.cpp sutils.cpp random.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
82 |
sprocess.cpp sthread.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
83 |
smqueue.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
84 |
sproperty.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
85 |
ssharedio.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
86 |
ssecure.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
87 |
emi.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
88 |
objectix.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
89 |
sbtrace.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
90 |
stest.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
91 |
sshbuf.cpp smap.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
92 |
) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
93 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
94 |
set (sourcepath ../klib/) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
95 |
add_source( |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
96 |
dbase.cpp kdes8.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
97 |
kheap.cpp bma.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
98 |
) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
99 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
100 |
# |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
101 |
set (sourcepath ../common/) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
102 |
add_source( |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
103 |
alloc.cpp array.cpp des8.cpp heap.cpp mem.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
104 |
secure.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
105 |
) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
106 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
107 |
set (sourcepath ../memmodel/emul/) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
108 |
add_source( |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
109 |
pglobals.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
110 |
nvram.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
111 |
) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
112 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
113 |
# |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
114 |
set (sourcepath ../memmodel/emul/win32/) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
115 |
add_source( |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
116 |
zrom.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
117 |
mchunk.cpp mglobals.cpp minit.cpp mkernel.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
118 |
mcodeseg.cpp mprocess.cpp mutils.cpp mshbuf.cpp |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
119 |
) |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
120 |
|
50 | 121 |
#def export |
122 |
set (sourcepath ../blike/) |
|
123 |
add_source( |
|
124 |
ekern.def |
|
125 |
) |
|
28
9642313072c3
Can't get the kernel start-up code to work using VC8 compiler. It crashes while trying to run constructStatics. Maybe I will try my luck with GCC from MinGW, that should also make the Linux port much easier.
Slion
parents:
27
diff
changeset
|
126 |
|
50 | 127 |
|
128 |
#add_executable(ekern ${source}) |
|
129 |
add_library(ekern SHARED ${source}) |
|
28
9642313072c3
Can't get the kernel start-up code to work using VC8 compiler. It crashes while trying to run constructStatics. Maybe I will try my luck with GCC from MinGW, that should also make the Linux port much easier.
Slion
parents:
27
diff
changeset
|
130 |
add_dependencies(ekern genexec emulator scppnwdl_kern) |
50 | 131 |
#set_target_properties(ekern PROPERTIES LINK_FLAGS "/ENTRY:KernelMain /NODEFAULTLIB") |
132 |
#target_link_libraries(ekern kernel32 msvcrt) |
|
133 |
target_link_libraries(ekern kernel32 emulator) |
|
28
9642313072c3
Can't get the kernel start-up code to work using VC8 compiler. It crashes while trying to run constructStatics. Maybe I will try my luck with GCC from MinGW, that should also make the Linux port much easier.
Slion
parents:
27
diff
changeset
|
134 |
#set_target_properties(ekern PROPERTIES COMPILE_FLAGS "/Zl") |
26
01da090338f9
Trying to sort out our issue with ekern DLL not found at runtime. The CMake install command is not what we are looking for I think.
Slion
parents:
25
diff
changeset
|
135 |
#install(TARGETS ekern DESTINATION ./symbian/bin) |
01da090338f9
Trying to sort out our issue with ekern DLL not found at runtime. The CMake install command is not what we are looking for I think.
Slion
parents:
25
diff
changeset
|
136 |
|
24
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
137 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
138 |
|
28
9642313072c3
Can't get the kernel start-up code to work using VC8 compiler. It crashes while trying to run constructStatics. Maybe I will try my luck with GCC from MinGW, that should also make the Linux port much easier.
Slion
parents:
27
diff
changeset
|
139 |
## |
9642313072c3
Can't get the kernel start-up code to work using VC8 compiler. It crashes while trying to run constructStatics. Maybe I will try my luck with GCC from MinGW, that should also make the Linux port much easier.
Slion
parents:
27
diff
changeset
|
140 |
##Copy ekern.dll to be next to epoc.exe |
9642313072c3
Can't get the kernel start-up code to work using VC8 compiler. It crashes while trying to run constructStatics. Maybe I will try my luck with GCC from MinGW, that should also make the Linux port much easier.
Slion
parents:
27
diff
changeset
|
141 |
## |
27
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
142 |
|
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
143 |
get_target_property(LIB_NAME ekern LOCATION) |
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
144 |
get_target_property(DEST_NAME epoc LOCATION) |
50 | 145 |
set(target_suffix .dll) |
27
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
146 |
#Extract path from full filename |
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
147 |
string(REGEX REPLACE "(^.+)/epoc.exe" "\\1" DEST_NAME ${DEST_NAME}) |
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
148 |
set(DEST_NAME ${DEST_NAME}/ekern${target_suffix}) |
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
149 |
|
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
150 |
#message(${DEST_NAME}) |
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
151 |
|
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
152 |
add_custom_command ( |
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
153 |
TARGET ekern |
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
154 |
POST_BUILD |
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
155 |
COMMAND ${CMAKE_COMMAND} -E copy ${LIB_NAME} ${DEST_NAME} |
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
156 |
) |
28
9642313072c3
Can't get the kernel start-up code to work using VC8 compiler. It crashes while trying to run constructStatics. Maybe I will try my luck with GCC from MinGW, that should also make the Linux port much easier.
Slion
parents:
27
diff
changeset
|
157 |
|
9642313072c3
Can't get the kernel start-up code to work using VC8 compiler. It crashes while trying to run constructStatics. Maybe I will try my luck with GCC from MinGW, that should also make the Linux port much easier.
Slion
parents:
27
diff
changeset
|
158 |
###################### |
27
cf41e127747a
Managed to copy ekern.dll along side epoc.exe so that debug session is made easy. ekern.dll is expected to export _E32Startup put it does not. Should ekern compile that k_entry.cpp file?
Slion
parents:
26
diff
changeset
|
159 |
|
24
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
160 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
161 |
#define vs IDE folders |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
162 |
source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$") |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
163 |
source_group(Includes REGULAR_EXPRESSION ".+\\.h$") |
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
164 |
|
18d195b75193
Created separate CMakeLists.txt for euser and ekern to easily build them with different compiler definitions. Ekern now building as a DLL.
Slion
parents:
diff
changeset
|
165 |