kernel/eka/euser/CMakeLists.txt
branchanywhere
changeset 28 9642313072c3
parent 25 57330c35d3d7
child 38 422372aa20a3
equal deleted inserted replaced
27:cf41e127747a 28:9642313072c3
    19 		string(REGEX REPLACE "(^.+)" "${sourcepath}\\1" newsource ${mySource})
    19 		string(REGEX REPLACE "(^.+)" "${sourcepath}\\1" newsource ${mySource})
    20 		set(source ${source} ${newsource})
    20 		set(source ${source} ${newsource})
    21 	endforeach(mySource) 
    21 	endforeach(mySource) 
    22 endmacro(add_source) 
    22 endmacro(add_source) 
    23 
    23 
       
    24 #Set common definitions using add_definitions
       
    25 #Target specific definitions will be add using set_target_properties
    24 #add_definitions(-DUNICODE)
    26 #add_definitions(-DUNICODE)
    25 add_definitions(-D__VC32__)
    27 add_definitions(-D__VC32__)
    26 add_definitions(-D_UNICODE)
    28 add_definitions(-D_UNICODE)
    27 add_definitions(-D__LEAVE_EQUALS_THROW__)
    29 add_definitions(-D__LEAVE_EQUALS_THROW__)
    28 add_definitions(-D__WINS__)
    30 add_definitions(-D__WINS__)
    29 #__CPU_X86 is declared by __WINS__ 
    31 #__CPU_X86 is declared by __WINS__ 
    30 #add_definitions(-D__CPU_X86)
    32 #add_definitions(-D__CPU_X86)
    31 add_definitions(-D__DLL__)
    33 #add_definitions(-D__DLL__)
       
    34 
       
    35 
       
    36 #set(commonDefines "__VC32__; _UNICODE;")
       
    37 
       
    38 
       
    39 
    32 
    40 
    33 include_directories (../euser ../euser/unicode ../include 
    41 include_directories (../euser ../euser/unicode ../include 
    34 ../include/nkern ../include/nkern/win32 ../include/kernel ../include/kernel/win32 ../include/memmodel/emul/win32 ../include/memmodel/emul)
    42 ../include/nkern ../include/nkern/win32 ../include/kernel ../include/kernel/win32 ../include/memmodel/emul/win32 ../include/memmodel/emul)
    35 
    43 
    36 
    44 
   100 set (sourcepath ../euser/unicode/)
   108 set (sourcepath ../euser/unicode/)
   101 add_source(
   109 add_source(
   102 collate.cpp unicode.cpp unitable.cpp Compare.cpp
   110 collate.cpp unicode.cpp unitable.cpp Compare.cpp
   103 )
   111 )
   104 
   112 
   105 #define our library
   113 #define our target
   106 add_library (emulator SHARED ../euser/epoc/win32/emulator.cpp)
       
   107 target_link_libraries(emulator kernel32)
       
   108 
   114 
       
   115 ### EMULATOR: used by euser and kernel for emulation
       
   116 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 
       
   117 target_link_libraries(emulator kernel32) #kernel32
       
   118 #set_target_properties(emulator PROPERTIES COMPILE_FLAGS "/Zl") #No default library
       
   119 set_target_properties(emulator PROPERTIES LINK_FLAGS "/ENTRY:_Win32DllMain") #Change the entry point
       
   120 
       
   121 ### EUSER: many user library
   109 add_library (euser SHARED ${source})
   122 add_library (euser SHARED ${source})
   110 add_dependencies(euser genexec emulator)
   123 add_dependencies(euser genexec emulator)
       
   124 set_target_properties(euser PROPERTIES COMPILE_DEFINITIONS "__DLL__")
   111 
   125 
       
   126 
       
   127 ### ESTUB: not sure why need that yet
   112 add_library (estub STATIC ../euser/epoc/win32/uc_stub.cpp)
   128 add_library (estub STATIC ../euser/epoc/win32/uc_stub.cpp)
   113 #set_target_properties(estub PROPERTIES LINK_FLAGS /ENTRY:E32Bootstrap)
   129 #set_target_properties(estub PROPERTIES LINK_FLAGS /ENTRY:E32Bootstrap)
   114 
   130 
   115 add_executable(epoc ../euser/epoc/win32/uc_epoc.cpp)
   131 ### SCPPNWDL_KERN: used by kernel. It contains new operators override.
       
   132 #To be linked by kernel
       
   133 add_library (scppnwdl_kern STATIC ../euser/epoc/win32/scppnwdl.cpp)
       
   134 add_dependencies(scppnwdl_kern euser)
       
   135 
       
   136 ### EPOC: emulator executable
       
   137 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 
   116 add_dependencies(epoc estub euser)
   138 add_dependencies(epoc estub euser)
   117 set_target_properties(epoc PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup /SUBSYSTEM:WINDOWS")
   139 set_target_properties(epoc PROPERTIES LINK_FLAGS "/ENTRY:_E32Bootstrap /SUBSYSTEM:WINDOWS /NODEFAULTLIB")
   118 #set_target_properties(epoc PROPERTIES LINK_FLAGS "/ENTRY:_E32Bootstrap /SUBSYSTEM:WINDOWS /NODEFAULTLIB /NOASSEMBLY")
   140 target_link_libraries(epoc msvcrt)
       
   141 #set_target_properties(epoc PROPERTIES COMPILE_FLAGS "/Zl")
       
   142 #set_target_properties(epoc PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup /SUBSYSTEM:WINDOWS")
       
   143 #set_target_properties(epoc PROPERTIES LINK_FLAGS "/NODEFAULTLIB")
       
   144 
   119  #set_target_properties(target1 target2 ... PROPERTIES prop1 value1 prop2 value2 ...)
   145  #set_target_properties(target1 target2 ... PROPERTIES prop1 value1 prop2 value2 ...)
   120 
   146 
   121 
   147 
   122 #No need for emulator here
   148 #No need for emulator here
   123 #add_executable(epoc ./euser/epoc/win32/uc_epoc.cpp)
   149 #add_executable(epoc ./euser/epoc/win32/uc_epoc.cpp)
   124 #target_link_libraries(epoc estub euser)
   150 
   125  
   151  
   126  
   152  
   127 #define vs IDE folders
   153 #define vs IDE folders
   128 source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$")
   154 source_group(Sources REGULAR_EXPRESSION ".+\\.cpp$")
   129 source_group(Includes REGULAR_EXPRESSION ".+\\.h$") 	
   155 source_group(Includes REGULAR_EXPRESSION ".+\\.h$")