diff -r cf41e127747a -r 9642313072c3 kernel/eka/euser/CMakeLists.txt --- 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