[Insight-developers] SimpleITK - CMake question (The Saga of Eggs on Windows…)

Bradley Lowekamp blowekamp at mail.nih.gov
Sat Sep 17 17:26:47 EDT 2011


Thanks JC,

That is very helpful and explains what is going on. And explains that this is a bit of a tricky problem.

It appears that the LOCATION property from:


> get_target_property( SIMPLEITK_BINARY_MODULE
>    ${SWIG_MODULE_SimpleITK_REAL_NAME} LOCATION )
>  configure_file( ${SimpleITK_SOURCE_DIR}/Wrapping/PythonPackage/setup.py.in
>    ${SimpleITK_BINARY_DIR}/Wrapping/PythonPackage/setup.py )


already has the CMAKE_CFG_INITDIR value embedded in it. So the value of  SIMPLEITK_BINARY_MODULE is "C:Build/SimpleITK/lib/$(Configuration)/_SimpleITK.pyd". 

This value is then later used at configuration time in a "configure_file". Unfortunately, the documentation linked below, reminds me that the configuration type is not known at configuration time and is only known at compilation. So it's impossible to know the value of "$(Configure)"  when the configuration file is generated.

I guess I need a build time version of "configure_file" which is aware of what build type is occurring…. Anyone done that before?

Thanks,
Brad

========================================================
Bradley Lowekamp  
Lockheed Martin Contractor for
Office of High Performance Computing and Communications
National Library of Medicine 
blowekamp at mail.nih.gov

On Sep 17, 2011, at 5:07 PM, Jean-Christophe Fillion-Robin wrote:

> Hi Bradley, 
> 
> I am assuming you want the variable to be substituted at build time ... 
> 
> Instead of ${Configure} .. try with ${CMAKE_CFG_INTDIR}
> 
> See http://www.cmake.org/cmake/help/cmake-2-8-docs.html#variable:CMAKE_CFG_INTDIR
> 
> Hth
> Jc
> 
> On Sat, Sep 17, 2011 at 2:59 PM, Bradley Lowekamp <blowekamp at mail.nih.gov> wrote:
> Hello,
> 
> There is a cmake variable which is having the following value:
> "C:Build/SimpleITK/lib/$(Configure)/_SimpleITK.pyd"
> 
> And is needs to be:
> "C:Build/SimpleITK/lib/Release/_SimpleITK.pyd"
> 
> I can finally get the python egg for distribution on windows system, But for some reason the "Configure" is not being substituted as needed.
> 
> Here is some other CMake snippets relevant:
> 
> # from SimpleITK/CMAKE/UseSWIGLocal.cmake
> ...
> ADD_LIBRARY(${SWIG_MODULE_${name}_REAL_NAME}
>    MODULE
>    ${swig_generated_sources}
>    ${swig_other_sources})
> ...
> 
> # from SimpleITK/Wrapping/CMakeLists.txt
> ..
>  get_target_property( SIMPLEITK_BINARY_MODULE
>    ${SWIG_MODULE_SimpleITK_REAL_NAME} LOCATION )
>  configure_file( ${SimpleITK_SOURCE_DIR}/Wrapping/PythonPackage/setup.py.in
>    ${SimpleITK_BINARY_DIR}/Wrapping/PythonPackage/setup.py )
>> 
> 
> Any help would be appreciated.
> 
> Thanks,
> Brad
> 
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.html
> 
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-developers
> 
> 
> 
> -- 
> +1 919 869 8849
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20110917/5ef8c575/attachment.htm>


More information about the Insight-developers mailing list