- Add a flag to distinguish Ansi and Unicode message tables. Keep them Ansi for now pending further testing
- Apply this to MSVC build as well. Fixes ntoskrnl messages incorrectly being Unicode

svn path=/trunk/; revision=53971
This commit is contained in:
Thomas Faber 2011-10-03 19:09:26 +00:00
parent 5b1e7ef93c
commit b4c79ff2b2
4 changed files with 19 additions and 10 deletions

View file

@ -34,13 +34,18 @@ function(add_dependency_footer)
file(APPEND ${REACTOS_BINARY_DIR}/dependencies.graphml " </graph>\n</graphml>\n") file(APPEND ${REACTOS_BINARY_DIR}/dependencies.graphml " </graph>\n</graphml>\n")
endfunction() endfunction()
function(add_message_headers) function(add_message_headers _type)
if(${_type} STREQUAL UNICODE)
set(_flag "-U")
else()
set(_flag "-A")
endif()
foreach(_in_FILE ${ARGN}) foreach(_in_FILE ${ARGN})
get_filename_component(FILE ${_in_FILE} NAME_WE) get_filename_component(FILE ${_in_FILE} NAME_WE)
macro_mc(${FILE}) macro_mc(${_flag} ${FILE})
add_custom_command( add_custom_command(
OUTPUT ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.rc ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h OUTPUT ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.rc ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h
COMMAND ${COMMAND_MC} COMMAND ${COMMAND_MC} ${MC_FLAGS}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.mc) DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.mc)
set_source_files_properties( set_source_files_properties(
${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.rc ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.h ${REACTOS_BINARY_DIR}/include/reactos/${FILE}.rc

View file

@ -249,8 +249,8 @@ function(spec2def _dllname _spec_file)
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c PROPERTIES GENERATED TRUE) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c PROPERTIES GENERATED TRUE)
endfunction() endfunction()
macro(macro_mc FILE) macro(macro_mc FLAG FILE)
set(COMMAND_MC ${CMAKE_MC_COMPILER} -A -b ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.mc -r ${REACTOS_BINARY_DIR}/include/reactos -h ${REACTOS_BINARY_DIR}/include/reactos) set(COMMAND_MC ${CMAKE_MC_COMPILER} ${FLAG} -b ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.mc -r ${REACTOS_BINARY_DIR}/include/reactos -h ${REACTOS_BINARY_DIR}/include/reactos)
endmacro() endmacro()
#pseh lib, needed with mingw #pseh lib, needed with mingw

View file

@ -174,8 +174,8 @@ function(spec2def _dllname _spec_file)
PROPERTIES GENERATED TRUE) PROPERTIES GENERATED TRUE)
endfunction() endfunction()
macro(macro_mc FILE) macro(macro_mc FLAG FILE)
set(COMMAND_MC mc -r ${REACTOS_BINARY_DIR}/include/reactos -h ${REACTOS_BINARY_DIR}/include/reactos ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.mc) set(COMMAND_MC mc ${FLAG} -r ${REACTOS_BINARY_DIR}/include/reactos -h ${REACTOS_BINARY_DIR}/include/reactos ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.mc)
endmacro() endmacro()
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/importlibs) file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/importlibs)

View file

@ -1,9 +1,13 @@
list(APPEND SOURCE list(APPEND ANSI_SOURCE
bugcodes.mc bugcodes.mc)
list(APPEND UNICODE_SOURCE
errcodes.mc errcodes.mc
neteventmsg.mc neteventmsg.mc
ntstatus.mc ntstatus.mc
pciclass.mc) pciclass.mc)
add_message_headers(${SOURCE}) add_message_headers(ANSI ${ANSI_SOURCE})
# FIXME: this needs testing before switching to unicode
add_message_headers(ANSI ${UNICODE_SOURCE})