If it helps, I always configure from a clean directory. This script
is written in bash for cygwin, but I'm sure it would be easy enough to
do from some other script:
CMAKE=/cygdrive/C/Program\ Files\ \(x86\)/CMake\ 2.8/bin/cmake.exe
mkdir win32
(cd win32; "$CMAKE" -G "Visual Studio 10" ..)
mkdir win64
(cd win64; "$CMAKE" -G "Visual Studio 10 Win64" ..)
where ".." is my top level directory containing a CMakelists.txt. I
have no problems then with:
IF (WIN32)
IF (${CMAKE_SIZEOF_VOID_P} MATCHES 4)
ELSE (${CMAKE_SIZEOF_VOID_P} MATCHES 4)
ENDIF (${CMAKE_SIZEOF_VOID_P} MATCHES 4)
ENDIF (WIN32)
in my files.
Juan
On Wed, Apr 20, 2011 at 9:24 AM, Michael Jackson
<[email protected]> wrote:
>
> On Apr 20, 2011, at 8:55 AM, David Cole wrote:
>
> >
> >
> > On Tue, Apr 19, 2011 at 5:44 PM, James Bigler <[email protected]> wrote:
> > On Tue, Apr 12, 2011 at 2:24 PM, Bill Hoffman <[email protected]>
> > wrote:
> > On 4/12/2011 4:13 PM, David Cole wrote:
> >
> > Does somebody have reproducible steps to get to the point where
> > CMAKE_SIZEOF_VOID_P disappears??
> >
> > I've never seen that...
> >
> > How many times do you have to re-configure before you start seeing this
> > behavior? That sounds like something is just really wrong somewhere, and
> > it would be a good thing to track down exactly what that is.
> >
> > This variable is stored in this file:
> >
> > CMakeFiles/CMakeCCompiler.cmake
> >
> > It should not go away.
> >
> > -Bill
> >
> >
> >
> > I just had this happen to one of my colleagues with a fresh build
> > directory. When I looked into CMakeCCompiler.cmake this is what I found:
> >
> > # Save compiler ABI information.
> > SET(CMAKE_C_SIZEOF_DATA_PTR "")
> > SET(CMAKE_C_COMPILER_ABI "")
> >
> > IF(CMAKE_C_SIZEOF_DATA_PTR)
> > SET(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
> > ENDIF(CMAKE_C_SIZEOF_DATA_PTR)
> >
> > For whatever reason CMAKE_C_SIZEOF_DATA_PTR is empty.
> >
> > What could cause this to happen? Is there perhaps a race condition or some
> > other failure when CMake detects this value?
> >
> > James
> >
> >
> > If it is a race condition that simply occurs "sometimes, sproadically" then
> > we should be able to reproduce this by writing a script that tries to
> > configure a project over and over again into a clean directory.
> >
> > But I'm not convinced it's as simple as that. There must be something
> > happening (or some condition on certain machines/platforms/compilers) that
> > triggers it... otherwise, we'd see this on the CMake dashboard results
> > sometimes, wouldn't we?
> >
> > What compiler/generator are you using in this instance?
> > Does it repeat with a fresh build directory on this project in this
> > environment? Or does it go away with a new fresh build?
> >
> > Is the project that demonstrates this behavior public? (Can I try it
> > here...?)
> >
> > Thanks,
> > David
> >
> I have a small project (http://scm.bluequartz.net/eim/emmpm) that I can
> reproduce on. If you do a checkout you will need to do a git clone
> --recursive due to the use of git submodules. It also depends on libTiff.
> This is what I do to reproduce the issue.
>
> On Windows 7 x64 (Ultimate in my case) running from a MSVC Command Prompt x64
> I invoke cmake-gui.exe and configure the project for Visual Studio 9 2008
> x64. Configure and then generate. Close CMake-GUi.exe. Out in Windows
> explorer navigate to the build directory and delete EVERYTHING except
> CMakeCache.txt. I then run cmake.exe from the build directory from the same
> command prompt as I invoked cmake-gui.exe from. I now get the following error:
>
>
> -- Generating Copy Rule for Debug DLL Library C:/Developer/x64/tiff/bin/tif
> -- Generating Copy Rule for Release DLL Library C:/Developer/x64/tiff/bin/t
> -- Generating Install Rule for DLL Library C:/Developer/x64/tiff/bin/tiffdl
> -- Generating Install Rule for DLL Library C:/Developer/x64/tiff/bin/tiffdl
> -- CMAKE_SIZEOF_VOID_P:
> CMake Warning at Resources/CPack/PackageProject.cmake:53 (if):
> given arguments:
>
> "EQUAL" "8"
>
> Unknown arguments specified
> Call Stack (most recent call first):
> CMakeLists.txt:149 (include)
>
>
> -- Configuring done
> -- Generating done
> -- Build files have been written to: C:/Users/mjackson/Workspace/emmpm/x64
>
> And here is the cmake code that causes the issues:
>
> if ( ${CMAKE_SIZEOF_VOID_P} EQUAL 8)
> set(CPACK_PACKAGE_FILE_NAME
> "${PROJECT_NAME}-${${CMP_PROJECT_NAME}_VERSION}-Win64")
> else()
> set(CPACK_PACKAGE_FILE_NAME
> "${PROJECT_NAME}-${${CMP_PROJECT_NAME}_VERSION}-Win32")
> endif()
>
> Hope that helps
> ___________________________________________________________
> Mike Jackson www.bluequartz.net
> Principal Software Engineer [email protected]
> BlueQuartz Software Dayton, Ohio
> _______________________________________________
> 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