can I bump this, I have the build working just fine now and installing the
files in the correct directories, but I can't seem to get my non external
projects [the ones I wrote] to link or include with the external projects.

how can I get my local cmake projects to link with the files built
with ExternalProject_Add?

On Wed, Dec 16, 2015 at 12:53 AM, Owen Hogarth II <gurenc...@gmail.com>
wrote:

> In response to myself I've figure it out with using add_step function and
> calling some commands.
>
> Full source for what's working building both external libraries.
>
> include(ExternalProject)
>
> ExternalProject_Add(sdl
>     HG_REPOSITORY http://hg.libsdl.org/SDL
>     UPDATE_COMMAND hg pull -u http://hg.libsdl.org/SDL
>
>     CMAKE_ARGS -DSDL_STATIC:BOOL=FALSE
>     -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}
>
>     SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SDL
>
>     INSTALL_DIR ${CMAKE_BINARY_DIR}
>     )
>
> ExternalProject_Get_Property(sdl install_dir)
> SET(SDL_INSTALL_DIR ${install_dir})
>
> ExternalProject_Add(sdl_image
>     DEPENDS sdl
>     HG_REPOSITORY http://hg.libsdl.org/SDL_image/
>     UPDATE_COMMAND hg pull -u http://hg.libsdl.org/SDL_image/
>     COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/SDL_image/./autogen.sh #this works
>
>     CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/SDL_image/./configure
>                       --prefix=${SDL_INSTALL_DIR}
>
>     SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SDL_image
>
>     INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}
>     )
> ExternalProject_Get_Property(sdl_image install_dir)
> SET(SDL_IMAGE_INSTALL_DIR ${install_dir})
>
> this installs the sdl things in
> build-tree/lib
> build-tree/include
> build-tree/share
>
> but even if I try to hardcode the path's they don't get picked up. The
> other libraries not build with external project add cannot find those
> files. How do I get those files to be picked up by the regular cmake build?
>
> Also I have one further question though they might be related and can be
> solved at the same time.
>
> I would like to add this to my external projects, their include
> directories are located in
> TARGET_INCLUDE_DIRECTORIES(sdl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
>
>
>
> On Tue, Dec 15, 2015 at 8:47 PM, Owen Hogarth II <gurenc...@gmail.com>
> wrote:
>
>> I was able to build the external project that required cmake like this:
>> include(ExternalProject)
>>
>> ExternalProject_Add(sdl
>>     HG_REPOSITORY http://hg.libsdl.org/SDL
>>     UPDATE_COMMAND hg pull -u http://hg.libsdl.org/SDL
>>
>>     CMAKE_ARGS -DSDL_STATIC:BOOL=FALSE
>>     -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/lib
>>
>>     SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SDL
>>
>>     INSTALL_DIR ${CMAKE_BINARY_DIR}
>>     )
>> ExternalProject_Get_Property(sdl install_dir)
>> SET(SDL_INSTALL_DIR ${install_dir})
>>
>>
>> now this second file uses ./configure to set up it's environment.
>> I can build it by going into the folder first running ./autogen.sh then
>> ./configure ...
>>
>> or If I use this external project script below
>> ExternalProject_Add(sdl_image
>>     DEPENDS sdl
>>     HG_REPOSITORY http://hg.libsdl.org/SDL_image/
>>     UPDATE_COMMAND hg pull -u http://hg.libsdl.org/SDL_image/
>>
>>     # MAKE_COMMAND make
>>     CONFIGURE_COMMAND  ${CMAKE_CURRENT_SOURCE_DIR}/SDL_image/./configure
>>     --prefix=${SDL_INSTALL_DIR}/lib
>> #adding this prefix I get further in my build then I get an error
>>
>>     SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/SDL_image
>>
>>     INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}
>>     )
>>
>> error:
>> missing: line 81: aclocal-1.13:
>>  command not found
>> WARNING: 'aclocal-1.13' is missing on your system.
>>          You should only need it if you modified 'acinclude.m4' or
>>          'configure.ac' or m4 files included by 'configure.ac'.
>>          The 'aclocal' program is part of the GNU Automake package:
>>          <http://www.gnu.org/software/automake>
>>          It also requires GNU Autoconf, GNU m4 and Perl in order to run:
>>          <http://www.gnu.org/software/autoconf>
>>          <http://www.gnu.org/software/m4/>
>>          <http://www.perl.org/>
>>
>> I can't actually get cmake to run the autogen script for me. If I leave
>> and manually go run ./autogen.sh and then re-run this cmake command things
>> will built correctly.
>>
>> How can I run the autogen.sh command from within that
>> "ExternalProject_Add(sdl_image ..)" block?
>>
>
>
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to