~ubuntu-branches/ubuntu/wily/tora/wily-proposed

« back to all changes in this revision

Viewing changes to src/CMakeLists.txt

  • Committer: Bazaar Package Importer
  • Author(s): Michael Meskes
  • Date: 2009-11-19 15:18:19 UTC
  • mfrom: (1.2.9 upstream) (3.3.3 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091119151819-me89ezmxzkvl0lws
Tags: 2.1.1-1
New upstream version.

Show diffs side-by-side

added added

removed removed

Lines of Context:
458
458
  ${CMAKE_CURRENT_SOURCE_DIR}
459
459
  ${CMAKE_BINARY_DIR}
460
460
  ${QT_INCLUDES}
461
 
  ${ORACLE_INCLUDES}
462
461
  ${CMAKE_CURRENT_SOURCE_DIR}/loki/include
463
462
  ${CMAKE_CURRENT_SOURCE_DIR}/otl
464
463
)
465
464
 
 
465
IF (ORACLE_INCLUDES)
 
466
        INCLUDE_DIRECTORIES( ${ORACLE_INCLUDES} )
 
467
ENDIF (ORACLE_INCLUDES)
 
468
 
466
469
IF (POSTGRESQL_INCLUDE_DIR)
467
470
  INCLUDE_DIRECTORIES( ${POSTGRESQL_INCLUDE_DIR} )
468
471
ENDIF (POSTGRESQL_INCLUDE_DIR)
479
482
 
480
483
# Handle win/mac special stuff - it's left empty for linux/unix
481
484
SET (GUI_TYPE)
 
485
IF (APPLE AND WANT_BUNDLE)
 
486
    SET(GUI_TYPE MACOSX_BUNDLE)
 
487
    SET(APPLE_BUNDLE_SOURCES icons/tora.icns)
 
488
ENDIF (APPLE AND WANT_BUNDLE)
 
489
 
482
490
 
483
491
IF(WIN32)
484
492
    IF (MSVC)
486
494
        # WinMain wrapper from QT_QTMAIN_LIBRARY is used and liner must be modified
487
495
        LINK_LIBRARIES(${QT_QTMAIN_LIBRARY})
488
496
        SET (GUI_TYPE WIN32)
489
 
        IF (WANT_DEBUG)
490
 
                SET (CMAKE_EXE_LINKER_FLAGS "/NODEFAULTLIB:msvcrtd.lib ${CMAKE_EXE_LINKER_FLAGS}")
491
 
        ELSE (WANT_DEBUG)
 
497
        IF (WANT_DEBUG)
 
498
                SET (CMAKE_EXE_LINKER_FLAGS "/NODEFAULTLIB:msvcrtd.lib ${CMAKE_EXE_LINKER_FLAGS}")
 
499
        ELSE (WANT_DEBUG)
492
500
            SET (CMAKE_EXE_LINKER_FLAGS "/NODEFAULTLIB:msvcrt.lib ${CMAKE_EXE_LINKER_FLAGS}")
493
 
        ENDIF (WANT_DEBUG)
 
501
        ENDIF (WANT_DEBUG)
494
502
    ENDIF (MSVC)
495
503
ENDIF(WIN32)
496
504
 
497
 
IF (APPLE AND WANT_BUNDLE)
498
 
    SET(GUI_TYPE MACOSX_BUNDLE)
499
 
    SET(MACOSX_BUNDLE_ICON_FILE tora.icns)
500
 
    SET(APPLE_BUNDLE_SOURCES icons/tora.icns)
501
 
    SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/src/icons/tora.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
502
 
ENDIF (APPLE AND WANT_BUNDLE)
503
 
 
504
505
 
505
506
ADD_EXECUTABLE(${EXE_NAME} ${GUI_TYPE}
506
507
  ${TORA_I18N_QM}
515
516
# dynamic
516
517
TARGET_LINK_LIBRARIES(${EXE_NAME}
517
518
  ${QT_LIBRARIES}
518
 
  ${ORACLE_LIBRARIES}
519
519
  ${LIBXML2_LIBRARIES}
520
520
  ${QSCINTILLA_LIBRARIES}
521
521
)
522
522
 
 
523
IF (ORACLE_LIBRARIES)
 
524
        TARGET_LINK_LIBRARIES (${EXE_NAME} ${ORACLE_LIBRARIES} )
 
525
ENDIF (ORACLE_LIBRARIES)
 
526
 
523
527
IF (POSTGRESQL_LIBRARIES)
524
528
  TARGET_LINK_LIBRARIES (${EXE_NAME} ${POSTGRESQL_LIBRARIES})
525
529
ENDIF (POSTGRESQL_LIBRARIES)
532
536
# prevent opening the cmd.exe window
533
537
IF (WIN32)
534
538
    TARGET_LINK_LIBRARIES(${EXE_NAME} ${WINDOWS_LIB})
 
539
    # don't use console subsystem
 
540
    IF (MINGW)
 
541
        TARGET_LINK_LIBRARIES(${EXE_NAME} "-mwindows")
 
542
    ENDIF (MINGW)
535
543
ENDIF (WIN32)
536
544
 
537
545
 
541
549
    IF (NOT WANT_BUNDLE)
542
550
        INSTALL(TARGETS ${EXE_NAME} RUNTIME DESTINATION bin LIBRARY DESTINATION lib)
543
551
    ELSE (NOT WANT_BUNDLE)
 
552
 
 
553
      SET_TARGET_PROPERTIES(${EXE_NAME} PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_SOURCE_DIR}/osx_tools/Info.plist.in")
 
554
      SET(MACOSX_BUNDLE_ICON_FILE tora.icns)
 
555
      SET(MACOSX_BUNDLE_INFO_STRING "${EXE_NAME} ${VERSION}")
 
556
      SET(MACOSX_BUNDLE_GUI_IDENTIFIER "com.torasql")
 
557
      SET(MACOSX_BUNDLE_LONG_VERSION_STRING "${VERSION}")
 
558
      SET(MACOSX_BUNDLE_BUNDLE_NAME "${EXE_NAME}")
 
559
      SET(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VERSION}")
 
560
      SET(MACOSX_BUNDLE_BUNDLE_VERSION "${VERSION}")
 
561
      SET(MACOSX_BUNDLE_COPYRIGHT "(c) TOra developers")
 
562
      SET_SOURCE_FILES_PROPERTIES(${CMAKE_SOURCE_DIR}/src/icons/tora.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
 
563
 
 
564
        # Warning: This is dangerous to touch. Except you know what are you doing.
 
565
        #          I ususaly don't know anything about it. But it's working ;)
 
566
 
544
567
        INSTALL(TARGETS ${EXE_NAME} BUNDLE DESTINATION ${CMAKE_INSTALL_PREFIX})
 
568
 
 
569
      IF (WANT_BUNDLE_STANDALONE)
 
570
        # --- If we are on OS X copy all the embedded libraries to the app bundle
 
571
        # -------- Function to build OS X Stand Alone Bundles -----------------
 
572
        function(MakeOSXBundleApp target binary_dir)
 
573
            #-- Set some useful variables
 
574
            SET (OSX_MAKE_STANDALONE_BUNDLE_CMAKE_SCRIPT "${binary_dir}/${target}_OSX_MakeStandAloneBundle.cmake")
 
575
            SET (OSX_MAKE_STANDALONE_BUNDLE_BASH_SCRIPT "${binary_dir}/${target}_OSX_MakeStandAloneBundle.sh")
 
576
            #-- Configure the cmake file and the shell script
 
577
            CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/osx_tools/CompleteBundle.cmake.in"
 
578
                           "${OSX_MAKE_STANDALONE_BUNDLE_CMAKE_SCRIPT}" @ONLY IMMEDIATE)
 
579
            CONFIGURE_FILE("${CMAKE_SOURCE_DIR}/osx_tools/CreateBundle.sh.in"
 
580
                           "${OSX_MAKE_STANDALONE_BUNDLE_BASH_SCRIPT}" @ONLY IMMEDIATE)
 
581
            #-- Create the installation code
 
582
            install(SCRIPT "${OSX_MAKE_STANDALONE_BUNDLE_CMAKE_SCRIPT}")
 
583
        endfunction(MakeOSXBundleApp)
 
584
 
 
585
 
 
586
        install(DIRECTORY ${QT_PLUGINS_DIR}/
 
587
                DESTINATION ${PROJECT_BINARY_DIR}/Contents/Plugins/
 
588
                REGEX "(designer|script|phonon_backend|debug|sqlite|ico)" EXCLUDE)
 
589
 
 
590
        install(CODE "
 
591
            # glob for previously installed qt plugins to include in fixup_bundle
 
592
            file(GLOB_RECURSE PluginList
 
593
                 ${PROJECT_BINARY_DIR}/Contents/Plugins/*.bundle)
 
594
        ")
 
595
 
 
596
        MakeOSXBundleApp(${EXE_NAME} ${PROJECT_BINARY_DIR})
 
597
 
 
598
        # TODO/FIXME: this is evil! And it should be done automagically...
 
599
        set(hack_bundle_pth "${CMAKE_INSTALL_PREFIX}/${EXE_NAME}.app/Contents/MacOS")
 
600
        INSTALL(CODE "file(MAKE_DIRECTORY ${hack_bundle_pth}/sqldrivers)")
 
601
        INSTALL(CODE "file(MAKE_DIRECTORY ${hack_bundle_pth}/codecs)")
 
602
        INSTALL(CODE "file(MAKE_DIRECTORY ${hack_bundle_pth}/accessible)")
 
603
        INSTALL(CODE "file(MAKE_DIRECTORY ${hack_bundle_pth}/imageformats)")
 
604
        INSTALL(CODE "file(MAKE_DIRECTORY ${hack_bundle_pth}/graphicssystems)")
 
605
        function(hack_move_plugins filename targetdir)
 
606
            install(CODE "
 
607
                message(STATUS \"file:: ${filename} -> targetdir: ${targetdir} ${hack_bundle_pth}\")
 
608
            ")
 
609
            install(FILES ${hack_bundle_pth}/${filename} DESTINATION ${hack_bundle_pth}/${targetdir})
 
610
            install(CODE "file(REMOVE ${hack_bundle_pth}/${filename})")
 
611
        endfunction(hack_move_plugins)
 
612
        hack_move_plugins("libqcncodecs.bundle" "codecs")
 
613
        hack_move_plugins("libqjpcodecs.bundle" "codecs")
 
614
        hack_move_plugins("libqtwcodecs.bundle" "codecs")
 
615
        hack_move_plugins("libqkrcodecs.bundle" "codecs")
 
616
        hack_move_plugins("libqsqlmysql.bundle" "sqldrivers")
 
617
        hack_move_plugins("libqsqlodbc.bundle" "sqldrivers")
 
618
        hack_move_plugins("libqsqlpsql.bundle" "sqldrivers")
 
619
        hack_move_plugins("libqgif.bundle" "imageformats")
 
620
        hack_move_plugins("libqjpeg.bundle" "imageformats")
 
621
        hack_move_plugins("libqmng.bundle" "imageformats")
 
622
        hack_move_plugins("libqsvg.bundle" "imageformats")
 
623
        hack_move_plugins("libqtiff.bundle" "imageformats")
 
624
        hack_move_plugins("libqtaccessiblewidgets.bundle" "accessible")
 
625
        hack_move_plugins("libqtaccessiblecompatwidgets.bundle" "accessible")
 
626
        hack_move_plugins("libqglgraphicssystem.bundle" "graphicssystems")
 
627
        # end of hack
 
628
 
 
629
        #-- Put an empty qt.conf file in the bundle so as to NOT load plugins from the installed Qt.
 
630
        INSTALL(CODE "message(STATUS \"${CMAKE_INSTALL_PREFIX}/${EXE_NAME}.app/Contents/Resources/qt.conf\")")
 
631
        INSTALL(FILES "${CMAKE_SOURCE_DIR}/osx_tools/qt.conf.in"
 
632
                DESTINATION "${CMAKE_INSTALL_PREFIX}/${EXE_NAME}.app/Contents/Resources/"
 
633
                RENAME "qt.conf")
 
634
 
 
635
        if ("${QT_MAC_USE_COCOA}" STREQUAL "1")
 
636
            INSTALL(CODE "message(STATUS \"Copying qt_menu.nib into ${CMAKE_INSTALL_PREFIX}/${EXE_NAME}.app/Contents/Resources\")")
 
637
            INSTALL(CODE "file(MAKE_DIRECTORY \"${CMAKE_INSTALL_PREFIX}/${EXE_NAME}.app/Contents/Resources/qt_menu.nib\")")
 
638
            INSTALL(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory
 
639
                             \"${QT_LIBRARY_DIR}/QtGui.framework/Resources/qt_menu.nib\"
 
640
                             \"${CMAKE_INSTALL_PREFIX}/${EXE_NAME}.app/Contents/Resources/qt_menu.nib\")")
 
641
        endif()
 
642
      ENDIF (WANT_BUNDLE_STANDALONE)
 
643
 
545
644
    ENDIF (NOT WANT_BUNDLE)
546
645
ENDIF (WIN32)
547