| #============================================================================= |
| # CMake - Cross Platform Makefile Generator |
| # Copyright 2000-2009 Kitware, Inc., Insight Software Consortium |
| # |
| # Distributed under the OSI-approved BSD License (the "License"); |
| # see accompanying file Copyright.txt for details. |
| # |
| # This software is distributed WITHOUT ANY WARRANTY; without even the |
| # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| # See the License for more information. |
| #============================================================================= |
| PROJECT(QtDialog) |
| SET(QT_MIN_VERSION "4.3.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) |
| MESSAGE(STATUS |
| "WARNING: QtDialog requires a static built qt for installation.") |
| ENDIF(WIN32 AND NOT QT_CONFIG MATCHES "static") |
| SET(SRCS |
| AddCacheEntry.cxx |
| AddCacheEntry.h |
| CMakeSetup.cxx |
| CMakeSetupDialog.cxx |
| CMakeSetupDialog.h |
| FirstConfigure.cxx |
| FirstConfigure.h |
| QCMake.cxx |
| QCMake.h |
| QCMakeCacheView.cxx |
| QCMakeCacheView.h |
| QCMakeWidgets.cxx |
| QCMakeWidgets.h |
| QMacInstallDialog.cxx |
| QMacInstallDialog.h |
| ) |
| QT4_WRAP_UI(UI_SRCS |
| CMakeSetupDialog.ui |
| Compilers.ui |
| CrossCompiler.ui |
| AddCacheEntry.ui |
| MacInstallDialog.ui |
| ) |
| QT4_WRAP_CPP(MOC_SRCS |
| AddCacheEntry.h |
| Compilers.h |
| CMakeSetupDialog.h |
| FirstConfigure.h |
| QCMake.h |
| QCMakeCacheView.h |
| QCMakeWidgets.h |
| QMacInstallDialog.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) |
| IF(APPLE) |
| SET_TARGET_PROPERTIES(cmake-gui PROPERTIES |
| OUTPUT_NAME ${CMAKE_BUNDLE_NAME}) |
| ENDIF(APPLE) |
| 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(UNIX) |
| # install a desktop file so CMake appears in the application start menu |
| # with an icon |
| INSTALL(FILES CMake.desktop DESTINATION share/applications ) |
| INSTALL(FILES CMakeSetup32.png DESTINATION share/pixmaps ) |
| INSTALL(FILES cmakecache.xml DESTINATION share/mime/packages ) |
| ENDIF(UNIX) |
| |
| IF(APPLE) |
| SET(CMAKE_POSTFLIGHT_SCRIPT |
| "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh") |
| SET(CMAKE_POSTUPGRADE_SCRIPT |
| "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh") |
| configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postflight.sh.in" |
| "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh") |
| configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postupgrade.sh.in" |
| "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh") |
| INSTALL(CODE "execute_process(COMMAND ln -s \"../MacOS/${CMAKE_BUNDLE_NAME}\" cmake-gui |
| WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)") |
| INSTALL(CODE "set(input_file |
| \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/${CMAKE_BUNDLE_NAME}\")") |
| INSTALL(SCRIPT "${CMake_SOURCE_DIR}/Source/QtDialog/CMakeIngestOSXBundleLibraries.cmake") |
| ENDIF(APPLE) |
| CONFIGURE_FILE("${QtDialog_SOURCE_DIR}/QtDialogCPack.cmake.in" |
| "${QtDialog_BINARY_DIR}/QtDialogCPack.cmake" @ONLY) |
| ENDIF(NOT QT4_FOUND) |
| |