Seconding here...
What's the whole purpose of this?
You have cat on Linux/BSD systems and type on Windows systems (if you
don't want to do the whole cmd copy stuff).
So what's the point? Let's keep efficient local tools.

On 29/03/2015 07:15, Thomas Faber wrote:
> I don't see how creating a new host-tool is an improvement over using OS
> builtins?
> 
> 
> On 2015-03-29 03:53, [email protected] wrote:
>> Author: hbelusca
>> Date: Sun Mar 29 01:53:10 2015
>> New Revision: 66946
>>
>> URL: http://svn.reactos.org/svn/reactos?rev=66946&view=rev
>> Log:
>> [CMAKE]
>> Improve the concatenate_files macro introduced by Timo in r52179 + r52182 
>> and hackfixed in r53914 . Notice that now it can take an arbitrary number of 
>> files to be concatenated. Hence you need to specify first the output file, 
>> and all the rest is the different files.
>>
>> [FREELDR]
>> Use the improved concatenate_files macro.
>>
>> Modified:
>>     trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt
>>     trunk/reactos/cmake/CMakeMacros.cmake
>>
>> Modified: trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt
>> URL: 
>> http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt?rev=66946&r1=66945&r2=66946&view=diff
>> ==============================================================================
>> --- trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt        [iso-8859-1] 
>> (original)
>> +++ trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt        [iso-8859-1] 
>> Sun Mar 29 01:53:10 2015
>> @@ -226,10 +226,13 @@
>>  add_dependencies(freeldr_pe asm)
>>  add_dependencies(freeldr_pe_dbg asm)
>>  
>> +# Retrieve the full path to the generated file of the 'freeldr_pe' target
>> +get_target_property(_freeldr_pe_output_file freeldr_pe LOCATION)
>> +
>>  concatenate_files(
>> +    ${CMAKE_CURRENT_BINARY_DIR}/freeldr.sys
>>      ${CMAKE_CURRENT_BINARY_DIR}/frldr16.bin
>> -    freeldr_pe
>> -    ${CMAKE_CURRENT_BINARY_DIR}/freeldr.sys)
>> +    ${_freeldr_pe_output_file})
>>  
>>  add_custom_target(freeldr ALL DEPENDS 
>> ${CMAKE_CURRENT_BINARY_DIR}/freeldr.sys)
>>  
>> @@ -238,9 +241,9 @@
>>  add_cd_file(TARGET freeldr FILE ${CMAKE_CURRENT_BINARY_DIR}/freeldr.sys 
>> DESTINATION loader NO_CAB NOT_IN_HYBRIDCD FOR livecd hybridcd NAME_ON_CD 
>> setupldr.sys)
>>  
>>  concatenate_files(
>> +    ${CMAKE_CURRENT_BINARY_DIR}/setupldr.sys
>>      ${CMAKE_CURRENT_BINARY_DIR}/frldr16.bin
>> -    freeldr_pe
>> -    ${CMAKE_CURRENT_BINARY_DIR}/setupldr.sys)
>> +    ${_freeldr_pe_output_file})
>>  
>>  add_custom_target(setupldr ALL DEPENDS 
>> ${CMAKE_CURRENT_BINARY_DIR}/setupldr.sys)
>>  add_cd_file(TARGET setupldr FILE ${CMAKE_CURRENT_BINARY_DIR}/setupldr.sys 
>> DESTINATION loader NO_CAB FOR bootcd regtest)
>>
>> Modified: trunk/reactos/cmake/CMakeMacros.cmake
>> URL: 
>> http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/CMakeMacros.cmake?rev=66946&r1=66945&r2=66946&view=diff
>> ==============================================================================
>> --- trunk/reactos/cmake/CMakeMacros.cmake    [iso-8859-1] (original)
>> +++ trunk/reactos/cmake/CMakeMacros.cmake    [iso-8859-1] Sun Mar 29 
>> 01:53:10 2015
>> @@ -504,33 +504,12 @@
>>      endfunction()
>>  endif()
>>  
>> -if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
>> -    macro(to_win_path _cmake_path _native_path)
>> -        string(REPLACE "/" "\\" ${_native_path} "${_cmake_path}")
>> -    endmacro()
>> -
>> -    # yeah the parameter mess sucks, but thats what works...
>> -    function(concatenate_files _file1 _target2 _output)
>> -        get_target_property(_file2 ${_target2} LOCATION)
>> -        to_win_path("${_file1}" _real_file1)
>> -        to_win_path("${_file2}" _real_file2)
>> -        to_win_path("${_output}" _real_output)
>> -        add_custom_command(
>> -            OUTPUT ${_output}
>> -            COMMAND cmd.exe /C "copy /Y /B ${_real_file1} + ${_real_file2} 
>> ${_real_output} > nul"
>> -            DEPENDS ${_file1}
>> -            DEPENDS ${_target2})
>> -    endfunction()
>> -else()
>> -    macro(concatenate_files _file1 _target2 _output)
>> -        get_target_property(_file2 ${_target2} LOCATION)
>> -        add_custom_command(
>> -            OUTPUT ${_output}
>> -            COMMAND cat ${_file1} ${_file2} > ${_output}
>> -            DEPENDS ${_file1}
>> -            DEPENDS ${_target2})
>> -    endmacro()
>> -endif()
>> +macro(concatenate_files _output)
>> +    add_custom_command(
>> +        OUTPUT ${_output}
>> +        COMMAND native-cat ${ARGN} > ${_output}
>> +        DEPENDS ${ARGN} native-cat)
>> +endmacro()
>>  
>>  function(add_importlibs _module)
>>      add_dependency_node(${_module})
>>
>>
> 
> 
> _______________________________________________
> Ros-dev mailing list
> [email protected]
> http://www.reactos.org/mailman/listinfo/ros-dev
> 


-- 
Pierre Schweitzer <pierre at reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
Ros-dev mailing list
[email protected]
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to