Well,
Having gone down this path just this morning with BOTH of those libraries, here is what I did.

In my png/CMakeList.txt file, I have the following:

include_directories(${CxImage_SOURCE_DIR}/Utilities/cxzlib)
include_directories(${CxImage_BINARY_DIR}/CxZLib)
....
ADD_LIBRARY(CxPng ${LIB_TYPE} ${PNG_SRCS} ${PNG_HDRS})
TARGET_LINK_LIBRARIES(CxPng CxZLib)

In my Top level CMakeLists.txt file I have the following:

add_subdirectory(${CxImage_SOURCE_DIR}/Utilities/cxzlib $ {CxImage_BINARY_DIR}/CxZLib) add_subdirectory(${CxImage_SOURCE_DIR}/Utilities/cxpng $ {CxImage_BINARY_DIR}/CxPng)

That sets up the dependencies between Png and ZLib. CMake generated build files should now know to build Zlib first, then Png. You can take a look at the specific project here:

http://www.bluequartz.net/cgi-bin/gitweb/gitweb.cgi?p=CxImage.git;a=summary

I am porting the CxImage project to CMake so I can use it on more than just Windows. And just to be fair, I grabbed a lot of the CMake code to build ZLib and Png from the VTK and ITK projects.

_________________________________________________________
Mike Jackson                  [email protected]
BlueQuartz Software                    www.bluequartz.net
Principal Software Engineer                  Dayton, Ohio

On Nov 12, 2009, at 6:59 PM, Hugh Sorby wrote:


I am trying to compile zlib and libpng with one command, or more specifically one series of commands. My aim is to get as simple as possible to the following

cmake
make
make install

So what I have done so far is to layout my directories like so:

third_party
|
--zlib
|
--libpng


In each directory I have a CMakeLists.txt file that will build the libraries. So far so good. Now with a clean system i.e. one where libpng can't find zlib (because it hasn't been built yet) I try executing:

cmake

Which runs as expected right up until libpng requires the existence of zlib. So my problem is how to tell libpng that zlib is on it's way if it could only be a little patient. Preferebly without having to touch the CMakeLists.txt file inside libpng directory

Also is this strategy likely to fly or is it never going to get off the ground?

Chreers.

Also, can CMake apply patches?

_______________________________________________
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

_______________________________________________
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