summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt25
1 files changed, 22 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4075ed75a..b04a984f3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -227,22 +227,25 @@ option( BUILD_EXAMPLE_DCLOCK "Build example dclock" ${BUILD_EXAMPLE_
set( TQT_CONFIG "full" CACHE STRING
"Predefined set of tqt interanl options, one of: minimal|small|medium|large|full" )
set( WITH_UNSUPORTED_CONFIG OFF CACHE BOOL "Build TQt regardles some unsupported option configuration" )
-
mark_as_advanced( TQT_CONFIG WITH_UNSUPORTED_CONFIG )
+set( TQT_PLATFORM "local" CACHE STRING "Use qplatformdefs.h from \"mkspec/\${TQT_PLATFORM}\"" )
+
+# NOTE: a special TQT_PLATFORM=value of "local" will cause generation of a `qplatformdefs.h` based
+# on current cmake build settings. If the generated file is not fit for your platform, please
+# fill in a bug. You may still workaround it specifying concrete TQT_PLATFORM value.
##### configure checks
include( ConfigureChecks.cmake )
include( config.tests/unix/endian/ConfigureChecks.cmake ) # test: little/big endian
-include( config.tests/unix/largefile/ConfigureChecks.cmake ) # test: large lifes
+include( config.tests/unix/largefile/ConfigureChecks.cmake ) # test: large files
include( config.tests/unix/stl/ConfigureChecks.cmake ) # test: stl supported
include( config.tests/unix/ipv6/ConfigureChecks.cmake ) # test: IPv6 network
###### global compiler settings
-
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )
@@ -258,9 +261,25 @@ tde_conditional_add_subdirectory( BUILD_TUTORIAL tutorial )
tde_conditional_add_subdirectory( BUILD_EXAMPLE examples )
tde_conditional_add_subdirectory( BUILD_TRANSLATIONS translations )
+if( TQT_PLATFORM STREQUAL "local" )
+ add_subdirectory( mkspecs/local )
+endif()
+
##### write configure files
configure_file( src/tools/qconfig.cpp.cmake src/tools/qconfig.cpp @ONLY )
configure_file( include/ntqconfig.h.cmake include/ntqconfig.h @ONLY )
configure_file( include/ntqmodules.h.cmake include/ntqmodules.h @ONLY )
+
+
+##### install mkspecs
+
+if( BUILD_TQMAKE )
+ install(
+ DIRECTORY ${CMAKE_SOURCE_DIR}/mkspecs
+ DESTINATION "${QT_INSTALL_DATA}"
+ PATTERN "mkspecs/local/*" EXCLUDE
+ )
+ tde_install_symlink( "${TQT_PLATFORM}" "${QT_INSTALL_DATA}/mkspecs/default" )
+endif( BUILD_TQMAKE )