diff options
Diffstat (limited to 'qnetchess/cmake/modules/FindTQt.cmake')
-rw-r--r-- | qnetchess/cmake/modules/FindTQt.cmake | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/qnetchess/cmake/modules/FindTQt.cmake b/qnetchess/cmake/modules/FindTQt.cmake new file mode 100644 index 00000000..6194bb26 --- /dev/null +++ b/qnetchess/cmake/modules/FindTQt.cmake @@ -0,0 +1,107 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +macro( tqt_message ) + message( STATUS "${ARGN}" ) +endmacro( ) + +pkg_search_module( TQT tqt ) + +if( NOT TQT_FOUND ) + tde_message_fatal( "Unable to find tqt!\n Try adding the directory in which the tqt.pc file is located\nto the PKG_CONFIG_PATH variable." ) +endif( ) + +mark_as_advanced( + TMOC_EXECUTABLE + MOC_EXECUTABLE + UIC_EXECUTABLE +) + +# tmoc_executable +tde_execute_process( + COMMAND pkg-config tqt --variable=tmoc_executable + OUTPUT_VARIABLE TMOC_EXECUTABLE + CACHE FILEPATH "TQt tmoc executable path" + OUTPUT_STRIP_TRAILING_WHITESPACE ) + +if( NOT EXISTS ${TMOC_EXECUTABLE} ) + tde_message_fatal( "tmoc is not found!\n tqt is correctly installed?" ) +endif( ) + +tqt_message( " tmoc path: ${TMOC_EXECUTABLE}" ) + + +# moc_executable +tde_execute_process( + COMMAND pkg-config tqt --variable=moc_executable + OUTPUT_VARIABLE MOC_EXECUTABLE + CACHE FILEPATH "TQt moc executable path" + OUTPUT_STRIP_TRAILING_WHITESPACE ) + +if( NOT EXISTS ${MOC_EXECUTABLE} ) + tde_message_fatal( "Path to moc is not set.\n tqt is correctly installed?" ) +endif( ) + +tqt_message( " moc path: ${MOC_EXECUTABLE}" ) + + +# uic_executable +tde_execute_process( + COMMAND pkg-config tqt --variable=uic_executable + OUTPUT_VARIABLE UIC_EXECUTABLE + CACHE FILEPATH "TQt uic executable path" + OUTPUT_STRIP_TRAILING_WHITESPACE ) + +if( NOT EXISTS ${UIC_EXECUTABLE} ) + tde_message_fatal( "uic not found!\n tqt is correctly installed?" ) +endif( ) + +tqt_message( " uic path: ${UIC_EXECUTABLE}" ) + + +# tqt-replace script +set( TQT_REPLACE_SCRIPT "${TQT_PREFIX}/bin/tqt-replace" ) + +if( NOT EXISTS ${TQT_REPLACE_SCRIPT} ) + tde_message_fatal( "tqt-replace not found!\n Check tqt installation." ) +endif( ) + +tqt_message( " tqt-replace path: ${TQT_REPLACE_SCRIPT}" ) + + +# check if tqt is usable +tde_save( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES ) +set( CMAKE_REQUIRED_INCLUDES ${TQT_INCLUDE_DIRS} ) +foreach( _dirs ${TQT_LIBRARY_DIRS} ) + list( APPEND CMAKE_REQUIRED_LIBRARIES "-L${_dirs}" ) +endforeach() +list( APPEND CMAKE_REQUIRED_LIBRARIES ${TQT_LIBRARIES} ) + +check_cxx_source_compiles(" + #include <tqapplication.h> + int main(int argc, char **argv) { TQApplication app(argc, argv); return 0; } " + HAVE_USABLE_TQT ) + +if( NOT HAVE_USABLE_TQT ) + tde_message_fatal( "Unable to build a simple tqt test." ) +endif( ) + +tde_restore( CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES ) + + +# TQT_CXX_FLAGS +foreach( _flag ${TQT_CFLAGS} ${TQT_CFLAGS_OTHER} ) + set( TQT_CXX_FLAGS "${TQT_CXX_FLAGS} ${_flag}" ) +endforeach() + +# Set compiler flags according to build type +set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-DNDEBUG" ) +set( CMAKE_C_FLAGS_RELWITHDEBINFO "-DNDEBUG" ) |