Hi,

thanks, the config file works, now I can build the app. The only thing
is that I have to launch "make Minuit" first, and then "make". Is
there a way to tell CMake to build the dependency first? Or shell I
reorganize the outermost CMakeLists.txt or SuperBuild.cmake so that
the external projects are built first?

Thanks,
Miklos

On Fri, Aug 5, 2011 at 10:03 AM, Sascha Zelzer
<[email protected]> wrote:
> Hi,
>
> using ExternalProject_Add is fine.
>
> To create a dependency from a module, you might want to check the .cmake
> files in MITK/CMake/PackageDepends/ , they are exactly for this case. Note
> that there is the following naming convention for the file name:
> MITK_<package-name>_Config.cmake and you can optionally create a CMake
> option named MITK_USE_<package-name> which will be checked by the module
> CMake macros to decide if an error should be thrown if the module is used
> and MITK_USE_<package-name> is OFF.
>
> So you should write a file called
> <your-project>/CMake/PackageDepends/MITK_Minuit_Config.cmake which sets up
> the include and linker directories and adds the needed libs to
> ALL_LIBRARIES.
>
> Best,
> Sascha
>
> On 08/04/2011 07:43 PM, Miklos Espak wrote:
>>
>> Hi,
>>
>> I have a module that depends on the Minuit2 library.
>>
>> http://seal.web.cern.ch/seal/work-packages/mathlibs/minuit/
>>
>> I created an external project for it, and I can build it by "make
>> Minuit" from Linux or by right clicking and "Build" from VS2008. I do
>> not know, however, how to make the module depend on this project. I
>> added Minuit to the PACKAGE_DEPENDS section of the MITK_CREATE_MODULE
>> macro, but it does not trigger building Minuit. I also tried to add
>> "add_dependencies(DceAlgorithms Minuit)" but did not work.
>>
>> What is the way to do that? Or do you suggest to build Minuit as a
>> project utility instead?
>>
>> The module's CMakeLists.txt file:
>>
>> set(MINUIT_INCLUDE_DIR
>> ${CMAKE_BINARY_DIR}/../CMakeExternals/Source/Minuit/inc)
>> include_directories(${MINUIT_INCLUDE_DIR})
>>
>> MITK_CREATE_MODULE(DceAlgorithms
>>   INCLUDE_DIRS ${CMAKE_BINARY_DIR}
>>   PACKAGE_DEPENDS Minuit
>>   DEPENDS Mitk
>> )
>>
>> set(MINUIT_LIBRARY_DIR ${CMAKE_BINARY_DIR}/../Minuit-build)
>> message(STATUS "minuit libs: " ${MINUIT_LIBRARY_DIR})
>>
>> link_directories(${MINUIT_LIBRARY_DIR})
>>
>> add_dependencies(DceAlgorithms Minuit)
>> target_link_libraries(DceAlgorithms Minuit2)
>> -----------------------
>>
>> Another problem is that if I build Minuit first and then the module,
>> then I get the following error:
>>
>> Linking CXX shared library ../../bin/libDceAlgorithms.so
>> /usr/bin/ld: cannot find -lMinuit2
>> collect2: ld returned 1 exit status
>> ...
>>
>> However, the libMinuit2.so is there at the ${MINUIT_LIBRARY_DIR}
>> directory what I added by the "link_directories" macro.
>>
>> Thanks,
>> Miklos
>>
>>
>> ------------------------------------------------------------------------------
>> BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
>> The must-attend event for mobile developers. Connect with experts.
>> Get tools for creating Super Apps. See the latest technologies.
>> Sessions, hands-on labs, demos&  much more. Register early&  save!
>> http://p.sf.net/sfu/rim-blackberry-1
>> _______________________________________________
>> mitk-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/mitk-users
>
>

------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to