CMake/Source/QtDialog/CMakeLists.txt

112 lines
3.7 KiB
CMake
Raw Normal View History

PROJECT(QtDialog)
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})
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.")
ENDIF(WIN32 AND NOT QT_CONFIG MATCHES "static")
2007-11-02 18:50:17 +03:00
SET(SRCS
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
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
QCMakeWidgets.cxx
QCMakeWidgets.h
QMacInstallDialog.cxx
QMacInstallDialog.h
2007-11-02 18:50:17 +03:00
)
QT4_WRAP_UI(UI_SRCS
CMakeSetupDialog.ui
Compilers.ui
CrossCompiler.ui
AddCacheEntry.ui
MacInstallDialog.ui
2007-11-02 18:50:17 +03:00
)
QT4_WRAP_CPP(MOC_SRCS
AddCacheEntry.h
Compilers.h
2007-11-02 18:50:17 +03:00
CMakeSetupDialog.h
FirstConfigure.h
2007-11-02 18:50:17 +03:00
QCMake.h
QCMakeCacheView.h
QCMakeWidgets.h
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})
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)
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})
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)
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)
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)
2007-11-02 18:50:17 +03:00
ENDIF(NOT QT4_FOUND)