Resync.
[CMakeLuaTailorHgBridge.git] / CMakeLua / Source / QtDialog / CMakeLists.txt
blob2e61c296fffe39d73bc4a382c5af6d6313cec34a
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   TARGET_LINK_LIBRARIES(cmake-gui CMakeLib ${QT_QTMAIN_LIBRARY} ${QT_LIBRARIES})
59   IF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
60     SET(CMAKE_INSTALL_DESTINATION_ARGS 
61       BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}")
62   ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
63   # if qt is not static and we are on windows then skip the install
64   # I don't want to distribute qt dlls
65   IF(CMAKE_PACKAGE_QTGUI)
66     INSTALL(TARGETS cmake-gui RUNTIME DESTINATION bin
67     ${CMAKE_INSTALL_DESTINATION_ARGS})
68   ENDIF(CMAKE_PACKAGE_QTGUI)
70   IF(UNIX)
71     # install a desktop file so CMake appears in the application start menu
72     # with an icon
73     INSTALL(FILES CMake.desktop DESTINATION share/applications )
74     INSTALL(FILES CMakeSetup.png DESTINATION share/pixmaps )
75     INSTALL(FILES cmakecache.xml DESTINATION share/mime/packages )
76   ENDIF(UNIX)
78   IF(APPLE)
79     SET(CMAKE_POSTFLIGHT_SCRIPT
80       "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
81     SET(CMAKE_POSTUPGRADE_SCRIPT
82       "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
83     configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postflight.sh.in"
84       "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
85     configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postupgrade.sh.in"
86       "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
87     INSTALL(CODE "set(input_file 
88        \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/cmake-gui\")")
89     INSTALL(SCRIPT "${CMake_SOURCE_DIR}/Source/QtDialog/CMakeIngestOSXBundleLibraries.cmake")
90   ENDIF(APPLE)
91   CONFIGURE_FILE("${QtDialog_SOURCE_DIR}/QtDialogCPack.cmake.in"
92     "${QtDialog_BINARY_DIR}/QtDialogCPack.cmake" @ONLY)    
93 ENDIF(NOT QT4_FOUND)