Don't forget to restore the original code back to RosApps!

Just saying....

On 3/29/15, Timo Kreuzer <[email protected]> wrote:
>
> The fun part is, your commit caused a conflict for me. The reason is
> that I had just changed it to support multiple files, but using the OS
> tools. And I don't see what is challenging there. It's not like you have
> to write this in ARM assembly.
>
> Unless anyone objects, I'm going to replace the current solution with a
> solution using OS tools.
>
> Timo
>
>
> Am 29.03.2015 um 16:01 schrieb Hermès BÉLUSCA - MAÏTO:
>> Being forced (for the windows system) to build the whole string "file1 +
>> file2 + ... + fileN" to feed the 'copy' command would be quite
>> challenging.
>> OK on windows there is the 'type' command (that I didn't think of at
>> first).
>> It just have a tiny "problem", in that you need to do (for example):
>> "type
>> 1.txt 2.txt 3.txt 1> toto.txt 2> NUL" to concatenate the 3 files into
>> toto.txt *and* redirecting STDERR to NUL, otherwise the names of the
>> files
>> being processed are displayed in STDERR (that is usually equivalent to
>> STDOUT, and as result, you would have a lot of spam while compiling). But
>> then, doing that, in case some file is missing (for example), you
>> couldn't
>> see the error because you've redirected STDERR to NUL ... And I haven't
>> found any option to overcome this problem.
>>
>> -----Message d'origine-----
>> De : Ros-dev [mailto:[email protected]] De la part de Pierre
>> Schweitzer
>> Envoyé : dimanche 29 mars 2015 13:14
>> À : ReactOS Development List
>> Objet : Re: [ros-dev] [ros-diffs] [hbelusca] 66946: [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
>> concaten...
>>
>> 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.cm
>>>> ake?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.
>>
>>
>> _______________________________________________
>> Ros-dev mailing list
>> [email protected]
>> http://www.reactos.org/mailman/listinfo/ros-dev
>>
>
>
>

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

Reply via email to