summaryrefslogtreecommitdiffstats
path: root/Source/QtDialog/CMakeLists.txt
blob: 726f42ebdbeb9c7af601354691473c659a0056f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
PROJECT(QtDialog)
SET(QT_MIN_VERSION "4.2.0")
FIND_PACKAGE(Qt4 REQUIRED)

IF(NOT QT4_FOUND)
  MESSAGE(SEND_ERROR "Failed to find Qt 4.3 or greater.")
ELSE(NOT QT4_FOUND)

  INCLUDE(${QT_USE_FILE})
  SET(CMAKE_PACKAGE_QTGUI TRUE)
  # i don't want to install or package the qt gui on windows 
  # unless qt is static
  IF(WIN32 AND NOT QT_CONFIG MATCHES "static")
    SET(CMAKE_PACKAGE_QTGUI FALSE)
  ENDIF(WIN32 AND NOT QT_CONFIG MATCHES "static")
  CONFIGURE_FILE("${QtDialog_SOURCE_DIR}/QtDialogCPack.cmake.in"
    "${QtDialog_BINARY_DIR}/QtDialogCPack.cmake" @ONLY)    
  SET(SRCS
    AddCacheEntry.cxx
    AddCacheEntry.h
    CMakeSetup.cxx
    CMakeSetupDialog.cxx
    CMakeSetupDialog.h
    QCMake.cxx
    QCMake.h
    QCMakeCacheView.cxx
    QCMakeCacheView.h
    )
  QT4_WRAP_UI(UI_SRCS 
    CMakeSetupDialog.ui
    AddCacheEntry.ui
    )
  QT4_WRAP_CPP(MOC_SRCS 
    AddCacheEntry.h
    CMakeSetupDialog.h
    QCMake.h
    QCMakeCacheView.h
    )
  QT4_ADD_RESOURCES(RC_SRCS CMakeSetup.qrc)

  SET(SRCS ${SRCS} ${UI_SRCS} ${MOC_SRCS} ${RC_SRCS})
  IF(Q_WS_WIN)
    SET(SRCS ${SRCS} CMakeSetup.rc)
  ENDIF(Q_WS_WIN)
  IF(Q_WS_MAC)
    SET(SRCS ${SRCS} CMakeSetup.icns)
    SET(MACOSX_BUNDLE_ICON_FILE CMakeSetup.icns)
    SET_SOURCE_FILES_PROPERTIES(CMakeSetup.icns PROPERTIES
      MACOSX_PACKAGE_LOCATION Resources)
  ENDIF(Q_WS_MAC)

  INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
  INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})

  ADD_EXECUTABLE(cmake-gui WIN32 MACOSX_BUNDLE ${SRCS})
  TARGET_LINK_LIBRARIES(cmake-gui CMakeLib ${QT_QTMAIN_LIBRARY} ${QT_LIBRARIES})
  IF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
    SET(CMAKE_INSTALL_DESTINATION_ARGS 
      BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}")
  ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
  # if qt is not static and we are on windows then skip the install
  # I don't want to distribute qt dlls
  IF(CMAKE_PACKAGE_QTGUI)
    INSTALL(TARGETS cmake-gui RUNTIME DESTINATION bin
    ${CMAKE_INSTALL_DESTINATION_ARGS})
  ENDIF(CMAKE_PACKAGE_QTGUI)
  IF(APPLE)
    INSTALL(CODE "set(input_file 
       \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/cmake-gui\")")
    INSTALL(SCRIPT "${CMake_SOURCE_DIR}/Source/QtDialog/CMakeIngestOSXBundleLibraries.cmake")
  ENDIF(APPLE)
ENDIF(NOT QT4_FOUND)