Resync
[CMakeLuaTailorHgBridge.git] / CMakeLua / Source / QtDialog / CMakeLists.txt
blobde13a7e73f2a6ee74e9e4e027b939426a7bc3b8e
1 PROJECT(QtDialog)
2 SET(QT_MIN_VERSION "4.2.0")
3 FIND_PACKAGE(Qt4 REQUIRED)
5 IF(NOT QT4_FOUND)
6   MESSAGE(SEND_ERROR "Failed to find Qt 4.3 or greater.")
7 ELSE(NOT QT4_FOUND)
9   INCLUDE(${QT_USE_FILE})
10   SET(CMAKE_PACKAGE_QTGUI TRUE)
11   # i don't want to install or package the qt gui on windows 
12   # unless qt is static
13   IF(WIN32 AND NOT QT_CONFIG MATCHES "static")
14     SET(CMAKE_PACKAGE_QTGUI FALSE)
15   ENDIF(WIN32 AND NOT QT_CONFIG MATCHES "static")
16   SET(SRCS
17     AddCacheEntry.cxx
18     AddCacheEntry.h
19     CMakeSetup.cxx
20     CMakeSetupDialog.cxx
21     CMakeSetupDialog.h
22     QCMake.cxx
23     QCMake.h
24     QCMakeCacheView.cxx
25     QCMakeCacheView.h
26     QMacInstallDialog.cxx
27     QMacInstallDialog.h
28     )
29   QT4_WRAP_UI(UI_SRCS 
30     CMakeSetupDialog.ui
31     AddCacheEntry.ui
32     MacInstallDialog.ui
33     )
34   QT4_WRAP_CPP(MOC_SRCS 
35     AddCacheEntry.h
36     CMakeSetupDialog.h
37     QCMake.h
38     QCMakeCacheView.h
39     QMacInstallDialog.h
40     )
41   QT4_ADD_RESOURCES(RC_SRCS CMakeSetup.qrc)
43   SET(SRCS ${SRCS} ${UI_SRCS} ${MOC_SRCS} ${RC_SRCS})
44   IF(Q_WS_WIN)
45     SET(SRCS ${SRCS} CMakeSetup.rc)
46   ENDIF(Q_WS_WIN)
47   IF(Q_WS_MAC)
48     SET(SRCS ${SRCS} CMakeSetup.icns)
49     SET(MACOSX_BUNDLE_ICON_FILE CMakeSetup.icns)
50     SET_SOURCE_FILES_PROPERTIES(CMakeSetup.icns PROPERTIES
51       MACOSX_PACKAGE_LOCATION Resources)
52   ENDIF(Q_WS_MAC)
54   INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
55   INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
57   ADD_EXECUTABLE(cmake-gui WIN32 MACOSX_BUNDLE ${SRCS})
58   IF(APPLE)
59     SET_TARGET_PROPERTIES(cmake-gui PROPERTIES
60      OUTPUT_NAME ${CMAKE_BUNDLE_NAME})
61   ENDIF(APPLE)
62   TARGET_LINK_LIBRARIES(cmake-gui CMakeLib ${QT_QTMAIN_LIBRARY} ${QT_LIBRARIES})
63   IF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
64     SET(CMAKE_INSTALL_DESTINATION_ARGS 
65       BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}")
66   ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
67   # if qt is not static and we are on windows then skip the install
68   # I don't want to distribute qt dlls
69   IF(CMAKE_PACKAGE_QTGUI)
70     INSTALL(TARGETS cmake-gui RUNTIME DESTINATION bin
71     ${CMAKE_INSTALL_DESTINATION_ARGS})
72   ENDIF(CMAKE_PACKAGE_QTGUI)
74   IF(UNIX)
75     # install a desktop file so CMake appears in the application start menu
76     # with an icon
77     INSTALL(FILES CMake.desktop DESTINATION share/applications )
78     INSTALL(FILES CMakeSetup.png DESTINATION share/pixmaps )
79     INSTALL(FILES cmakecache.xml DESTINATION share/mime/packages )
80   ENDIF(UNIX)
82   IF(APPLE)
83     SET(CMAKE_POSTFLIGHT_SCRIPT
84       "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
85     SET(CMAKE_POSTUPGRADE_SCRIPT
86       "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
87     configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postflight.sh.in"
88       "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
89     configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postupgrade.sh.in"
90       "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
91     INSTALL(CODE "execute_process(COMMAND ln -s \"../MacOS/${CMAKE_BUNDLE_NAME}\" cmake-gui
92                   WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)")
93     INSTALL(CODE "set(input_file
94        \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/${CMAKE_BUNDLE_NAME}\")")
95     INSTALL(SCRIPT "${CMake_SOURCE_DIR}/Source/QtDialog/CMakeIngestOSXBundleLibraries.cmake")
96   ENDIF(APPLE)
97   CONFIGURE_FILE("${QtDialog_SOURCE_DIR}/QtDialogCPack.cmake.in"
98     "${QtDialog_BINARY_DIR}/QtDialogCPack.cmake" @ONLY)    
99 ENDIF(NOT QT4_FOUND)