diff options
-rw-r--r-- | CMakeLists.txt | 26 | ||||
-rw-r--r-- | PySide/CMakeLists.txt | 7 | ||||
-rw-r--r-- | PySide/QtGui/CMakeLists.txt | 11 | ||||
-rw-r--r-- | PySide/global.h.in (renamed from PySide/global.h) | 18 |
4 files changed, 48 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 08f9160e5..73846a203 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,32 @@ if (${QTVERSION} VERSION_LESS 4.5.0) message(FATAL_ERROR "You need Qt4.5, found ${QTVERSION}.") endif() +# Configure OS support +if(Q_WS_X11) + set(ENABLE_X11 "1") + set(ENABLE_MAC "0") + set(ENABLE_WIN "0") + if(Q_WS_MAEMO_5) + set(AUTO_OS "MAEMO 5") + else() + set(AUTO_OS "X11") + endif() +elseif(Q_WS_MAC) + set(ENABLE_X11 "0") + set(ENABLE_MAC "1") + set(ENABLE_WIN "0") + set(AUTO_OS "MAC") +elseif(Q_WS_WIN) + set(ENABLE_X11 "0") + set(ENABLE_MAC "0") + set(ENABLE_WIN "1") + set(AUTO_OS "WIN") +else() + message(FATAL_ERROR "OS not supported") +endif() + +message(STATUS "Detected OS: ${AUTO_OS}") + set(BINDING_VERSION ${BINDING_API_VERSION}.${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}) find_program(GENERATOR generatorrunner REQUIRED) diff --git a/PySide/CMakeLists.txt b/PySide/CMakeLists.txt index 210c595f4..24b6d16db 100644 --- a/PySide/CMakeLists.txt +++ b/PySide/CMakeLists.txt @@ -5,7 +5,7 @@ install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/__init__.py" macro(execute_generator module sources typesystem_path) add_custom_command(OUTPUT ${${sources}} COMMAND ${GENERATOR} ${GENERATOR_EXTRA_FLAGS} - ${pyside_SOURCE_DIR}/global.h + ${CMAKE_BINARY_DIR}/PySide/global.h --include-paths=${pyside_SOURCE_DIR}:${QT_INCLUDE_DIR} --typesystem-paths=${pyside_SOURCE_DIR}:${typesystem_path} --output-directory=${CMAKE_CURRENT_BINARY_DIR} @@ -16,6 +16,11 @@ COMMENT "Running generator for ${module}..." ) endmacro(execute_generator) +# Configure include based on platform +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/global.h.in" + "${CMAKE_CURRENT_BINARY_DIR}/global.h" @ONLY) + + # Only add subdirectory if the associated Qt module is found. macro(HAS_QT_MODULE var name) if (DISABLE_${name}) diff --git a/PySide/QtGui/CMakeLists.txt b/PySide/QtGui/CMakeLists.txt index 970785a36..f89e1abdf 100644 --- a/PySide/QtGui/CMakeLists.txt +++ b/PySide/QtGui/CMakeLists.txt @@ -33,8 +33,7 @@ macro(CHECK_QT_GUI_MACRO macro_display_name qt_macro module_sources global_sourc endif() endmacro(CHECK_QT_GUI_MACRO) -if(Q_WS_X11) - set(AUTO_OS "X11") +if(ENABLE_X11) set(MODULE_NAME "x11") set(SPECIFIC_OS_FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtGui/qx11info_wrapper.cpp @@ -49,16 +48,12 @@ if(Q_WS_X11) ) endif(Q_WS_MAEMO_5) -elseif(Q_WS_MAC) - set(AUTO_OS "MAC") +elseif(ENABLE_MAC) set(MODULE_NAME "mac") set(SPECIFIC_OS_FILES ) -else() - message(FATAL_ERROR "OS not supported") -endif(Q_WS_X11) +endif(ENABLE_X11) -message(STATUS "Detected OS: ${AUTO_OS}") if (${QT_VERSION_MAJOR} EQUAL 4 AND ${QT_VERSION_MINOR} LESS 6) set (QtGui_46_SRC ) diff --git a/PySide/global.h b/PySide/global.h.in index 1c88abcee..bd7cf0e43 100644 --- a/PySide/global.h +++ b/PySide/global.h.in @@ -330,20 +330,28 @@ QT_END_NAMESPACE QT_END_HEADER -//#define Q_QDOC #define qdoc -//#undef Q_MOC_RUN -//Export X11 related functions -#define Q_WS_X11 +#if @ENABLE_X11@ + #define Q_WS_X11 +#elif @ENABLE_MAC@ + #define Q_WS_MAC +#elif @ENABLE_WIN@ + #define Q_WS_WIN +#endif // There are symbols in Qt that exist in Debug but // not in release #define QT_NO_DEBUG #include <QtCore/QtCore> +#if @ENABLE_MAC@ + #undef qdoc +#endif #include <QtGui/QtGui> -#include <QtGui/QX11Info> +#if @ENABLE_X11@ + #include <QtGui/QX11Info> +#endif #include <QtXml/QtXml> #include <QtUiTools/QtUiTools> #include <QtNetwork/QtNetwork> |