Define a single expected format for the values defined in every FindXXX.cmake file.
Upgrade all the QT functionality to use the new FindXXX.cmake format Add a module for AVIFile.
This commit is contained in:
parent
a888ba53fa
commit
63d64d5780
|
@ -0,0 +1,40 @@
|
||||||
|
# Locate AVIFILE library and include paths
|
||||||
|
|
||||||
|
# AVIFILE (http://avifile.sourceforge.net/ )is a set of library for i386 machines
|
||||||
|
# to use various AVI codecs. Support is limited beyond Linux. Windows
|
||||||
|
# provides native AVI support, and so doesn't need this library.
|
||||||
|
|
||||||
|
# This module defines
|
||||||
|
# AVIFILE_INCLUDE_DIR, where to find avifile.h , etc.
|
||||||
|
# AVIFILE_LIBRARIES, the libraries to link against to use AVIFILE
|
||||||
|
# AVIFILE_DEFINITIONS, definitions to use when compiling code that uses AVIFILE.
|
||||||
|
# AVIFILE_FOUND, If false, do try to use AVIFILE.
|
||||||
|
|
||||||
|
IF (UNIX)
|
||||||
|
|
||||||
|
FIND_PATH(AVIFILE_INCLUDE_DIR avifile.h
|
||||||
|
/usr/local/avifile/include
|
||||||
|
/usr/local/include/avifile
|
||||||
|
/usr/include
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(AVIFILE_AVIPLAY_LIBRARY aviplay
|
||||||
|
/usr/local/avifile/lib
|
||||||
|
/usr/local/lib
|
||||||
|
/usr/lib
|
||||||
|
)
|
||||||
|
|
||||||
|
ENDIF (UNIX)
|
||||||
|
|
||||||
|
SET (AVIFILE_FOUND "NO")
|
||||||
|
|
||||||
|
IF(AVIFILE_INCLUDE_DIR)
|
||||||
|
IF(AVIFILE_AVIPLAY_LIBRARY)
|
||||||
|
SET( AVIFILE_LIBRARIES ${AVIFILE_AVIPLAY_LIBRARY} )
|
||||||
|
SET( AVIFILE_FOUND "YES" )
|
||||||
|
SET( AVIFILE_DEFINITIONS "")
|
||||||
|
|
||||||
|
ENDIF(AVIFILE_AVIPLAY_LIBRARY)
|
||||||
|
ENDIF(AVIFILE_INCLUDE_DIR)
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
# Locate Qt include paths and libraries
|
# Locate Qt include paths and libraries
|
||||||
|
|
||||||
# This module defines
|
# This module defines
|
||||||
# QT_INCLUDE_PATH, where to find qt.h, etc.
|
# QT_INCLUDE_DIR, where to find qt.h, etc.
|
||||||
# QT_QT_LIBRARY, where to find the qt library
|
# QT_LIBRARIES, the libraries to link against to use Qt.
|
||||||
# QT_MOC_EXE, where to find the moc tool
|
# QT_DEFINITIONS, definitions to use when compiling code that uses Qt.
|
||||||
# QT_UIC_EXE, where to find the uic tool
|
# QT_WRAP_CPP, If false, don't use QT_WRAP_CPP command.
|
||||||
# USE_QT_FILE, a file for any CMakeLists.txt file to include to actually link against qt
|
# QT_WRAP_UI, If false, don't use QT_WRAP_UI command.
|
||||||
# QT_WRAP_CPP, This allows the QT_WRAP_CPP command to work.
|
# QT_FOUND, If false, do try to use Qt.
|
||||||
# QT_WRAP_UI, This allows the QT_WRAP_UI command to work.
|
|
||||||
|
|
||||||
|
# also defined, but not for general use are
|
||||||
|
# QT_MOC_EXECUTABLE, where to find the moc tool.
|
||||||
|
# QT_UIC_EXECUTABLE, where to find the uic tool.
|
||||||
|
# QT_QT_LIBRARY, where to find the Qt library.
|
||||||
|
# QT_QTMAIN_LIBRARY, where to find the qtmain library. This is only required by Qt3 on Windows.
|
||||||
|
|
||||||
IF (UNIX)
|
IF (UNIX)
|
||||||
|
|
||||||
FIND_PATH(QT_INCLUDE_PATH qt.h
|
FIND_PATH(QT_INCLUDE_DIR qt.h
|
||||||
${QTDIR}/include
|
${QTDIR}/include
|
||||||
/usr/local/qt/include
|
/usr/local/qt/include
|
||||||
/usr/local/include
|
/usr/local/include
|
||||||
|
@ -26,12 +30,12 @@ IF (UNIX)
|
||||||
/usr/lib
|
/usr/lib
|
||||||
)
|
)
|
||||||
|
|
||||||
FIND_FILE(QT_MOC_EXE moc
|
FIND_FILE(QT_MOC_EXECUTABLE moc
|
||||||
${QTDIR}/bin
|
${QTDIR}/bin
|
||||||
${path}
|
${path}
|
||||||
)
|
)
|
||||||
|
|
||||||
FIND_FILE(QT_UIC_EXE uic
|
FIND_FILE(QT_UIC_EXECUTABLE uic
|
||||||
${QTDIR}/bin
|
${QTDIR}/bin
|
||||||
${path}
|
${path}
|
||||||
)
|
)
|
||||||
|
@ -42,35 +46,59 @@ IF (WIN32)
|
||||||
# Not sure where to look for Qt under windows
|
# Not sure where to look for Qt under windows
|
||||||
# Assume that QTDIR has been set
|
# Assume that QTDIR has been set
|
||||||
|
|
||||||
FIND_PATH(QT_INCLUDE_PATH qt.h
|
FIND_PATH(QT_INCLUDE_DIR qt.h
|
||||||
${QTDIR}/include
|
${QTDIR}/include C:/Progra~1/qt/include) )
|
||||||
)
|
|
||||||
|
|
||||||
FIND_LIBRARY(QT_QT_LIBRARY qt
|
FIND_LIBRARY(QT_QT_LIBRARY qt
|
||||||
${QTDIR}/lib
|
${QTDIR}/lib C:/Progra~1/qt/lib )
|
||||||
)
|
|
||||||
|
|
||||||
FIND_FILE(QT_MOC_EXE moc.exe
|
FIND_LIBRARY(QT_QTMAIN_LIBRARY qtmain
|
||||||
${QTDIR}/bin
|
${QTDIR}/lib C:/Progra~1/qt/lib )
|
||||||
${path}
|
|
||||||
)
|
|
||||||
|
|
||||||
FIND_FILE(QT_UIC_EXE uic.exe
|
FIND_FILE(QT_MOC_EXECUTABLE moc.exe
|
||||||
${QTDIR}/bin
|
${QTDIR}/bin C:/Progra~1/qt/bin
|
||||||
${path}
|
${path} )
|
||||||
)
|
|
||||||
|
FIND_FILE(QT_UIC_EXECUTABLE uic.exe
|
||||||
|
${QTDIR}/bin C:/Progra~1/qt/bin
|
||||||
|
${path} )
|
||||||
|
|
||||||
ENDIF (WIN32)
|
ENDIF (WIN32)
|
||||||
|
|
||||||
|
|
||||||
IF (QT_MOC_EXE)
|
IF (QT_MOC_EXECUTABLE)
|
||||||
SET ( QT_WRAP_CPP 1 CACHE BOOL "Can we honour the QT_WRAP_CPP command" )
|
SET ( QT_WRAP_CPP "YES")
|
||||||
ENDIF (QT_MOC_EXE)
|
ENDIF (QT_MOC_EXECUTABLE)
|
||||||
|
|
||||||
IF (QT_UIC_EXE)
|
IF (QT_UIC_EXECUTABLE)
|
||||||
SET ( QT_WRAP_UI 1 CACHE BOOL "Can we honour the QT_WRAP_UI command" )
|
SET ( QT_WRAP_UI "YES")
|
||||||
ENDIF (QT_UIC_EXE)
|
ENDIF (QT_UIC_EXECUTABLE)
|
||||||
|
|
||||||
|
|
||||||
|
IF(QT_INCLUDE_DIR)
|
||||||
|
IF(QT_QT_LIBRARY)
|
||||||
|
SET( QT_LIBRARIES ${QT_LIBRARIES} ${QT_QT_LIBRARY} )
|
||||||
|
SET( QT_FOUND "YES" )
|
||||||
|
SET( QT_DEFINITIONS "")
|
||||||
|
|
||||||
|
IF (WIN32)
|
||||||
|
IF (QT_QTMAIN_LIBRARY)
|
||||||
|
# for version 3
|
||||||
|
SET (QT_DEFINITIONS -DQT_DLL)
|
||||||
|
SET (QT_LIBRARIES imm32.lib ${QT_QT_LIBRARY} ${QT_QTMAIN_LIBRARY} )
|
||||||
|
ELSE (QT_QTMAIN_LIBRARY)
|
||||||
|
# for version 2
|
||||||
|
SET (QT_LIBRARIES imm32.lib ws2_32.lib ${QT_QT_LIBRARY} )
|
||||||
|
ENDIF (QT_QTMAIN_LIBRARY)
|
||||||
|
ELSE (WIN32)
|
||||||
|
SET (QT_LIBRARIES ${QT_QT_LIBRARY} )
|
||||||
|
ENDIF (WIN32)
|
||||||
|
|
||||||
|
# Backwards compatibility for CMake1.4 and 1.2
|
||||||
|
SET (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
|
||||||
|
SET (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
|
||||||
|
|
||||||
|
ENDIF(QT_QT_LIBRARY)
|
||||||
|
ENDIF(QT_INCLUDE_DIR)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,4 @@
|
||||||
# Link in QT
|
# Use of this file is deprecated.
|
||||||
|
# Replace any lines that include this file with the line below.
|
||||||
|
|
||||||
|
LINK_LIBRARIES( ${QT_LIBRARIES})
|
||||||
IF (WIN32)
|
|
||||||
LINK_LIBRARIES( imm32.lib ws2_32.lib)
|
|
||||||
#Ensure that qt.lib is last
|
|
||||||
ENDIF (WIN32)
|
|
||||||
|
|
||||||
|
|
||||||
LINK_LIBRARIES( ${QT_QT_LIBRARY})
|
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
Note to authors of FindXXX.cmake files
|
||||||
|
|
||||||
|
We would like all FindXXX.cmake files to produce consistent variable names.
|
||||||
|
|
||||||
|
XXX_INCLUDE_DIR, Where to find xxx.h, etc.
|
||||||
|
XXX_LIBRARIES, The libraries to link against to use XXX. These should include full paths.
|
||||||
|
XXX_DEFINITIONS, Definitions to use when compiling code that uses XXX.
|
||||||
|
XXX_EXECUTABLE, Where to find the XXX tool.
|
||||||
|
XXX_YYY_EXECUTABLE, Where to find the YYY tool that comes with XXX.
|
||||||
|
XXX_ROOT_DIR, Where to find the home directory of XXX.
|
||||||
|
XXX_FOUND, Set to false if we haven't found, or don't want to use XXX.
|
||||||
|
|
||||||
|
|
||||||
|
You do not have to provide all of the above variables. You should provide XXX_FOUND under most circumstances. If XXX is a library, then XXX_INCLUDE_DIR, XXX_LIBRARIES, and XXX_DEFINITIONS should also be defined.
|
||||||
|
|
||||||
|
Try to keep as many options as possible out of the cache, leaving at least one option which can be used to disable use of the module, or find a lost library (e.g. XXX_ROOT_DIR)
|
||||||
|
|
||||||
|
If you need other commands to do special things (e.g. the QT_WRAP_UI setting in FindQt.cmake) then it should still begin with XXX_. This gives a sort of namespace effect.
|
|
@ -99,7 +99,7 @@ void cmQTWrapCPPCommand::FinalPass()
|
||||||
// first we add the rules for all the .h to Moc files
|
// first we add the rules for all the .h to Moc files
|
||||||
size_t lastClass = m_WrapClasses.size();
|
size_t lastClass = m_WrapClasses.size();
|
||||||
std::vector<std::string> depends;
|
std::vector<std::string> depends;
|
||||||
std::string moc_exe = "${QT_MOC_EXE}";
|
std::string moc_exe = "${QT_MOC_EXECUTABLE}";
|
||||||
|
|
||||||
// wrap all the .h files
|
// wrap all the .h files
|
||||||
depends.push_back(moc_exe);
|
depends.push_back(moc_exe);
|
||||||
|
|
|
@ -118,8 +118,8 @@ void cmQTWrapUICommand::FinalPass()
|
||||||
// first we add the rules for all the .ui to .h and .cxx files
|
// first we add the rules for all the .ui to .h and .cxx files
|
||||||
size_t lastHeadersClass = m_WrapHeadersClasses.size();
|
size_t lastHeadersClass = m_WrapHeadersClasses.size();
|
||||||
std::vector<std::string> depends;
|
std::vector<std::string> depends;
|
||||||
std::string uic_exe = "${QT_UIC_EXE}";
|
std::string uic_exe = "${QT_UIC_EXECUTABLE}";
|
||||||
std::string moc_exe = "${QT_MOC_EXE}";
|
std::string moc_exe = "${QT_MOC_EXECUTABLE}";
|
||||||
|
|
||||||
|
|
||||||
// wrap all the .h files
|
// wrap all the .h files
|
||||||
|
|
Loading…
Reference in New Issue