One of the nice things about cmake is that you can hide any complicated
build options inside the CMakeLists.txt file and present options to the
user via the cmake-gui.  Your solution negates that - the user now has to
know which compiler they are using and which options are relevant where as
before all they did was select the option labelled "build 32-bit" from
inside of cmake-gui.  When building using Visual Studio on Windows there
are separate generator options for the 32-bit and 64-bit builds so again
this is presented to the user via cmake-gui.

I'd really like to keep the cmake-gui as the sole interface for configuring
everything.  Is there no way to get find_package to use the current value
of the COMPILE_OPTIONS variable as modified inside the top level
CMakeLists.txt file based on options set by the user inside cmake-gui ?


On 25 June 2014 07:18, Rolf Eike Beer <[email protected]> wrote:

> Am Dienstag, 24. Juni 2014, 22:32:22 schrieb Glenn Coombs:
> > This seems to be the recommended way to link against the zlib library:
> >
> > find_package(ZLIB)if (ZLIB_FOUND)
> >     include_directories(${ZLIB_INCLUDE_DIRS})
> >     target_link_libraries(MyProg ${ZLIB_LIBRARIES})
> > endif()
> >
> > When I run this on linux I see that ZLIB_LIBRARIES has the value
> > /usr/lib64/libz.so.  On this machine gcc creates 64-bit binaries by
> > default.  In my CMakeLists.txt I have an option for building 32-bit which
> > adds "-m32" to the compiler and linker command lines.  However the
> > ZLIB_LIBRARIES variable is still returning the 64-bit version
> > (/usr/lib64/libz.so) instead of the 32-bit version (/usr/lib/libz.so).
>
> That means that CMake doesn't know that it is building a 32 bit executable,
> which is a bad idea for reasons you already discovered. Try CC="gcc -m32"
> cmake ... in a clean build tree.
>
> Eke
> --
>
> 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
>
-- 

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