kernel/eka/kernel/CMakeLists.txt
author Slion
Wed, 03 Feb 2010 22:15:32 +0100
branchanywhere
changeset 50 999bb78c71ac
parent 28 9642313072c3
permissions -rw-r--r--
Starting to boot the kernel. We need ecust.dll now.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
    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
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
   121
#def export
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
   122
set (sourcepath ../blike/)
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
   123
add_source(
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
   124
ekern.def
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
   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
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
   127
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
   128
#add_executable(ekern ${source}) 
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
   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
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
   131
#set_target_properties(ekern PROPERTIES LINK_FLAGS "/ENTRY:KernelMain /NODEFAULTLIB")
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
   132
#target_link_libraries(ekern kernel32 msvcrt)
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
   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
999bb78c71ac Starting to boot the kernel. We need ecust.dll now.
Slion
parents: 28
diff changeset
   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