2 SET(QT_MIN_VERSION "4.3.0")
3 FIND_PACKAGE(Qt4 REQUIRED)
6 MESSAGE(SEND_ERROR "Failed to find Qt 4.3 or greater.")
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
13 IF(WIN32 AND NOT QT_CONFIG MATCHES "static")
14 SET(CMAKE_PACKAGE_QTGUI FALSE)
16 "WARNING: QtDialog requires a static built qt for installation.")
17 ENDIF(WIN32 AND NOT QT_CONFIG MATCHES "static")
52 QT4_ADD_RESOURCES(RC_SRCS CMakeSetup.qrc)
54 SET(SRCS ${SRCS} ${UI_SRCS} ${MOC_SRCS} ${RC_SRCS})
56 SET(SRCS ${SRCS} CMakeSetup.rc)
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)
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)
72 SET_TARGET_PROPERTIES(cmake-gui PROPERTIES
73 OUTPUT_NAME ${CMAKE_BUNDLE_NAME})
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
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)
91 # install a desktop file so CMake appears in the application start menu
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 )
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")
113 CONFIGURE_FILE("${QtDialog_SOURCE_DIR}/QtDialogCPack.cmake.in"
114 "${QtDialog_BINARY_DIR}/QtDialogCPack.cmake" @ONLY)