2009-10-02 01:21:28 +04:00
|
|
|
#=============================================================================
|
|
|
|
# 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.
|
|
|
|
#=============================================================================
|
2008-02-09 17:53:52 +03:00
|
|
|
PROJECT(QtDialog)
|
2008-05-16 03:21:01 +04:00
|
|
|
SET(QT_MIN_VERSION "4.3.0")
|
2007-11-02 18:50:17 +03:00
|
|
|
FIND_PACKAGE(Qt4 REQUIRED)
|
|
|
|
|
|
|
|
IF(NOT QT4_FOUND)
|
2007-11-02 21:12:54 +03:00
|
|
|
MESSAGE(SEND_ERROR "Failed to find Qt 4.3 or greater.")
|
2007-11-02 18:50:17 +03:00
|
|
|
ELSE(NOT QT4_FOUND)
|
2007-11-02 21:12:54 +03:00
|
|
|
|
2007-11-02 18:50:17 +03:00
|
|
|
INCLUDE(${QT_USE_FILE})
|
2008-02-09 17:53:52 +03:00
|
|
|
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)
|
2009-02-14 00:28:10 +03:00
|
|
|
MESSAGE(STATUS
|
|
|
|
"WARNING: QtDialog requires a static built qt for installation.")
|
2008-02-09 17:53:52 +03:00
|
|
|
ENDIF(WIN32 AND NOT QT_CONFIG MATCHES "static")
|
2007-11-02 18:50:17 +03:00
|
|
|
SET(SRCS
|
2007-11-13 07:54:49 +03:00
|
|
|
AddCacheEntry.cxx
|
|
|
|
AddCacheEntry.h
|
2007-11-02 18:50:17 +03:00
|
|
|
CMakeSetup.cxx
|
|
|
|
CMakeSetupDialog.cxx
|
2007-11-02 21:12:54 +03:00
|
|
|
CMakeSetupDialog.h
|
2008-12-16 23:00:17 +03:00
|
|
|
FirstConfigure.cxx
|
|
|
|
FirstConfigure.h
|
2007-11-02 18:50:17 +03:00
|
|
|
QCMake.cxx
|
2007-11-02 21:12:54 +03:00
|
|
|
QCMake.h
|
2007-11-02 18:50:17 +03:00
|
|
|
QCMakeCacheView.cxx
|
2007-11-02 21:12:54 +03:00
|
|
|
QCMakeCacheView.h
|
2008-05-16 03:21:01 +04:00
|
|
|
QCMakeWidgets.cxx
|
|
|
|
QCMakeWidgets.h
|
2008-02-19 22:06:10 +03:00
|
|
|
QMacInstallDialog.cxx
|
|
|
|
QMacInstallDialog.h
|
2007-11-02 18:50:17 +03:00
|
|
|
)
|
|
|
|
QT4_WRAP_UI(UI_SRCS
|
|
|
|
CMakeSetupDialog.ui
|
2008-12-16 23:00:17 +03:00
|
|
|
Compilers.ui
|
|
|
|
CrossCompiler.ui
|
2007-11-13 07:54:49 +03:00
|
|
|
AddCacheEntry.ui
|
2008-02-19 22:06:10 +03:00
|
|
|
MacInstallDialog.ui
|
2007-11-02 18:50:17 +03:00
|
|
|
)
|
|
|
|
QT4_WRAP_CPP(MOC_SRCS
|
2007-11-13 07:54:49 +03:00
|
|
|
AddCacheEntry.h
|
2008-12-16 23:00:17 +03:00
|
|
|
Compilers.h
|
2007-11-02 18:50:17 +03:00
|
|
|
CMakeSetupDialog.h
|
2008-12-16 23:00:17 +03:00
|
|
|
FirstConfigure.h
|
2007-11-02 18:50:17 +03:00
|
|
|
QCMake.h
|
|
|
|
QCMakeCacheView.h
|
2008-05-16 03:21:01 +04:00
|
|
|
QCMakeWidgets.h
|
2008-02-19 22:06:10 +03:00
|
|
|
QMacInstallDialog.h
|
2007-11-02 18:50:17 +03:00
|
|
|
)
|
|
|
|
QT4_ADD_RESOURCES(RC_SRCS CMakeSetup.qrc)
|
|
|
|
|
|
|
|
SET(SRCS ${SRCS} ${UI_SRCS} ${MOC_SRCS} ${RC_SRCS})
|
2007-11-07 07:00:23 +03:00
|
|
|
IF(Q_WS_WIN)
|
2007-11-03 17:30:52 +03:00
|
|
|
SET(SRCS ${SRCS} CMakeSetup.rc)
|
2007-11-07 07:00:23 +03:00
|
|
|
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)
|
2007-11-02 18:50:17 +03:00
|
|
|
|
|
|
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
|
|
|
|
|
2008-02-06 17:17:03 +03:00
|
|
|
ADD_EXECUTABLE(cmake-gui WIN32 MACOSX_BUNDLE ${SRCS})
|
|
|
|
TARGET_LINK_LIBRARIES(cmake-gui CMakeLib ${QT_QTMAIN_LIBRARY} ${QT_LIBRARIES})
|
2008-02-16 21:05:03 +03:00
|
|
|
IF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
|
2008-04-08 19:30:47 +04:00
|
|
|
IF(APPLE)
|
|
|
|
SET_TARGET_PROPERTIES(cmake-gui PROPERTIES
|
|
|
|
OUTPUT_NAME ${CMAKE_BUNDLE_NAME})
|
|
|
|
ENDIF(APPLE)
|
2008-02-16 21:05:03 +03:00
|
|
|
SET(CMAKE_INSTALL_DESTINATION_ARGS
|
|
|
|
BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}")
|
|
|
|
ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
|
2008-02-07 19:43:20 +03:00
|
|
|
# if qt is not static and we are on windows then skip the install
|
|
|
|
# I don't want to distribute qt dlls
|
2008-02-09 17:53:52 +03:00
|
|
|
IF(CMAKE_PACKAGE_QTGUI)
|
2008-02-16 21:05:03 +03:00
|
|
|
INSTALL(TARGETS cmake-gui RUNTIME DESTINATION bin
|
|
|
|
${CMAKE_INSTALL_DESTINATION_ARGS})
|
2008-02-09 17:53:52 +03:00
|
|
|
ENDIF(CMAKE_PACKAGE_QTGUI)
|
2008-03-12 00:27:41 +03:00
|
|
|
|
|
|
|
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 CMakeSetup.png DESTINATION share/pixmaps )
|
|
|
|
INSTALL(FILES cmakecache.xml DESTINATION share/mime/packages )
|
|
|
|
ENDIF(UNIX)
|
|
|
|
|
2008-02-18 18:26:28 +03:00
|
|
|
IF(APPLE)
|
2008-02-19 22:26:20 +03:00
|
|
|
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")
|
2008-04-05 00:02:50 +04:00
|
|
|
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}\")")
|
2008-02-18 18:26:28 +03:00
|
|
|
INSTALL(SCRIPT "${CMake_SOURCE_DIR}/Source/QtDialog/CMakeIngestOSXBundleLibraries.cmake")
|
|
|
|
ENDIF(APPLE)
|
2008-02-19 22:26:20 +03:00
|
|
|
CONFIGURE_FILE("${QtDialog_SOURCE_DIR}/QtDialogCPack.cmake.in"
|
|
|
|
"${QtDialog_BINARY_DIR}/QtDialogCPack.cmake" @ONLY)
|
2007-11-02 18:50:17 +03:00
|
|
|
ENDIF(NOT QT4_FOUND)
|
|
|
|
|