[CMake] [cmake-developers] CPack: GetPrerequisites: cross-compiling from Linux to Windows

Dominik Schmidt domme at tomahawk-player.org
Tue Mar 6 11:03:04 EST 2012


Hi

On Tue, Mar 6, 2012 at 4:28 PM, Eric Noulard <eric.noulard at gmail.com> wrote:
> This is the interesting part.
> This installation part is launched by CPack before packaging.

> So I misunderstood, one of your previous answer
>>>    In order to be sure that nothing else is breaking you can try to
>>>    [manually] add the missing definition in the CPackConfig.cmake file.
>>>    This file is loaded by CPack at CPack-time so that any definitions in there
>>>    will be seen during CPack run.
>
>> Went fine.
>
> I have not the rime now to dive into CPack source code in order to check
> which context comes with the installation step launched by CPack.
>
> Does the [cross-]DeployQt4 works if you simply do
>
> make install
>
> ?

No.

message(FATAL_ERROR "CPACK_SYSTEM_NAME is : ${CPACK_SYSTEM_NAME}
CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME} CMAKE_CROSSCOMPILING:
${CMAKE_CROSSCOMPILING} ")

CMake Error at /home/domme/dev/installs/share/cmake-2.8/Modules/GetPrerequisites.cmake:626
(message):
 CPACK_SYSTEM_NAME is : CMAKE_SYSTEM_NAME: CMAKE_CROSSCOMPILING:
Call Stack (most recent call first):
 /home/domme/dev/installs/share/cmake-2.8/Modules/BundleUtilities.cmake:432
(get_prerequisites)
 /home/domme/dev/installs/share/cmake-2.8/Modules/BundleUtilities.cmake:612
(get_bundle_keys)
 /home/domme/dev/sources/zokyo_client/cmake/modules/DeployQt4.cmake:116
(fixup_bundle)
 cmake_install.cmake:43 (FIXUP_QT4_BUNDLE)

It's the same for cpack --verbose or make install.


> Just an FYI from the original author of GetPrerequisites here:
> cross-packaging was not even considered as we developed it. If it
> works at all, it's by happy accident.

The only unsolved problem so far is, I can't set any variable at
cpack-install time. So I cant even manually enforce gp_tool = objdump.
Would I need to  write it to cmake_install.cmake somehow?

> I always envisioned packaging as occurring on a "host == target" platform.

NSIS does a pretty good "cross-job" :)

> If we want to support cross-packaging for real in CMake/CPack, then we
> need some dashboard submissions that build such a beast, and submit
> nightly... so that we can monitor for errors when we do make changes
> to the source tree.

To me it looks like it only needs a pretty minor change at least on
GetPrerequisites side.



> Thanks, and best of luck here,
> David C.

Thanks,
Dominik


More information about the CMake mailing list