First commit

This commit is contained in:
Abhijit Kundu
2014-12-01 13:41:34 -05:00
commit 2b9f84b72b
147 changed files with 35700 additions and 0 deletions

55
cmake/AddQt.cmake Normal file
View File

@@ -0,0 +1,55 @@
if(NOT QT_FOUND)
# --- QT5 ---
find_package(Qt5Core QUIET)
if(Qt5Core_FOUND)
find_package(Qt5Gui QUIET)
find_package(Qt5Widgets QUIET)
if(Qt5Gui_FOUND AND Qt5Widgets_FOUND)
set(QT5_FOUND ON)
set(QT_FOUND ON)
endif()
endif()
endif()
if(NOT QT_FOUND)
# --- QT4 ---
find_package(Qt4 QUIET)
if(QT4_FOUND)
set(QT_FOUND TRUE)
endif()
endif()
if(QT_FOUND)
if(NOT QT5_FOUND)
message ( STATUS "Using Qt4")
set( QT_VERSION_STRING "${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}")
set( QT_TARGETS "Qt4::QtGui")
else()
message ( STATUS "Using Qt5")
set( QT_VERSION_STRING ${Qt5Core_VERSION_STRING})
set( QT_TARGETS "Qt5::Gui;Qt5::Widgets")
endif()
else()
message ( STATUS "Qt Not Found")
endif()
#include some custom CMake util functions
INCLUDE(CommonCMakeUtils)
extract_target_properties(QT_TARGETS_DEPENDENCIES QT_TARGETS INTERFACE_LINK_LIBRARIES)
set (QT_ALL_TARGETS ${QT_TARGETS} ${QT_TARGETS_DEPENDENCIES})
list(REMOVE_DUPLICATES QT_ALL_TARGETS)
extract_target_properties(QT_INCLUDE_DIRS QT_ALL_TARGETS INTERFACE_INCLUDE_DIRECTORIES)
extract_target_properties(QT_COMPILE_DEFS QT_ALL_TARGETS INTERFACE_COMPILE_DEFINITIONS)
IF(QT_FOUND )
MESSAGE(STATUS "QT Version: ${QT_VERSION_STRING}")
MESSAGE(STATUS "QT_TARGETS: ${QT_TARGETS}")
MESSAGE(STATUS "QT_ALL_TARGETS: ${QT_ALL_TARGETS}")
MESSAGE(STATUS "QT_INCLUDE_DIRS: ${QT_INCLUDE_DIRS}")
MESSAGE(STATUS "QT_COMPILE_DEFS: ${QT_COMPILE_DEFS}")
ENDIF()

View File

@@ -0,0 +1,27 @@
# extract filename components of all items in src_list in dst_list
# example usage: extract_filename_components(ALL_LIBS_BASENAME ALL_LIBS NAME_WE)
macro(extract_filename_components dst_list src_list component)
set(list_var "${${src_list}}")
#message(STATUS "list_var: ${list_var}")
#message(STATUS "component: ${component}")
foreach(item ${list_var})
get_filename_component(BASENAME ${item} ${component})
list( APPEND ${dst_list} ${BASENAME})
endforeach()
#message(STATUS "dst_list: ${${dst_list}}")
endmacro()
# extract target properties of all items in src_list in dst_list
# example usage: extract_target_properties(QT_INCLUDES Qt5::Core INTERFACE_INCLUDE_DIR)
macro(extract_target_properties target_props target_list property)
set(list_var "${${target_list}}")
# message(STATUS "list_var: ${list_var}")
#message(STATUS "property: ${property}")
foreach(item ${list_var})
get_target_property(value ${item} ${property})
list( APPEND ${target_props} ${value})
endforeach()
#message(STATUS "target_props: ${${target_props}}")
list(REMOVE_DUPLICATES ${target_props})
endmacro()