Author: hbelusca Date: Mon Mar 24 20:54:01 2014 New Revision: 62559
URL: http://svn.reactos.org/svn/reactos?rev=62559&view=rev Log: [CMAKE] - GCC: Cosmetic changes only. - MSVC: * Cosmetic changes (the same as in GCC). * Only VS 10+ resource compiler supports /nologo , therefore define a rc_nologo_flag that sets /nologo for VS 10+ rc.exe, and nothing for VS < 10. CORE-6997 #comment Only VS10+ rc.exe supports /nologo, modify the fix in revision 62559. CORE-8023
Modified: trunk/reactos/cmake/gcc.cmake trunk/reactos/cmake/msvc.cmake
Modified: trunk/reactos/cmake/gcc.cmake URL: http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/gcc.cmake?rev=62559&a... ============================================================================== --- trunk/reactos/cmake/gcc.cmake [iso-8859-1] (original) +++ trunk/reactos/cmake/gcc.cmake [iso-8859-1] Mon Mar 24 20:54:01 2014 @@ -139,7 +139,7 @@
add_definitions(-D_inline=__inline)
-# alternative arch name +# Alternative arch name if(ARCH STREQUAL "amd64") set(ARCH2 x86_64) else() @@ -268,18 +268,18 @@ endif()
function(generate_import_lib _libname _dllname _spec_file) - # generate the def for the import lib + # Generate the def for the import lib add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_libname}_implib.def COMMAND native-spec2def -n=${_dllname} -a=${ARCH2} --implib -d=${CMAKE_CURRENT_BINARY_DIR}/${_libname}_implib.def ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file} native-spec2def) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_libname}_implib.def PROPERTIES EXTERNAL_OBJECT TRUE)
- #create normal importlib + # Create normal importlib _add_library(${_libname} STATIC EXCLUDE_FROM_ALL ${CMAKE_CURRENT_BINARY_DIR}/${_libname}_implib.def) set_target_properties(${_libname} PROPERTIES LINKER_LANGUAGE "IMPLIB" PREFIX "")
- #create delayed importlib + # Create delayed importlib _add_library(${_libname}_delayed STATIC EXCLUDE_FROM_ALL ${CMAKE_CURRENT_BINARY_DIR}/${_libname}_implib.def) set_target_properties(${_libname}_delayed PROPERTIES LINKER_LANGUAGE "IMPLIB_DELAYED" PREFIX "") endfunction() @@ -288,7 +288,7 @@ set(CMAKE_IMPLIB_CREATE_STATIC_LIBRARY "${CMAKE_DLLTOOL} --def <OBJECTS> --kill-at --output-lib=<TARGET>") set(CMAKE_IMPLIB_DELAYED_CREATE_STATIC_LIBRARY "${CMAKE_DLLTOOL} --def <OBJECTS> --kill-at --output-delaylib=<TARGET>") function(spec2def _dllname _spec_file) - # do we also want to add importlib targets? + # Do we also want to add importlib targets? if(${ARGC} GREATER 2) if(${ARGN} STREQUAL "ADD_IMPORTLIB") set(__add_importlib TRUE) @@ -297,15 +297,15 @@ endif() endif()
- # get library basename + # Get library basename get_filename_component(_file ${_dllname} NAME_WE)
- # error out on anything else than spec + # Error out on anything else than spec if(NOT ${_spec_file} MATCHES ".*\.spec") message(FATAL_ERROR "spec2def only takes spec files as input.") endif()
- # generate exports def and stubs C file for the module + # Generate exports def and C stubs file for the DLL add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}.def ${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c COMMAND native-spec2def -n=${_dllname} -a=${ARCH2} -d=${CMAKE_CURRENT_BINARY_DIR}/${_file}.def -s=${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file} @@ -320,7 +320,7 @@ 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()
-#pseh lib, needed with mingw +# PSEH lib, needed with mingw set(PSEH_LIB "pseh")
# Macros @@ -388,4 +388,3 @@ macro(add_asm_files _target) list(APPEND ${_target} ${ARGN}) endmacro() -
Modified: trunk/reactos/cmake/msvc.cmake URL: http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/msvc.cmake?rev=62559&... ============================================================================== --- trunk/reactos/cmake/msvc.cmake [iso-8859-1] (original) +++ trunk/reactos/cmake/msvc.cmake [iso-8859-1] Mon Mar 24 20:54:01 2014 @@ -92,10 +92,16 @@ endif()
if(MSVC_IDE AND (CMAKE_VERSION MATCHES "ReactOS")) - # for VS builds we'll only have en-US in resource files + # For VS builds we'll only have en-US in resource files add_definitions(/DLANGUAGE_EN_US) else() - set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> /nologo <FLAGS> <DEFINES> ${I18N_DEFS} /fo<OBJECT> <SOURCE>") + # Only VS 10+ resource compiler supports /nologo + if(MSVC_VERSION GREATER 1599) + set(rc_nologo_flag "/nologo") + else() + set(rc_nologo_flag) + endif() + set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> ${rc_nologo_flag} <FLAGS> <DEFINES> ${I18N_DEFS} /fo<OBJECT> <SOURCE>") set(CMAKE_ASM_COMPILE_OBJECT "cl ${cl_includes_flag} /nologo /X /I${REACTOS_SOURCE_DIR}/include/asm /I${REACTOS_BINARY_DIR}/include/asm <FLAGS> <DEFINES> /D__ASM__ /D_USE_ML /EP /c <SOURCE> > <OBJECT>.tmp" "<CMAKE_ASM_COMPILER> /nologo /Cp /Fo<OBJECT> /c /Ta <OBJECT>.tmp") @@ -213,7 +219,7 @@ endif() endfunction()
-#define those for having real libraries +# Define those for having real libraries set(CMAKE_IMPLIB_CREATE_STATIC_LIBRARY "LINK /LIB /NOLOGO <LINK_FLAGS> /OUT:<TARGET> <OBJECTS>") set(CMAKE_STUB_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> /nologo /Cp /Fo<OBJECT> /c /Ta <SOURCE>") function(add_delay_importlibs _module) @@ -246,12 +252,12 @@ COMMAND ${CMAKE_ASM_COMPILER} /Cp /Fo${_asm_stubs_file}.obj /c /Ta ${_asm_stubs_file} DEPENDS ${_asm_stubs_file}) else() - # be clear about the "language" + # Be clear about the "language" # Thanks MS for creating a stupid linker set_source_files_properties(${_asm_stubs_file} PROPERTIES LANGUAGE "STUB_ASM") endif()
- # add our library + # Add our library if(MSVC_IDE) add_library(${_libname} STATIC EXCLUDE_FROM_ALL ${_asm_stubs_file}.obj) set_source_files_properties(${_asm_stubs_file}.obj PROPERTIES EXTERNAL_OBJECT 1) @@ -273,7 +279,7 @@ set(SPEC2DEF_ARCH i386) endif() function(spec2def _dllname _spec_file) - # do we also want to add importlib targets? + # Do we also want to add importlib targets? if(${ARGC} GREATER 2) if(${ARGN} STREQUAL "ADD_IMPORTLIB") set(__add_importlib TRUE) @@ -282,15 +288,15 @@ endif() endif()
- # get library basename + # Get library basename get_filename_component(_file ${_dllname} NAME_WE)
- # error out on anything else than spec + # Error out on anything else than spec if(NOT ${_spec_file} MATCHES ".*\.spec") message(FATAL_ERROR "spec2def only takes spec files as input.") endif()
- #generate def for the DLL and C stubs file + # Generate exports def and C stubs file for the DLL add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}.def ${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c COMMAND native-spec2def --ms -a=${SPEC2DEF_ARCH} -n=${_dllname} -d=${CMAKE_CURRENT_BINARY_DIR}/${_file}.def -s=${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file} @@ -305,7 +311,7 @@ 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()
-#pseh workaround +# PSEH workaround set(PSEH_LIB "pseh")
# Use a full path for the x86 version of ml when using x64 VS.