<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'><div> Hi guys.<br></div><div><br></div><div>Thx for your help.&nbsp;</div><div><br></div><div><br></div><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div>CFLAGS will need to specify -m32 to tell the compiler to use the 32 bit memory model.</div></blockquote> <div><br></div><div>Well, we thought we had that, but I guess its we are mis-using it. Our CMakeLists.txt has a -m32 in an add_definition() command.&nbsp;<br></div><div><br></div><div><br><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div>add_definitions(-fno-caller-saves -D_GNU_SOURCE -DUSE_GLOBAL_STRUCT=0 -msse2 -DCOGMTVM=0 -fno-tree-pre -DDEBUGVM=0 -DNDEBUG -O1 -m32 -D_FILE_OFFSET_BITS=64 -DLSB_FIRST=1 -g3)</div></blockquote> <br>However at the CHECK_TYPE_SIZE tests, they where kaputen:</div><div><br><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div>CMAKE_C_FLAGS=<br>CMAKE_C_FLAGS_RELEASE=-O3 -DNDEBUG<br>CMAKE_C_FLAGS_DEBUG=-g<br>CMAKE_CXX_FLAGS_RELEASE=-O3 -DNDEBUG<br>CMAKE_CXX_FLAGS_DEBUG=-g<br></div><div><br></div><div><br></div></blockquote>So, just before the CHECK_TYPE_SIZE, I explicitly set them:&nbsp;<br><br><br><br><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div>&nbsp;<br>set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -m32")<br>set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -m32")<br>set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall -m32")<br>set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wall -m32")<br>set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -m32")<br>set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wall -m32")</div></blockquote></div><div>And the CHECK_TYPE_SIZE() command correctly set the sizes. That is pretty amazing stuff.</div><div><br></div><div><br></div><div>That brings up a nasty point about the existing CMakeVMMaker(Squeak). It is my opinion that we are not leveraging CMake the way it needs to be leveraged (I will fix that) . Also as that add_definitions() shows, it looks like we are mis-using some commands.</div><div><br></div><div>I will be cleaning that up, but CMake is a pretty big subsystem, so I expect some hiccups.&nbsp;</div><div><br></div><div>We are semi-close to mimicing what Ian did. The pseudo-code for his process is:</div><div><br></div><div>   <br><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div>1. set up global variables from command line parameters etc<br><strong>2. set up configure script config.in<br>3. configure plugins<br>4. build.cmake (does stuff and writes config.h)</strong><br>5. build plugins<br>6. install stuff</div></blockquote>I am on 2,3.4 in bold.</div><div><br>Presently, all of the configuration state is maintained in the CPltoformConfig subclasses. My task is to peel that out and leverage the CMake tools without breaking the existing code flow.</div><div><br></div><div>Finally, CMake has oodles of configuration&nbsp; tools to leverage. If you look in /usr/share/cmake-2.8/Modules there are a wealth of configuration tools (printed below to give you a sense of their scope) .<br></div><div><br></div><div><br></div><div>thx again for your help.</div><div><br></div><div>cheers.</div><div><br></div><div>tty</div><br><blockquote style="border-top-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-top-style: solid; border-left-style: solid; border-right-style: solid; border-bottom-style: solid; padding-top: 7px; padding-right: 7px; padding-bottom: 7px; padding-left: 7px; background-color: rgb(245, 245, 245);"><div><div>FindALSA.cmake<br>FindASPELL.cmake<br>FindAVIFile.cmake<br>FindArmadillo.cmake<br>FindBISON.cmake<br>FindBLAS.cmake<br>FindBZip2.cmake<br>FindBoost.cmake<br>FindBullet.cmake<br>FindCABLE.cmake<br>FindCUDA.cmake<br>FindCURL.cmake<br>FindCVS.cmake<br>FindCoin3D.cmake<br>FindCups.cmake<br>FindCurses.cmake<br>FindCxxTest.cmake<br>FindCygwin.cmake<br>FindDCMTK.cmake<br>FindDart.cmake<br>FindDevIL.cmake<br>FindDoxygen.cmake<br>FindEXPAT.cmake<br>FindFLEX.cmake<br>FindFLTK.cmake<br>FindFLTK2.cmake<br>FindFreetype.cmake<br>FindGCCXML.cmake<br>FindGDAL.cmake<br>FindGIF.cmake<br>FindGLEW.cmake<br>FindGLU.cmake<br>FindGLUT.cmake<br>FindGTK.cmake<br>FindGTK2.cmake<br>FindGTest.cmake<br>FindGettext.cmake<br>FindGit.cmake<br>FindGnuTLS.cmake<br>FindGnuplot.cmake<br>FindHDF5.cmake<br>FindHSPELL.cmake<br>FindHTMLHelp.cmake<br>FindHg.cmake<br>FindITK.cmake<br>FindIcotool.cmake<br>FindImageMagick.cmake<br>FindJNI.cmake<br>FindJPEG.cmake<br>FindJasper.cmake<br>FindJava.cmake<br>FindKDE3.cmake<br>FindKDE4.cmake<br>FindLAPACK.cmake<br>FindLATEX.cmake<br>FindLibArchive.cmake<br>FindLibLZMA.cmake<br>FindLibXml2.cmake<br>FindLibXslt.cmake<br>FindLua50.cmake<br>FindLua51.cmake<br>FindMFC.cmake<br>FindMPEG.cmake<br>FindMPEG2.cmake<br>FindMPI.cmake<br>FindMatlab.cmake<br>FindMotif.cmake<br>FindOpenAL.cmake<br>FindOpenGL.cmake<br>FindOpenMP.cmake<br>FindOpenSSL.cmake<br>FindOpenSceneGraph.cmake<br>FindOpenThreads.cmake<br>FindPHP4.cmake<br>FindPNG.cmake<br>FindPackageHandleStandardArgs.cmake<br>FindPackageMessage.cmake<br>FindPerl.cmake<br>FindPerlLibs.cmake<br>FindPhysFS.cmak</div><div>FindMPEG.cmake<br>FindMPEG2.cmake<br>FindMPI.cmake<br>FindMatlab.cmake<br>FindMotif.cmake<br>FindOpenAL.cmake<br>FindOpenGL.cmake<br>FindOpenMP.cmake<br>FindOpenSSL.cmake<br>FindOpenSceneGraph.cmake<br>FindOpenThreads.cmake<br>FindPHP4.cmake<br>FindPNG.cmake<br>FindPackageHandleStandardArgs.cmake<br>FindPackageMessage.cmake<br>FindPerl.cmake<br>FindPerlLibs.cmake<br>FindPhysFS.cmake<br>FindPike.cmake<br>FindPkgConfig.cmake<br>FindPostgreSQL.cmake<br>FindProducer.cmake<br>FindProtobuf.cmake<br>FindPythonInterp.cmake<br>FindPythonLibs.cmake<br>FindQt.cmake<br>FindQt3.cmake<br>FindQt4.cmake<br>FindQuickTime.cmake<br>FindRTI.cmake<br>FindRuby.cmake<br>FindSDL.cmake<br>FindSDL_image.cmake<br>FindSDL_mixer.cmake<br>FindSDL_net.cmake<br>FindSDL_sound.cmake<br>FindSDL_ttf.cmake<br>FindSWIG.cmake<br>FindSelfPackers.cmake<br>FindSquish.cmake<br>FindSubversion.cmake<br>FindTCL.cmake<br>FindTIFF.cmake<br>FindTclStub.cmake<br>FindTclsh.cmake<br>FindThreads.cmake<br>FindUnixCommands.cmake<br>FindVTK.cmake<br>FindWget.cmake<br>FindWish.cmake<br>FindX11.cmake<br>FindXMLRPC.cmake<br>FindZLIB.cmake<br>Findosg.cmake<br>FindosgAnimation.cmake<br>FindosgDB.cmake<br>FindosgFX.cmake<br>FindosgGA.cmake<br>FindosgIntrospection.cmake<br>FindosgManipulator.cmake<br>FindosgParticle.cmake<br>FindosgPresentation.cmake<br>FindosgProducer.cmake<br>FindosgQt.cmake<br>FindosgShadow.cmake<br>FindosgSim.cmake<br>FindosgTerrain.cmake<br>FindosgText.cmake<br>FindosgUtil.cmake<br>FindosgViewer.cmake<br>FindosgVolume.cmake<br>FindosgWidget.cmake<br>Findosg_functions.cmake<br>FindwxWidgets.cmake<br>FindwxWindows.cmake<br></div></div></blockquote> <br><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br><br></div></div></body></html>