Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revised QxtConfig.cmake, based on a proposal from zeke (thanks!)
- renamed FindQxt.cmake - updated the list of Qxt modules and their deps - updated the list of include paths and lib dirs --HG-- branch : 0.6 rename : features/QxtConfig.cmake => features/FindQxt.cmake extra : transplant_source : %13%2A%FE%B6Rklf%23O%FBN%A3%A1%21%F2%3B%86s%F4
- Loading branch information
jpnurmi
committed
May 2, 2010
1 parent
e862bc5
commit 124df3b
Showing
2 changed files
with
154 additions
and
122 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
############# | ||
## basic FindQxt.cmake | ||
## This is an *EXTREMELY BASIC* cmake find/config file for | ||
## those times you have a cmake project and wish to use | ||
## libQxt. | ||
## | ||
## It should be noted that at the time of writing, that | ||
## I (mschnee) have an extremely limited understanding of the | ||
## way Find*.cmake files work, but I have attempted to | ||
## emulate what FindQt4.cmake and a few others do. | ||
## | ||
## To enable a specific component, set your QXT_USE_${modname}: | ||
## SET(QXT_USE_QXTCORE TRUE) | ||
## SET(QXT_USE_QXTGUI FALSE) | ||
## Currently available components: | ||
## QxtCore, QxtGui, QxtNetwork, QxtWeb, QxtSql | ||
## Auto-including directories are enabled with INCLUDE_DIRECTORIES(), but | ||
## can be accessed if necessary via ${QXT_INCLUDE_DIRS} | ||
## | ||
## To add the libraries to your build, TARGET_LINK_LIBRARIES(), such as... | ||
## TARGET_LINK_LIBRARIES(YourTargetNameHere ${QXT_LIBRARIES}) | ||
## ...or.. | ||
## TARGET_LINK_LIBRARIES(YourTargetNameHere ${QT_LIBRARIES} ${QXT_LIBRARIES}) | ||
################### TODO: | ||
## The purpose of this cmake file is to find what components | ||
## exist, regardless of how libQxt was build or configured, thus | ||
## it should search/find all possible options. As I am not aware | ||
## that any module requires anything special to be used, adding all | ||
## modules to ${QXT_MODULES} below should be sufficient. | ||
## Eventually, there should be version numbers, but | ||
## I am still too unfamiliar with cmake to determine how to do | ||
## version checks and comparisons. | ||
## At the moment, this cmake returns a failure if you | ||
## try to use a component that doesn't exist. I don't know how to | ||
## set up warnings. | ||
## It would be nice having a FindQxt.cmake and a UseQxt.cmake | ||
## file like done for Qt - one to check for everything in advance | ||
|
||
############## | ||
|
||
###### setup | ||
SET(QXT_MODULES QxtGui QxtWeb QxtZeroConf QxtNetwork QxtSql QxtBerkeley QxtCore) | ||
SET(QXT_FOUND_MODULES) | ||
FOREACH(mod ${QXT_MODULES}) | ||
STRING(TOUPPER ${mod} U_MOD) | ||
SET(QXT_${U_MOD}_INCLUDE_DIR NOTFOUND) | ||
SET(QXT_${U_MOD}_LIB_DEBUG NOTFOUND) | ||
SET(QXT_${U_MOD}_LIB_RELEASE NOTFOUND) | ||
SET(QXT_FOUND_${U_MOD} FALSE) | ||
ENDFOREACH(mod) | ||
SET(QXT_QXTGUI_DEPENDSON QxtCore) | ||
SET(QXT_QXTWEB_DEPENDSON QxtCore QxtNetwork) | ||
SET(QXT_QXTZEROCONF_DEPENDSON QxtCore QxtNetwork) | ||
SET(QXT_QXTNETWORK_DEPENDSON QxtCore) | ||
SET(QXT_QXTQSQL_DEPENDSON QxtCore) | ||
SET(QXT_QXTBERKELEY_DEPENDSON QxtCore) | ||
|
||
FOREACH(mod ${QXT_MODULES}) | ||
STRING(TOUPPER ${mod} U_MOD) | ||
FIND_PATH(QXT_${U_MOD}_INCLUDE_DIR ${mod} | ||
PATH_SUFFIXES ${mod} include/${mod} Qxt/include/${mod} include/Qxt/${mod} | ||
PATHS | ||
~/Library/Frameworks/ | ||
/Library/Frameworks/ | ||
/sw/ | ||
/usr/local/ | ||
/usr | ||
/opt/local/ | ||
/opt/csw | ||
/opt | ||
"C:\\ | ||
"C:\\Program Files\\" | ||
"C:\\Program Files(x86)\\" | ||
NO_DEFAULT_PATH | ||
) | ||
FIND_LIBRARY(QXT_${U_MOD}_LIB_RELEASE NAME ${mod} | ||
PATH_SUFFIXES Qxt/lib64 Qxt/lib lib64 lib | ||
PATHS | ||
/sw | ||
/usr/local | ||
/usr | ||
/opt/local | ||
/opt/csw | ||
/opt | ||
"C:\\" | ||
"C:\\Program Files" | ||
"C:\\Program Files(x86)" | ||
NO_DEFAULT_PATH | ||
) | ||
FIND_LIBRARY(QXT_${U_MOD}_LIB_DEBUG NAME ${mod}d | ||
PATH_SUFFIXES Qxt/lib64 Qxt/lib lib64 lib | ||
PATHS | ||
/sw | ||
/usr/local | ||
/usr | ||
/opt/local | ||
/opt/csw | ||
/opt | ||
"C:\\" | ||
"C:\\Program Files" | ||
"C:\\Program Files(x86)" | ||
NO_DEFAULT_PATH | ||
) | ||
IF (QXT_${U_MOD}_LIB_RELEASE) | ||
SET(QXT_FOUND_MODULES "${QXT_FOUND_MODULES} ${mod}") | ||
ENDIF (QXT_${U_MOD}_LIB_RELEASE) | ||
IF (QXT_${U_MOD}_LIB_DEBUG) | ||
SET(QXT_FOUND_MODULES "${QXT_FOUND_MODULES} ${mod}") | ||
ENDIF (QXT_${U_MOD}_LIB_DEBUG) | ||
ENDFOREACH(mod) | ||
FOREACH(mod ${QXT_MODULES}) | ||
STRING(TOUPPER ${mod} U_MOD) | ||
IF(QXT_${U_MOD}_INCLUDE_DIR AND QXT_${U_MOD}_LIB_RELEASE) | ||
SET(QXT_FOUND_${U_MOD} TRUE) | ||
ENDIF(QXT_${U_MOD}_INCLUDE_DIR AND QXT_${U_MOD}_LIB_RELEASE) | ||
ENDFOREACH(mod) | ||
##### find and include | ||
# To use a Qxt Library.... | ||
# SET(QXT_FIND_COMPONENTS QxtCore, QxtGui) | ||
# ...and this will do the rest | ||
IF( QXT_FIND_COMPONENTS ) | ||
FOREACH( component ${QXT_FIND_COMPONENTS} ) | ||
STRING( TOUPPER ${component} _COMPONENT ) | ||
SET(QXT_USE_${_COMPONENT}_COMPONENT TRUE) | ||
ENDFOREACH( component ) | ||
ENDIF( QXT_FIND_COMPONENTS ) | ||
SET(QXT_LIBRARIES "") | ||
SET(QXT_INCLUDE_DIRS "") | ||
# like FindQt4.cmake, in order of dependence | ||
FOREACH( module ${QXT_MODULES} ) | ||
STRING(TOUPPER ${module} U_MOD) | ||
IF(QXT_USE_${U_MOD} OR QXT_DEPENDS_${U_MOD}) | ||
IF(QXT_FOUND_${U_MOD}) | ||
STRING(REPLACE "QXT" "" qxt_module_def "${U_MOD}") | ||
ADD_DEFINITIONS(-DQXT_${qxt_module_def}_LIB) | ||
SET(QXT_INCLUDE_DIRS ${QXT_INCLUDE_DIRS} ${QXT_${U_MOD}_INCLUDE_DIR}) | ||
INCLUDE_DIRECTORIES(${QXT_${U_MOD}_INCLUDE_DIR}) | ||
SET(QXT_LIBRARIES ${QXT_LIBRARIES} ${QXT_${U_MOD}_LIB_RELEASE}) | ||
ELSE(QXT_FOUND_${U_MOD}) | ||
MESSAGE("Could not find Qxt Module ${module}") | ||
RETURN() | ||
ENDIF(QXT_FOUND_${U_MOD}) | ||
FOREACH(dep QXT_${U_MOD}_DEPENDSON) | ||
SET(QXT_DEPENDS_${dep} TRUE) | ||
ENDFOREACH(dep) | ||
ENDIF(QXT_USE_${U_MOD} OR QXT_DEPENDS_${U_MOD}) | ||
ENDFOREACH(module) | ||
MESSAGE(STATUS "Found Qxt Libraries:${QXT_FOUND_MODULES}") |
This file was deleted.
Oops, something went wrong.