Resync
[CMakeLuaTailorHgBridge.git] / CMakeLua / Source / QtDialog / CMakeLists.txt
blob82bb7dbad20d0a65d663c08d96e0928ebb5cab0c
1 PROJECT(QtDialog)
2 SET(QT_MIN_VERSION "4.3.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     MESSAGE(STATUS 
16       "WARNING: QtDialog requires a static built qt for installation.")
17   ENDIF(WIN32 AND NOT QT_CONFIG MATCHES "static")
18   SET(SRCS
19     AddCacheEntry.cxx
20     AddCacheEntry.h
21     CMakeSetup.cxx
22     CMakeSetupDialog.cxx
23     CMakeSetupDialog.h
24     FirstConfigure.cxx
25     FirstConfigure.h
26     QCMake.cxx
27     QCMake.h
28     QCMakeCacheView.cxx
29     QCMakeCacheView.h
30     QCMakeWidgets.cxx
31     QCMakeWidgets.h
32     QMacInstallDialog.cxx
33     QMacInstallDialog.h
34     )
35   QT4_WRAP_UI(UI_SRCS 
36     CMakeSetupDialog.ui
37     Compilers.ui
38     CrossCompiler.ui
39     AddCacheEntry.ui
40     MacInstallDialog.ui
41     )
42   QT4_WRAP_CPP(MOC_SRCS 
43     AddCacheEntry.h
44     Compilers.h
45     CMakeSetupDialog.h
46     FirstConfigure.h
47     QCMake.h
48     QCMakeCacheView.h
49     QCMakeWidgets.h
50     QMacInstallDialog.h
51     )
52   QT4_ADD_RESOURCES(RC_SRCS CMakeSetup.qrc)
54   SET(SRCS ${SRCS} ${UI_SRCS} ${MOC_SRCS} ${RC_SRCS})
55   IF(Q_WS_WIN)
56     SET(SRCS ${SRCS} CMakeSetup.rc)
57   ENDIF(Q_WS_WIN)
58   IF(Q_WS_MAC)
59     SET(SRCS ${SRCS} CMakeSetup.icns)
60     SET(MACOSX_BUNDLE_ICON_FILE CMakeSetup.icns)
61     SET_SOURCE_FILES_PROPERTIES(CMakeSetup.icns PROPERTIES
62       MACOSX_PACKAGE_LOCATION Resources)
63   ENDIF(Q_WS_MAC)
65   INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
66   INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
68   ADD_EXECUTABLE(cmake-gui WIN32 MACOSX_BUNDLE ${SRCS})
69   TARGET_LINK_LIBRARIES(cmake-gui CMakeLib ${QT_QTMAIN_LIBRARY} ${QT_LIBRARIES})
70   IF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
71     IF(APPLE)
72       SET_TARGET_PROPERTIES(cmake-gui PROPERTIES
73        OUTPUT_NAME ${CMAKE_BUNDLE_NAME})
74     ENDIF(APPLE)
75     SET(CMAKE_INSTALL_DESTINATION_ARGS 
76       BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}")
77   ELSE(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
78     # Since the built CMake will install itself instead of the
79     # generating CMake, tell it that the install rules were generated
80     # by CMake 2.4.
81     INSTALL(CODE "SET(CMAKE_INSTALL_SELF_2_4 1)")
82   ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
83   # if qt is not static and we are on windows then skip the install
84   # I don't want to distribute qt dlls
85   IF(CMAKE_PACKAGE_QTGUI)
86     INSTALL(TARGETS cmake-gui RUNTIME DESTINATION bin
87     ${CMAKE_INSTALL_DESTINATION_ARGS})
88   ENDIF(CMAKE_PACKAGE_QTGUI)
90   IF(UNIX)
91     # install a desktop file so CMake appears in the application start menu
92     # with an icon
93     INSTALL(FILES CMake.desktop DESTINATION share/applications )
94     INSTALL(FILES CMakeSetup.png DESTINATION share/pixmaps )
95     INSTALL(FILES cmakecache.xml DESTINATION share/mime/packages )
96   ENDIF(UNIX)
98   IF(APPLE)
99     SET(CMAKE_POSTFLIGHT_SCRIPT
100       "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
101     SET(CMAKE_POSTUPGRADE_SCRIPT
102       "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
103     configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postflight.sh.in"
104       "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
105     configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postupgrade.sh.in"
106       "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
107     INSTALL(CODE "execute_process(COMMAND ln -s \"../MacOS/${CMAKE_BUNDLE_NAME}\" cmake-gui
108                   WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)")
109     INSTALL(CODE "set(input_file
110        \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/${CMAKE_BUNDLE_NAME}\")")
111     INSTALL(SCRIPT "${CMake_SOURCE_DIR}/Source/QtDialog/CMakeIngestOSXBundleLibraries.cmake")
112   ENDIF(APPLE)
113   CONFIGURE_FILE("${QtDialog_SOURCE_DIR}/QtDialogCPack.cmake.in"
114     "${QtDialog_BINARY_DIR}/QtDialogCPack.cmake" @ONLY)    
115 ENDIF(NOT QT4_FOUND)