On 26. Jan, 2010, at 21:28 , Guillaume Duhamel wrote:

> Hi,
> 
> I'm one of the Yabause ( http://yabause.org ) developers and we're currently
> porting our build system from Autotools to CMake. We made it to the point
> were basic stuff is working and we now want to get cross compilation working
> too.
> 
> One of Yabause compilation step require to generate and run an executable on
> the build platform; The CMake documentation (
> http://www.itk.org/Wiki/CMake_Cross_Compiling ) suggests that we use two
> compilation phase to do that, one for the native build and one for the cross
> compilation. Does that means you have to launch CMake + make twice or is
> there any way to automate the process?
> 
> On the other hand, I've found out about the ExternalProject module in the
> CMake documentation, could it be used to create a native-only CMake
> sub-project?
> 
> What I would really like is some way to have all compilation work done with
> only one CMake + make invocation ; is there any way to achieve that?
> *<http://www.cmake.org/cmake/help/cmake-2-8-docs.html#module:ExternalProject>
> *

Hi

Although I don't have any experience with cross-compiling and toolchain files, 
I remember that there was a discussion some weeks ago where ExternalProject 
indeed was brought up as a possibility to achieve what you need.

The only tricky part is to infer the output location of the sub-projects 
executable and then do a

add_executable(XXX IMPORTED)
set_target_properties(XXX PROPERTIES IMPORTED_LOCATION YYY)

The tricky part in determining the output location is that you need to consider 
CMAKE_EXECUTABLE_SUFFIX and CMAKE_CFG_INTDIR when the user uses a multi-config 
IDE such as Xcode or VisualStudio.

HTH

Michael
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to