#110 cmake for unix

closed-accepted
Laszlo Toth
5
2008-10-04
2008-08-31
Jérôme Gardou
No

This patch adds support for the cmake build system on unix.

Tested on ubuntu 64 bits system.
Other tests are welcomed :)

Discussion

  • the patch itself

     
    Attachments
  • Laszlo Toth
    Laszlo Toth
    2008-09-01

    • assigned_to: nobody --> avenger_teambg
    • labels: --> Engine Source
    • status: open --> pending-accepted
     
  • Laszlo Toth
    Laszlo Toth
    2008-09-01

    Logged In: YES
    user_id=885460
    Originator: NO

    Applied the patch (without testing with Cmake)

     
    • status: pending-accepted --> closed-accepted
     
  • This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).

     
  • This one adds a file I forgot in the previous one and checks for forbidden object to function cast.

     
  •  
    Attachments
    • status: closed-accepted --> open-accepted
     
  • Jaka Kranjc
    Jaka Kranjc
    2008-09-27

    I notice:
    -- Performing Test ,PERMITS_OBJECT_TO_FUNCTION_CAST - Failed
    Besides the typo, is this expected to fail for gcc?

    the build fails compiling at the very first target. But it does even without the patch. Wierd, I think it worked once before.

     
  • Yes this is expected to fail on newer gcc.
    At least, the autotools build system defines HAVE_FORBIDDEN_OBJECT_TO_FUNCTION_CAST.

     
  • By the way, I tried to compile gemrb_core as a static library and the other plugins as module which do not depend on it, but I get some undefined symbol on this way. I tried to use -Wl-E at linking stage for gemrb_core, but cmake doesn't appear to pass it...

     
  • Jaka Kranjc
    Jaka Kranjc
    2008-09-27

    I applied the patch and made the *.in tracked.

     
  •  
    Attachments
  • This one avoids the mess with LD_LIBRARY_PATH.
    It also silence some warnings on windows.
    Sadly, gemrb_core has to be built twice, once static, once shared.

    Tests are really appreciated here, since this is the most complete set I made.
    File Added: cmake_patch3.txt

     
  •  
    Attachments
  • here is a new one.
    Gemrb_core is not compiled twice, but I have to use rpath to make the gemrb executable find gemrb_core.
    Now gemrb_core is put in the plugins directory, and the executable is rpathed to this directory.
    File Added: cmake_patch4.txt

     
  • Jaka Kranjc
    Jaka Kranjc
    2008-10-04

    applied. Thanks again. :)

     
  • Jaka Kranjc
    Jaka Kranjc
    2008-10-04

    • status: open-accepted --> closed-accepted