kernel/eka/euser/CMakeLists.txt
branchanywhere
changeset 28 9642313072c3
parent 25 57330c35d3d7
child 38 422372aa20a3
--- a/kernel/eka/euser/CMakeLists.txt	Thu Jan 07 02:37:41 2010 +0100
+++ b/kernel/eka/euser/CMakeLists.txt	Sat Jan 09 02:16:07 2010 +0100
@@ -21,6 +21,8 @@
 	endforeach(mySource) 
 endmacro(add_source) 
 
+#Set common definitions using add_definitions
+#Target specific definitions will be add using set_target_properties
 #add_definitions(-DUNICODE)
 add_definitions(-D__VC32__)
 add_definitions(-D_UNICODE)
@@ -28,7 +30,13 @@
 add_definitions(-D__WINS__)
 #__CPU_X86 is declared by __WINS__ 
 #add_definitions(-D__CPU_X86)
-add_definitions(-D__DLL__)
+#add_definitions(-D__DLL__)
+
+
+#set(commonDefines "__VC32__; _UNICODE;")
+
+
+
 
 include_directories (../euser ../euser/unicode ../include 
 ../include/nkern ../include/nkern/win32 ../include/kernel ../include/kernel/win32 ../include/memmodel/emul/win32 ../include/memmodel/emul)
@@ -102,26 +110,44 @@
 collate.cpp unicode.cpp unitable.cpp Compare.cpp
 )
 
-#define our library
-add_library (emulator SHARED ../euser/epoc/win32/emulator.cpp)
-target_link_libraries(emulator kernel32)
+#define our target
 
+### EMULATOR: used by euser and kernel for emulation
+add_library (emulator SHARED ../kernel/win32/l_entry.cpp ../euser/epoc/win32/emulator.cpp) #Compile the KLIB target entry point which is l_entry.cpp 
+target_link_libraries(emulator kernel32) #kernel32
+#set_target_properties(emulator PROPERTIES COMPILE_FLAGS "/Zl") #No default library
+set_target_properties(emulator PROPERTIES LINK_FLAGS "/ENTRY:_Win32DllMain") #Change the entry point
+
+### EUSER: many user library
 add_library (euser SHARED ${source})
 add_dependencies(euser genexec emulator)
+set_target_properties(euser PROPERTIES COMPILE_DEFINITIONS "__DLL__")
 
+
+### ESTUB: not sure why need that yet
 add_library (estub STATIC ../euser/epoc/win32/uc_stub.cpp)
 #set_target_properties(estub PROPERTIES LINK_FLAGS /ENTRY:E32Bootstrap)
 
-add_executable(epoc ../euser/epoc/win32/uc_epoc.cpp)
+### SCPPNWDL_KERN: used by kernel. It contains new operators override.
+#To be linked by kernel
+add_library (scppnwdl_kern STATIC ../euser/epoc/win32/scppnwdl.cpp)
+add_dependencies(scppnwdl_kern euser)
+
+### EPOC: emulator executable
+add_executable(epoc ../euser/epoc/win32/uc_exe.cpp ../euser/epoc/win32/uc_epoc.cpp) #Compile the EXE target entry point which is uc_exe.cpp 
 add_dependencies(epoc estub euser)
-set_target_properties(epoc PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup /SUBSYSTEM:WINDOWS")
-#set_target_properties(epoc PROPERTIES LINK_FLAGS "/ENTRY:_E32Bootstrap /SUBSYSTEM:WINDOWS /NODEFAULTLIB /NOASSEMBLY")
+set_target_properties(epoc PROPERTIES LINK_FLAGS "/ENTRY:_E32Bootstrap /SUBSYSTEM:WINDOWS /NODEFAULTLIB")
+target_link_libraries(epoc msvcrt)
+#set_target_properties(epoc PROPERTIES COMPILE_FLAGS "/Zl")
+#set_target_properties(epoc PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup /SUBSYSTEM:WINDOWS")
+#set_target_properties(epoc PROPERTIES LINK_FLAGS "/NODEFAULTLIB")
+
  #set_target_properties(target1 target2 ... PROPERTIES prop1 value1 prop2 value2 ...)
 
 
 #No need for emulator here
 #add_executable(epoc ./euser/epoc/win32/uc_epoc.cpp)
-#target_link_libraries(epoc estub euser)
+
  
  
 #define vs IDE folders