Import cmake 2.6.2
Signed-off-by: Modestas Vainius <modestas@vainius.eu>
This commit is contained in:
parent
4c630dbbc0
commit
d904454424
@ -32,7 +32,13 @@ IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
|
||||
"${CPACK_SOURCE_PACKAGE_FILE_NAME}-RC-${CMake_VERSION_RC}")
|
||||
ENDIF(CMake_VERSION_RC)
|
||||
IF(NOT DEFINED CPACK_SYSTEM_NAME)
|
||||
SET(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
|
||||
# make sure package is not Cygwin-unknown, for Cygwin just
|
||||
# cygwin is good for the system name
|
||||
IF("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN")
|
||||
SET(CPACK_SYSTEM_NAME Cygwin)
|
||||
ELSE("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN")
|
||||
SET(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
|
||||
ENDIF("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN")
|
||||
ENDIF(NOT DEFINED CPACK_SYSTEM_NAME)
|
||||
IF(${CPACK_SYSTEM_NAME} MATCHES Windows)
|
||||
IF(CMAKE_CL_64)
|
||||
@ -42,7 +48,15 @@ IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
|
||||
ENDIF(CMAKE_CL_64)
|
||||
ENDIF(${CPACK_SYSTEM_NAME} MATCHES Windows)
|
||||
IF(NOT DEFINED CPACK_PACKAGE_FILE_NAME)
|
||||
SET(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}-${CPACK_SYSTEM_NAME}")
|
||||
# if the CPACK_PACKAGE_FILE_NAME is not defined by the cache
|
||||
# default to source package - system, on cygwin system is not
|
||||
# needed
|
||||
IF(CYGWIN)
|
||||
SET(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}")
|
||||
ELSE(CYGWIN)
|
||||
SET(CPACK_PACKAGE_FILE_NAME
|
||||
"${CPACK_SOURCE_PACKAGE_FILE_NAME}-${CPACK_SYSTEM_NAME}")
|
||||
ENDIF(CYGWIN)
|
||||
ENDIF(NOT DEFINED CPACK_PACKAGE_FILE_NAME)
|
||||
SET(CPACK_PACKAGE_CONTACT "cmake@cmake.org")
|
||||
IF(UNIX)
|
||||
@ -52,6 +66,7 @@ IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
|
||||
ENDIF(UNIX)
|
||||
# cygwin specific packaging stuff
|
||||
IF(CYGWIN)
|
||||
|
||||
# if we are on cygwin and have cpack, then force the
|
||||
# doc, data and man dirs to conform to cygwin style directories
|
||||
SET(CMAKE_DOC_DIR "/share/doc/${CPACK_PACKAGE_FILE_NAME}")
|
||||
|
@ -26,7 +26,7 @@ if(CPACK_GENERATOR MATCHES "NSIS")
|
||||
# tell cpack to create a desktop link to CMakeSetup
|
||||
SET(CPACK_CREATE_DESKTOP_LINKS "CMakeSetup")
|
||||
SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\CMakeSetup.exe")
|
||||
SET(CPACK_NSIS_DISPLAY_NAME "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR} a cross-platform, open-source build system")
|
||||
SET(CPACK_NSIS_DISPLAY_NAME "CMake @CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@ a cross-platform, open-source build system")
|
||||
SET(CPACK_NSIS_HELP_LINK "http:\\\\www.cmake.org")
|
||||
SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\www.kitware.com")
|
||||
SET(CPACK_NSIS_CONTACT @CPACK_PACKAGE_CONTACT@)
|
||||
|
@ -353,8 +353,8 @@ ENDMACRO (CMAKE_BUILD_UTILITIES)
|
||||
# The CMake version number.
|
||||
SET(CMake_VERSION_MAJOR 2)
|
||||
SET(CMake_VERSION_MINOR 6)
|
||||
SET(CMake_VERSION_PATCH 0)
|
||||
#SET(CMake_VERSION_RC 1)
|
||||
SET(CMake_VERSION_PATCH 2)
|
||||
#SET(CMake_VERSION_RC 6)
|
||||
# CVS versions are odd, if this is an odd minor version
|
||||
# then set the CMake_VERSION_DATE variable
|
||||
IF("${CMake_VERSION_MINOR}" MATCHES "[13579]$")
|
||||
|
@ -1,23 +1,7 @@
|
||||
SET (CTEST_PROJECT_NAME "CMake")
|
||||
SET (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
|
||||
|
||||
MACRO(SET_IF_NOT_SET var val)
|
||||
IF(NOT DEFINED "${var}")
|
||||
SET("${var}" "${val}")
|
||||
ENDIF(NOT DEFINED "${var}")
|
||||
ENDMACRO(SET_IF_NOT_SET)
|
||||
|
||||
SET_IF_NOT_SET(CTEST_DROP_METHOD "http")
|
||||
IF(CTEST_DROP_METHOD STREQUAL "http")
|
||||
SET (CTEST_DROP_SITE "public.kitware.com")
|
||||
SET (CTEST_DROP_LOCATION "/cgi-bin/HTTPUploadDartFile.cgi")
|
||||
SET (CTEST_TRIGGER_SITE "http://${CTEST_DROP_SITE}/cgi-bin/Submit-CMake-TestingResults.cgi")
|
||||
ENDIF(CTEST_DROP_METHOD STREQUAL "http")
|
||||
|
||||
IF(CTEST_DROP_METHOD STREQUAL "xmlrpc")
|
||||
SET (CTEST_DROP_SITE "http://www.na-mic.org:8081")
|
||||
SET (CTEST_DROP_LOCATION "CMake")
|
||||
SET (CTEST_TRIGGER_SITE "not used")
|
||||
SET (COMPRESS_SUBMISSION ON)
|
||||
ENDIF(CTEST_DROP_METHOD STREQUAL "xmlrpc")
|
||||
set(CTEST_PROJECT_NAME "CMake")
|
||||
set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
|
||||
|
||||
set(CTEST_DROP_METHOD "http")
|
||||
set(CTEST_DROP_SITE "www.cdash.org")
|
||||
set(CTEST_DROP_LOCATION "/CDash/submit.php?project=CMake")
|
||||
set(CTEST_DROP_SITE_CDASH TRUE)
|
||||
|
255
ChangeLog.manual
255
ChangeLog.manual
@ -1,3 +1,258 @@
|
||||
Changes in CMake 2.6.2 RC 6
|
||||
- Fix bug#7669 cpack did not work when sym-linked after install
|
||||
|
||||
Changes in CMake 2.6.2 RC 5
|
||||
- Add beta BundleUtilities.cmake file
|
||||
- CPackRPM 7435 fixes to add optional post-install
|
||||
- Fix Bug #7456, FindBoost versioned find not working
|
||||
- Fix FindCurses to be able to work without ncurses.h
|
||||
- FindQt4 fix bug #7433, add a bit more documentation and add ability
|
||||
to specify extra flags to lupdate.
|
||||
|
||||
Changes in CMake 2.6.2 RC 4
|
||||
- Fix bug #7359 make llvm-gcc work, by explicitely excluding
|
||||
"llvm-" from _CMAKE_TOOLCHAIN_PREFIX
|
||||
- Fix bug 7046: OS X Framework support: extensionless headers were
|
||||
being ignored when specified as public headers
|
||||
- Fix documentation in CheckCCompilerFlag.cmake
|
||||
- Add better version support to find_package command
|
||||
- Fix Xcode debug not working
|
||||
- Add VERSION compare to if command
|
||||
- Make FindThreads sete THREADS_FOUND
|
||||
- Deb cpack generator sets Installed-Size for the package
|
||||
- Do not add an empty /D"" at the end of VS 6 .dsp compile lines
|
||||
- Recognize /MAP in VS 7 and greater
|
||||
- Add new policy CMP0009 - GLOB_RECURSE should not follow symlinks by default
|
||||
|
||||
Changes in CMake 2.6.2 RC 3
|
||||
- Fix bug, and remove extra closing > in visual fortran projects.
|
||||
- Fix bug in ctest -C where it was sometimes ignored.
|
||||
- Fix crash with exec_process when cmake is being debugged on windows
|
||||
- Fix unsetting of global properties
|
||||
|
||||
Changes in CMake 2.6.2 RC 2
|
||||
- allow tool chains to limit object path length
|
||||
- add info.plist to frameworks
|
||||
- better preservation of user link lines
|
||||
- add a get command for cmake policies
|
||||
- support for imported libraries of unknown type
|
||||
- support link interface in target_link_libraries
|
||||
- Do not hang when select lies
|
||||
- .m compiled with gcc and g++ on mac
|
||||
- Fix issue when application bundle dir is removed cmake
|
||||
needs to re-run automatically
|
||||
- Report an error when configure has one error
|
||||
- Fix bug where -E commands stole command line options
|
||||
- Fix infinite recursion bug with try-compile and change of compilers
|
||||
- Fix delete and backspace in ccmake
|
||||
- Fix coverage not to follow symlinks
|
||||
- Add more possible languages for NSIS in cpack
|
||||
- FindQt4.cmake fix bug #7433, add documentation that
|
||||
directories also can be specified to update the translation files.
|
||||
- Add standard arg handling to FindPHP4.cmake
|
||||
- Add X11R6 to search path for FindOpenGL
|
||||
- update cmake-syntax.vim to have more keywords
|
||||
- BUG: fix #7477, set VERBOSE=1 in the kdevelop setting for
|
||||
the environment, not together with the make executable
|
||||
- UsePkgConfig.cmake - clean up, add a status message in case
|
||||
pkgconfig didn't find the package, sync with kde
|
||||
- FindX11 look in more places
|
||||
- FindTIFF look for more names
|
||||
- FindQt3, make sure qt4 is not found and some style stuff
|
||||
- FindPNG add more names of linpng (sync with the KDE version)
|
||||
- FindKDE3/KDE4 sanity checks on qt versions found
|
||||
- FindLibXMl2 also search for xmllint, which comes with libxml2
|
||||
(sync with FindLibXml2.cmake from KDE)
|
||||
- Fix sizeof, and other compiler INFO string checks with
|
||||
GNU linker's --gc-sections
|
||||
- Fix bogus dependency on executable targets when a linked library
|
||||
happended to match the name of an executable target
|
||||
- Improve readability of circular depends error
|
||||
- Fix crash on circular target dependencies
|
||||
- find_package now knows about lib64 paths
|
||||
- Fix gentoo elf security issue with RPATH and RUNPATH
|
||||
|
||||
Changes in CMake 2.6.2 RC 1
|
||||
- Fix abort in eclipse generator with empty EXECUTABLE_OUTPUT_PATH
|
||||
- Fix FindKDE3.cmake syntax error
|
||||
- Fix custom command output by relative path not always working
|
||||
- Fix bug, Do not convert RPATH entries to full path.
|
||||
- Allow for "$ORIGIN" into the RPATH>
|
||||
- Allow for static libraries with lots of objects using archive append
|
||||
- Fix documentation for FindImageMagick.cmake
|
||||
- Fix link error with MS compiler and comdef
|
||||
- Fix crash when attempting to load the RPATH out of a non-ELF file
|
||||
- Add --trace option to cmake allowing for the tracing of a cmake run
|
||||
- Fix for issue #4971 where the case of the drive letter component of
|
||||
the filenames might be different when analyzing gcov output.
|
||||
- Add warning level W0 to visual studio
|
||||
- Add support for OSX library version flags
|
||||
|
||||
Changes in CMake 2.6.1 RC 16
|
||||
- Fix for bug 7427, preinstall target name hard coded
|
||||
- Fix issue #7088 - do not emit error messages when attempts to run
|
||||
Visual Studio macros fail. You can still get the error output
|
||||
as messages if you want using --debug-output from the cmake command line.
|
||||
- Fix InstallRequiredSystemLibraries.cmake to work with win64
|
||||
|
||||
Changes in CMake 2.6.1 RC 15
|
||||
- Fix bug 7426 FindJPEG module causes error when setting JPEG_LIBRARY to blank
|
||||
- Fix bug 7414 PackageMaker generator crashes when given components
|
||||
with circular dependencies
|
||||
- Fix source files to not add extra /, and look for extensions for
|
||||
all enabled languages.
|
||||
- Change link line to preserve input given to target_link_libraries even
|
||||
if a shared library is repeated.
|
||||
- Fix for bug 7421, fortran did not get arch flags on the mac
|
||||
- For CMP0008 do not depend on the files that are not there, which
|
||||
makes the Xcode generator delete executables after they are built.
|
||||
- Work around Boost 1.36.0 bug fix on Darwin by setting the mangled
|
||||
compiler name to -xgccVERSION
|
||||
- Updated FindImageMagick to:
|
||||
- Find newer additions such as animate, compare, etc.
|
||||
- Find development api: Magick++, MagickCore, MagickWand
|
||||
- Use FindPackageHandleStandardArgs to output standard messages.
|
||||
|
||||
Changes in CMake 2.6.1 RC 14
|
||||
- Change dashboard submission to go directly to CDash.
|
||||
- Add policy CMP0008- Full-path libraries must be a valid library file name
|
||||
|
||||
Changes in CMake 2.6.1 RC 12
|
||||
- More find locations for FindJNI.
|
||||
- Fix bug with source files ending in .l and .l.cpp, causing cmake
|
||||
to think they were the same file in some cases.
|
||||
- Fix issue with .lib being seen as .obj with VS due to a full path
|
||||
to a library given without the file extension. This only worked
|
||||
with the VS generator, but some projects had worked around it with
|
||||
if statements. It now issues a warning, but should link.
|
||||
- Update cpack stuff for beta OSX bundle generator for CPack
|
||||
- CheckFortranFunctionExists.cmake now calls the function.
|
||||
- FindBLAS.cmake, FindLAPACK.cmake modules were redesigned so
|
||||
now you have three new variables BLA_VENDOR (you can specify the VENDOR),
|
||||
BLA_STATIC (gets the static version of libs), BLA_F95
|
||||
(gets the fortran 95 interface). BLA_VENDOR can be specified as
|
||||
an environment variable. Intel mkls libs need FindThreads to
|
||||
be found correctly so you will need to enable the C/CXX
|
||||
- FindMPI: Use the HINTS feature of find_library to find the right
|
||||
libraries for MPI, and act a bit more intelligently when MPI cannot be found.
|
||||
- Improved support for finding wxWidgets in MinGW environment.
|
||||
- CMAKE[_SYSTEM]_(LIBRARY|PROGRAM|INCLUDE|PREFIX)_PATH variables
|
||||
moved CMAKE_CROSSCOMPILING from "Variables that modify behaviour" to
|
||||
"variables that Provide Information"
|
||||
- handle HTML documentation for single items better: no warning about
|
||||
ComputeSectionLinkPrefix, don't create an index for only one item.
|
||||
- Better error messages in CPackBundleGenerator
|
||||
|
||||
Changes in CMake 2.6.1 RC 11
|
||||
- Fix curl build issue with Xcode 3.1
|
||||
Changes in CMake 2.6.1 RC 10
|
||||
- Add a fix for bug # 7340, CMAKE_USER_MAKE_RULES_OVERRIDE was
|
||||
not able to support a try-compile in cmake 2.6
|
||||
- Remove bad test for bug # 7316
|
||||
Changes in CMake 2.6.1 RC 9
|
||||
- Fix bug # 7316 Xcode double escaped define strings
|
||||
- FindBoost can now find the upcoming Boost 1.36
|
||||
Changes in CMake 2.6.1 RC 8
|
||||
- Fix build problem with missing cpack file
|
||||
|
||||
Changes in CMake 2.6.1 RC 7
|
||||
- More fixes for CPack components functionality
|
||||
- Fixes for Xcode generater #7277 #7044, do not compile foo.txt.
|
||||
Rebuild application bundles when a library changes. Set the project
|
||||
location for Xcode 3.1
|
||||
- Do not automatically add EXECUTABLE_OUTPUT_PATH to cache.
|
||||
- New tree view in cmake-gui
|
||||
- FindBoost.cmake, find boost as installed by the BoostPro/Boost Consulting
|
||||
installers on Windows. And cleanup FindBoost module, fixing several small
|
||||
bugs and providing better diagnostic information when things go wrong.
|
||||
- Fix FindwxWidgets.cmake to find richtext library
|
||||
- Fix FindQt4.cmake with empty qconfig.pri files. Fixes #7287.
|
||||
- Fix add/remove program version string again...
|
||||
- Fix column width in cmake-gui
|
||||
|
||||
Changes in CMake 2.6.1 RC 6
|
||||
- Fix DEFINITIONS property to be compatible with 2.4
|
||||
- Fix escaping of $ for visual studio
|
||||
- FindGettext.cmake fix bug #7230: don't ignore first parameter if it's not ALL
|
||||
Changes in CMake 2.6.1 RC 5
|
||||
- Add support for component based packages in cpack.
|
||||
- Fix FindBLAS.cmake if no fortran compiler is found
|
||||
- Fix FindFLTK.cmake to pass new module test
|
||||
- Fix FindKDE3.cmake to not add flags if kde3 is not found
|
||||
- Fix FindMatlab.cmake, FindOpenSSL.cmake, FindQt3.cmake,
|
||||
FindSWIG.cmake, to only error if it is required
|
||||
- Fix FindwxWidgets.cmake to work on msys
|
||||
- Add a beta OSX bundle generator for CPack
|
||||
- Fix bug in cmake --build-and-test where cmake output was lost
|
||||
- Fix ctest handling of CDash dart measurement support
|
||||
- Add a group view to cmake-gui
|
||||
- Fix nmake/make with visual studio compiler to handle long link lines
|
||||
- Fix FLTK_WRAP_UI to better notice when mistakes are made with the target name
|
||||
- Fix spelling error EnableFiberSafeOptimizations
|
||||
|
||||
Changes in CMake 2.6.1 RC 4
|
||||
- Change to find_*, a new HINTS keyword was added to avoid the
|
||||
need for NO_DEFAULT_PATH, and a repeated call to find_*
|
||||
- Update all NO_DEFAULT_PATH usage in Modules/Find*
|
||||
- Fix for cpack self extracting .sh files to work with more shells
|
||||
- FindQt4 now finds dependencies for some qt modules
|
||||
- ctest cpu information fixes for cygwin and linux
|
||||
- Recognize more color terminals for color output
|
||||
- Remove SKIP_RULE_DEPENDS from custom command because CMake
|
||||
now can detect when a cutom command actually changes and only
|
||||
re-run the rule then. This fixes the problem of custom commands
|
||||
re-running every time a file is added to a target.
|
||||
- Fix for very slow find_path on OSX because of framework searchs
|
||||
- Fix for bug 6364, extra help targets when there are subdirectories
|
||||
of the top level.
|
||||
- Fix for Xcode generator to not eat some flags by mistake.
|
||||
- Add end of file checking for close if, foreach, macro, functions
|
||||
etc enabled.
|
||||
|
||||
Changes in CMake 2.6.1 RC 3
|
||||
- FindQt4 - Find qt debug libraries on windows with d postfix.
|
||||
- Find 64 bit windows registry stuff with 32 bit cmake
|
||||
- Give a message if rpath is changed during install
|
||||
- rpath changer during install understands symlinks now
|
||||
- If a source file is not found and is a full path cmake complains.
|
||||
|
||||
Changes in CMake 2.6.1 RC 2
|
||||
|
||||
- FindQt4 - report an error when trying to use MSVC with Qt built by mingw.
|
||||
- FindQt4 - make Qt not found if the QtCore library can't be found.
|
||||
- UseQt4 - only add flags for modles that are used
|
||||
- Log file and LC_ALL fix for FindSubversion
|
||||
- Make MacOSXBundleInfo.plist.in a configured file again
|
||||
- Fix makefile generator targets to depend on full path link libraries
|
||||
- Allow CMakeImportBuildSettings to not match tools if
|
||||
CMAKE_OVERRIDE_COMPILER_MISMATCH is set
|
||||
- Fix incorrect extension extraction in gcc cross compiler check
|
||||
- Add support for Portand Fortran
|
||||
- Fix list command with empty list values
|
||||
- Add support for setting compiler and toolchain in qt cmake-gui
|
||||
- Fix Bug 7011, FindQt4 was slow on a mac, find_path should not glob in /
|
||||
- Fix install directories for cygwin package of CMake
|
||||
|
||||
Changes in CMake 2.6.1 RC 1
|
||||
- Add a way to modify depend scanning with the property:
|
||||
IMPLICIT_DEPENDS_INCLUDE_TRANSFORM
|
||||
- Add a way for custom commands to skip depending on the rule.make file
|
||||
- Fix ENABLE_LANGUAGE(ASM-ATT OPTIONAL) to work
|
||||
- Fix gcov in ctest in French or other non-English runs
|
||||
- Fix help for ctest commands to be lower case
|
||||
- Find QtCLucene on Qt/Mac binary
|
||||
- Fix for build on ARM
|
||||
- Fix for docbook to add newlines
|
||||
- Fix -Wno-dev to not eat path to source tree
|
||||
- Fix bug in NSIS CPack where CPACK_NSIS_MODIFY_PATH did modify the path
|
||||
- Fix FindBoost version variable names to correct bug in Boost version
|
||||
- Fix Add/Remove program name for CMake install on windows
|
||||
- Fix bug 0006988 coverage not reported on dashboards
|
||||
- Fix bug 0006990 CMake crashes with bad input to set_source_files_properties
|
||||
- Fix bug in FindCurses where you could not run cmake twice
|
||||
- Fix 64 bit cmake creation of Xcode projects
|
||||
- Add --help-policy to --help
|
||||
|
||||
Changes in CMake 2.6.0
|
||||
- Fix links in generated documentation
|
||||
- Fix for FindQt and some mac frameworks
|
||||
|
@ -1,61 +1,7 @@
|
||||
# Dashboard is opened for submissions for a 24 hour period starting at
|
||||
# the specified NIGHLY_START_TIME. Time is specified in 24 hour format.
|
||||
SET (NIGHTLY_START_TIME "21:00:00 EDT")
|
||||
|
||||
# Dart server to submit results (used by client)
|
||||
IF(NOT DROP_METHOD)
|
||||
SET(DROP_METHOD http)
|
||||
ENDIF(NOT DROP_METHOD)
|
||||
IF(DROP_METHOD MATCHES http)
|
||||
SET (DROP_SITE "public.kitware.com")
|
||||
SET (DROP_LOCATION "/cgi-bin/HTTPUploadDartFile.cgi")
|
||||
ELSE(DROP_METHOD MATCHES http)
|
||||
IF(DROP_METHOD MATCHES xmlrpc)
|
||||
SET (DROP_SITE "http://www.na-mic.org:8081")
|
||||
SET (DROP_LOCATION "CMake")
|
||||
SET (COMPRESS_SUBMISSION ON)
|
||||
ELSE(DROP_METHOD MATCHES xmlrpc)
|
||||
SET (DROP_SITE "public.kitware.com")
|
||||
SET (DROP_LOCATION "/incoming")
|
||||
SET (DROP_SITE_USER "ftpuser")
|
||||
SET (DROP_SITE_PASSWORD "public")
|
||||
ENDIF(DROP_METHOD MATCHES xmlrpc)
|
||||
ENDIF(DROP_METHOD MATCHES http)
|
||||
|
||||
SET (TRIGGER_SITE
|
||||
"http://${DROP_SITE}/cgi-bin/Submit-CMake-TestingResults.cgi")
|
||||
|
||||
# Project Home Page
|
||||
SET (PROJECT_URL "http://www.cmake.org")
|
||||
|
||||
# Dart server configuration
|
||||
SET (ROLLUP_URL "http://${DROP_SITE}/cgi-bin/cmake-rollup-dashboard.sh")
|
||||
SET (CVS_WEB_URL "http://${DROP_SITE}/cgi-bin/viewcvs.cgi/")
|
||||
SET (CVS_WEB_CVSROOT "CMake")
|
||||
|
||||
OPTION(BUILD_DOXYGEN "Build source documentation using doxygen" "Off")
|
||||
SET (DOXYGEN_CONFIG "${PROJECT_BINARY_DIR}/doxygen.config" )
|
||||
MARK_AS_ADVANCED(BUILD_DOXYGEN)
|
||||
SET (USE_DOXYGEN "On")
|
||||
SET (DOXYGEN_URL "${PROJECT_URL}/doc/nightly/html/" )
|
||||
|
||||
SET (USE_GNATS "On")
|
||||
SET (GNATS_WEB_URL "${PROJECT_URL}/Bug/query.php?projects=2&status%5B%5D=1&status%5B%5D=2&status%5B%5D=3&status%5B%5D=4&status%5B%5D=6&op=doquery")
|
||||
|
||||
# Continuous email delivery variables
|
||||
SET (CONTINUOUS_FROM "cmake-dashboard@public.kitware.com")
|
||||
SET (SMTP_MAILHOST "public.kitware.com")
|
||||
SET (CONTINUOUS_MONITOR_LIST "cmake-dashboard@public.kitware.com")
|
||||
SET (CONTINUOUS_BASE_URL "${PROJECT_URL}/Testing")
|
||||
|
||||
SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_TEST_FAILURES ON)
|
||||
SET (DELIVER_BROKEN_BUILD_EMAIL "Continuous Nightly")
|
||||
SET (EMAIL_FROM "cmake-dashboard@public.kitware.com")
|
||||
SET (DARTBOARD_BASE_URL "${PROJECT_URL}/Testing")
|
||||
|
||||
SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_CONFIGURE_FAILURES 1)
|
||||
SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_BUILD_ERRORS 1)
|
||||
SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_BUILD_WARNINGS 1)
|
||||
SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_TEST_NOT_RUNS 1)
|
||||
SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_TEST_FAILURES 1)
|
||||
set(CTEST_PROJECT_NAME "CMake")
|
||||
set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
|
||||
|
||||
set(CTEST_DROP_METHOD "http")
|
||||
set(CTEST_DROP_SITE "www.cdash.org")
|
||||
set(CTEST_DROP_LOCATION "/CDash/submit.php?project=CMake")
|
||||
set(CTEST_DROP_SITE_CDASH TRUE)
|
||||
|
@ -3,8 +3,8 @@
|
||||
" Program: CMake - Cross-Platform Makefile Generator
|
||||
" Module: $RCSfile: cmake-syntax.vim,v $
|
||||
" Language: VIM
|
||||
" Date: $Date: 2008-01-16 16:53:53 $
|
||||
" Version: $Revision: 1.9 $
|
||||
" Date: $Date: 2008-09-03 13:43:16 $
|
||||
" Version: $Revision: 1.9.2.1 $
|
||||
"
|
||||
" =============================================================================
|
||||
|
||||
@ -12,8 +12,8 @@
|
||||
" Language: CMake
|
||||
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
|
||||
" Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
||||
" Last Change: $Date: 2008-01-16 16:53:53 $
|
||||
" Version: $Revision: 1.9 $
|
||||
" Last Change: $Date: 2008-09-03 13:43:16 $
|
||||
" Version: $Revision: 1.9.2.1 $
|
||||
"
|
||||
" Licence: The CMake license applies to this file. See
|
||||
" http://www.cmake.org/HTML/Copyright.html
|
||||
@ -41,7 +41,7 @@ syn region cmakeString start=/"/ end=/"/
|
||||
syn region cmakeArguments start=/(/ end=/)/
|
||||
\ contains=ALLBUT,cmakeArguments,cmakeTodo
|
||||
syn keyword cmakeSystemVariables
|
||||
\ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80
|
||||
\ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80 MSVC90
|
||||
syn keyword cmakeOperators
|
||||
\ ABSOLUTE AND BOOL CACHE COMMAND DEFINED DOC EQUAL EXISTS EXT FALSE GREATER INTERNAL LESS MATCHES NAME NAMES NAME_WE NOT OFF ON OR PATH PATHS PROGRAM STREQUAL STRGREATER STRING STRLESS TRUE
|
||||
\ contained
|
||||
@ -50,7 +50,7 @@ syn keyword cmakeDeprecated ABSTRACT_FILES BUILD_NAME SOURCE_FILES SOURCE_FILES_
|
||||
|
||||
" The keywords are generated as: cmake --help-command-list | tr "\n" " "
|
||||
syn keyword cmakeStatement
|
||||
\ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ELSEIF ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDFUNCTION ENDIF ENDMACRO ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH FUNCTION GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE
|
||||
\ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ELSEIF ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDFUNCTION ENDIF ENDMACRO ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH FUNCTION GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN UNSET USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE
|
||||
\ nextgroup=cmakeArguments
|
||||
syn keyword cmakeTodo
|
||||
\ TODO FIXME XXX
|
||||
|
645
Modules/BundleUtilities.cmake
Normal file
645
Modules/BundleUtilities.cmake
Normal file
@ -0,0 +1,645 @@
|
||||
# BundleUtilities.cmake
|
||||
#
|
||||
# A collection of CMake utility functions useful for dealing with .app bundles
|
||||
# on the Mac and bundle-like directories on any OS.
|
||||
#
|
||||
# The following functions are provided by this script:
|
||||
# get_bundle_main_executable
|
||||
# get_dotapp_dir
|
||||
# get_bundle_and_executable
|
||||
# get_bundle_all_executables
|
||||
# get_item_key
|
||||
# clear_bundle_keys
|
||||
# set_bundle_key_values
|
||||
# get_bundle_keys
|
||||
# copy_resolved_item_into_bundle
|
||||
# fixup_bundle_item
|
||||
# fixup_bundle
|
||||
# copy_and_fixup_bundle
|
||||
# verify_bundle_prerequisites
|
||||
# verify_bundle_symlinks
|
||||
# verify_app
|
||||
#
|
||||
# Requires CMake 2.6 or greater because it uses function, break and
|
||||
# PARENT_SCOPE. Also depends on GetPrerequisites.cmake.
|
||||
|
||||
|
||||
# The functions defined in this file depend on the get_prerequisites function
|
||||
# (and possibly others) found in:
|
||||
#
|
||||
get_filename_component(BundleUtilities_cmake_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
||||
include("${BundleUtilities_cmake_dir}/GetPrerequisites.cmake")
|
||||
|
||||
|
||||
# get_bundle_main_executable
|
||||
#
|
||||
# The result will be the full path name of the bundle's main executable file
|
||||
# or an "error:" prefixed string if it could not be determined.
|
||||
#
|
||||
function(get_bundle_main_executable bundle result_var)
|
||||
set(result "error: '${bundle}/Contents/Info.plist' file does not exist")
|
||||
|
||||
if(EXISTS "${bundle}/Contents/Info.plist")
|
||||
set(result "error: no CFBundleExecutable in '${bundle}/Contents/Info.plist' file")
|
||||
set(line_is_main_executable 0)
|
||||
set(bundle_executable "")
|
||||
|
||||
# Read Info.plist as a list of lines:
|
||||
#
|
||||
set(eol_char "E")
|
||||
file(READ "${bundle}/Contents/Info.plist" info_plist)
|
||||
string(REGEX REPLACE ";" "\\\\;" info_plist "${info_plist}")
|
||||
string(REGEX REPLACE "\n" "${eol_char};" info_plist "${info_plist}")
|
||||
|
||||
# Scan the lines for "<key>CFBundleExecutable</key>" - the line after that
|
||||
# is the name of the main executable.
|
||||
#
|
||||
foreach(line ${info_plist})
|
||||
if(line_is_main_executable)
|
||||
string(REGEX REPLACE "^.*<string>(.*)</string>.*$" "\\1" bundle_executable "${line}")
|
||||
break()
|
||||
endif(line_is_main_executable)
|
||||
|
||||
if(line MATCHES "^.*<key>CFBundleExecutable</key>.*$")
|
||||
set(line_is_main_executable 1)
|
||||
endif(line MATCHES "^.*<key>CFBundleExecutable</key>.*$")
|
||||
endforeach(line)
|
||||
|
||||
if(NOT "${bundle_executable}" STREQUAL "")
|
||||
if(EXISTS "${bundle}/Contents/MacOS/${bundle_executable}")
|
||||
set(result "${bundle}/Contents/MacOS/${bundle_executable}")
|
||||
else(EXISTS "${bundle}/Contents/MacOS/${bundle_executable}")
|
||||
|
||||
# Ultimate goal:
|
||||
# If not in "Contents/MacOS" then scan the bundle for matching files. If
|
||||
# there is only one executable file that matches, then use it, otherwise
|
||||
# it's an error...
|
||||
#
|
||||
#file(GLOB_RECURSE file_list "${bundle}/${bundle_executable}")
|
||||
|
||||
# But for now, pragmatically, it's an error. Expect the main executable
|
||||
# for the bundle to be in Contents/MacOS, it's an error if it's not:
|
||||
#
|
||||
set(result "error: '${bundle}/Contents/MacOS/${bundle_executable}' does not exist")
|
||||
endif(EXISTS "${bundle}/Contents/MacOS/${bundle_executable}")
|
||||
endif(NOT "${bundle_executable}" STREQUAL "")
|
||||
else(EXISTS "${bundle}/Contents/Info.plist")
|
||||
#
|
||||
# More inclusive technique... (This one would work on Windows and Linux
|
||||
# too, if a developer followed the typical Mac bundle naming convention...)
|
||||
#
|
||||
# If there is no Info.plist file, try to find an executable with the same
|
||||
# base name as the .app directory:
|
||||
#
|
||||
endif(EXISTS "${bundle}/Contents/Info.plist")
|
||||
|
||||
set(${result_var} "${result}" PARENT_SCOPE)
|
||||
endfunction(get_bundle_main_executable)
|
||||
|
||||
|
||||
# get_dotapp_dir
|
||||
#
|
||||
# Returns the nearest parent dir whose name ends with ".app" given the full path
|
||||
# to an executable. If there is no such parent dir, then return a dir at the same
|
||||
# level as the executable, named with the executable's base name and ending with
|
||||
# ".app"
|
||||
#
|
||||
# The returned directory may or may not exist.
|
||||
#
|
||||
function(get_dotapp_dir exe dotapp_dir_var)
|
||||
set(s "${exe}")
|
||||
|
||||
set(has_dotapp_parent 0)
|
||||
if(s MATCHES "^.*/.*\\.app/.*$")
|
||||
set(has_dotapp_parent 1)
|
||||
endif(s MATCHES "^.*/.*\\.app/.*$")
|
||||
|
||||
set(done 0)
|
||||
while(NOT ${done})
|
||||
get_filename_component(snamewe "${s}" NAME_WE)
|
||||
get_filename_component(sname "${s}" NAME)
|
||||
get_filename_component(sdir "${s}" PATH)
|
||||
if(has_dotapp_parent)
|
||||
# If there is a ".app" parent directory,
|
||||
# ascend until we hit it:
|
||||
# (typical of a Mac bundle executable)
|
||||
#
|
||||
set(s "${sdir}")
|
||||
if(sname MATCHES "\\.app$")
|
||||
set(done 1)
|
||||
set(dotapp_dir "${sdir}/${sname}")
|
||||
endif(sname MATCHES "\\.app$")
|
||||
else(has_dotapp_parent)
|
||||
# Otherwise use a directory named the same
|
||||
# as the exe, but with a ".app" extension:
|
||||
# (typical of a non-bundle executable on Mac, Windows or Linux)
|
||||
#
|
||||
set(done 1)
|
||||
set(dotapp_dir "${sdir}/${snamewe}.app")
|
||||
endif(has_dotapp_parent)
|
||||
endwhile(NOT ${done})
|
||||
|
||||
set(${dotapp_dir_var} "${dotapp_dir}" PARENT_SCOPE)
|
||||
endfunction(get_dotapp_dir)
|
||||
|
||||
|
||||
# get_bundle_and_executable
|
||||
#
|
||||
# Takes either a ".app" directory name or the name of an executable
|
||||
# nested inside a ".app" directory and returns the path to the ".app"
|
||||
# directory in ${bundle_var} and the path to its main executable in
|
||||
# ${executable_var}
|
||||
#
|
||||
function(get_bundle_and_executable app bundle_var executable_var valid_var)
|
||||
set(valid 0)
|
||||
|
||||
if(EXISTS "${app}")
|
||||
# Is it a directory ending in .app?
|
||||
if(IS_DIRECTORY "${app}")
|
||||
if(app MATCHES "\\.app$")
|
||||
get_bundle_main_executable("${app}" executable)
|
||||
if(EXISTS "${app}" AND EXISTS "${executable}")
|
||||
set(${bundle_var} "${app}" PARENT_SCOPE)
|
||||
set(${executable_var} "${executable}" PARENT_SCOPE)
|
||||
set(valid 1)
|
||||
#message(STATUS "info: handled .app directory case...")
|
||||
else(EXISTS "${app}" AND EXISTS "${executable}")
|
||||
message(STATUS "warning: *NOT* handled - .app directory case...")
|
||||
endif(EXISTS "${app}" AND EXISTS "${executable}")
|
||||
else(app MATCHES "\\.app$")
|
||||
message(STATUS "warning: *NOT* handled - directory but not .app case...")
|
||||
endif(app MATCHES "\\.app$")
|
||||
else(IS_DIRECTORY "${app}")
|
||||
# Is it an executable file?
|
||||
is_file_executable("${app}" is_executable)
|
||||
if(is_executable)
|
||||
get_dotapp_dir("${app}" dotapp_dir)
|
||||
if(EXISTS "${dotapp_dir}" AND EXISTS "${app}")
|
||||
set(${bundle_var} "${dotapp_dir}" PARENT_SCOPE)
|
||||
set(${executable_var} "${app}" PARENT_SCOPE)
|
||||
set(valid 1)
|
||||
#message(STATUS "info: handled executable file case...")
|
||||
else(EXISTS "${dotapp_dir}" AND EXISTS "${app}")
|
||||
message(STATUS "warning: *NOT* handled - executable file case...")
|
||||
endif(EXISTS "${dotapp_dir}" AND EXISTS "${app}")
|
||||
else(is_executable)
|
||||
message(STATUS "warning: *NOT* handled - not .app dir, not executable file...")
|
||||
endif(is_executable)
|
||||
endif(IS_DIRECTORY "${app}")
|
||||
else(EXISTS "${app}")
|
||||
message(STATUS "warning: *NOT* handled - directory/file does not exist...")
|
||||
endif(EXISTS "${app}")
|
||||
|
||||
if(NOT valid)
|
||||
set(${bundle_var} "error: not a bundle" PARENT_SCOPE)
|
||||
set(${executable_var} "error: not a bundle" PARENT_SCOPE)
|
||||
endif(NOT valid)
|
||||
|
||||
set(${valid_var} ${valid} PARENT_SCOPE)
|
||||
endfunction(get_bundle_and_executable)
|
||||
|
||||
|
||||
# get_bundle_all_executables
|
||||
#
|
||||
# Scans the given bundle recursively for all executable files and accumulates
|
||||
# them into a variable.
|
||||
#
|
||||
function(get_bundle_all_executables bundle exes_var)
|
||||
set(exes "")
|
||||
|
||||
file(GLOB_RECURSE file_list "${bundle}/*")
|
||||
foreach(f ${file_list})
|
||||
is_file_executable("${f}" is_executable)
|
||||
if(is_executable)
|
||||
set(exes ${exes} "${f}")
|
||||
endif(is_executable)
|
||||
endforeach(f)
|
||||
|
||||
set(${exes_var} "${exes}" PARENT_SCOPE)
|
||||
endfunction(get_bundle_all_executables)
|
||||
|
||||
|
||||
# get_item_key
|
||||
#
|
||||
# Given a file (item) name, generate a key that should be unique considering the set of
|
||||
# libraries that need copying or fixing up to make a bundle standalone. This is
|
||||
# essentially the file name including extension with "." replaced by "_"
|
||||
#
|
||||
# This key is used as a prefix for CMake variables so that we can associate a set
|
||||
# of variables with a given item based on its key.
|
||||
#
|
||||
function(get_item_key item key_var)
|
||||
get_filename_component(item_name "${item}" NAME)
|
||||
string(REGEX REPLACE "\\." "_" ${key_var} "${item_name}")
|
||||
set(${key_var} ${${key_var}} PARENT_SCOPE)
|
||||
endfunction(get_item_key)
|
||||
|
||||
|
||||
# clear_bundle_keys
|
||||
#
|
||||
# Loop over the list of keys, clearing all the variables associated with each
|
||||
# key. After the loop, clear the list of keys itself.
|
||||
#
|
||||
# Caller of get_bundle_keys should call clear_bundle_keys when done with list
|
||||
# of keys.
|
||||
#
|
||||
function(clear_bundle_keys keys_var)
|
||||
foreach(key ${${keys_var}})
|
||||
set(${key}_ITEM PARENT_SCOPE)
|
||||
set(${key}_RESOLVED_ITEM PARENT_SCOPE)
|
||||
set(${key}_DEFAULT_EMBEDDED_PATH PARENT_SCOPE)
|
||||
set(${key}_EMBEDDED_ITEM PARENT_SCOPE)
|
||||
set(${key}_RESOLVED_EMBEDDED_ITEM PARENT_SCOPE)
|
||||
set(${key}_COPYFLAG PARENT_SCOPE)
|
||||
endforeach(key)
|
||||
set(${keys_var} PARENT_SCOPE)
|
||||
endfunction(clear_bundle_keys)
|
||||
|
||||
|
||||
# set_bundle_key_values
|
||||
#
|
||||
# Add a key to the list (if necessary) for the given item. If added,
|
||||
# also set all the variables associated with that key.
|
||||
#
|
||||
function(set_bundle_key_values keys_var context item exepath dirs copyflag)
|
||||
get_filename_component(item_name "${item}" NAME)
|
||||
|
||||
get_item_key("${item}" key)
|
||||
|
||||
list(LENGTH ${keys_var} length_before)
|
||||
gp_append_unique(${keys_var} "${key}")
|
||||
list(LENGTH ${keys_var} length_after)
|
||||
|
||||
if(NOT length_before EQUAL length_after)
|
||||
gp_resolve_item("${context}" "${item}" "${exepath}" "${dirs}" resolved_item)
|
||||
|
||||
gp_item_default_embedded_path("${item}" default_embedded_path)
|
||||
|
||||
if(item MATCHES "[^/]+\\.framework/")
|
||||
# For frameworks, construct the name under the embedded path from the
|
||||
# opening "${item_name}.framework/" to the closing "/${item_name}":
|
||||
#
|
||||
string(REGEX REPLACE "^.*(${item_name}.framework/.*/${item_name}).*$" "${default_embedded_path}/\\1" embedded_item "${item}")
|
||||
else(item MATCHES "[^/]+\\.framework/")
|
||||
# For other items, just use the same name as the original, but in the
|
||||
# embedded path:
|
||||
#
|
||||
set(embedded_item "${default_embedded_path}/${item_name}")
|
||||
endif(item MATCHES "[^/]+\\.framework/")
|
||||
|
||||
# Replace @executable_path and resolve ".." references:
|
||||
#
|
||||
string(REPLACE "@executable_path" "${exepath}" resolved_embedded_item "${embedded_item}")
|
||||
get_filename_component(resolved_embedded_item "${resolved_embedded_item}" ABSOLUTE)
|
||||
|
||||
# *But* -- if we are not copying, then force resolved_embedded_item to be
|
||||
# the same as resolved_item. In the case of multiple executables in the
|
||||
# original bundle, using the default_embedded_path results in looking for
|
||||
# the resolved executable next to the main bundle executable. This is here
|
||||
# so that exes in the other sibling directories (like "bin") get fixed up
|
||||
# properly...
|
||||
#
|
||||
if(NOT copyflag)
|
||||
set(resolved_embedded_item "${resolved_item}")
|
||||
endif(NOT copyflag)
|
||||
|
||||
set(${keys_var} ${${keys_var}} PARENT_SCOPE)
|
||||
set(${key}_ITEM "${item}" PARENT_SCOPE)
|
||||
set(${key}_RESOLVED_ITEM "${resolved_item}" PARENT_SCOPE)
|
||||
set(${key}_DEFAULT_EMBEDDED_PATH "${default_embedded_path}" PARENT_SCOPE)
|
||||
set(${key}_EMBEDDED_ITEM "${embedded_item}" PARENT_SCOPE)
|
||||
set(${key}_RESOLVED_EMBEDDED_ITEM "${resolved_embedded_item}" PARENT_SCOPE)
|
||||
set(${key}_COPYFLAG "${copyflag}" PARENT_SCOPE)
|
||||
else(NOT length_before EQUAL length_after)
|
||||
#message("warning: item key '${key}' already in the list, subsequent references assumed identical to first")
|
||||
endif(NOT length_before EQUAL length_after)
|
||||
endfunction(set_bundle_key_values)
|
||||
|
||||
|
||||
# get_bundle_keys
|
||||
#
|
||||
# Loop over all the executable and library files within the bundle (and given as
|
||||
# extra "${libs}") and accumulate a list of keys representing them. Set values
|
||||
# associated with each key such that we can loop over all of them and copy
|
||||
# prerequisite libs into the bundle and then do appropriate install_name_tool
|
||||
# fixups.
|
||||
#
|
||||
function(get_bundle_keys app libs dirs keys_var)
|
||||
set(${keys_var} PARENT_SCOPE)
|
||||
|
||||
get_bundle_and_executable("${app}" bundle executable valid)
|
||||
if(valid)
|
||||
# Always use the exepath of the main bundle executable for @executable_path
|
||||
# replacements:
|
||||
#
|
||||
get_filename_component(exepath "${executable}" PATH)
|
||||
|
||||
# But do fixups on all executables in the bundle:
|
||||
#
|
||||
get_bundle_all_executables("${bundle}" exes)
|
||||
|
||||
# For each extra lib, accumulate a key as well and then also accumulate
|
||||
# any of its prerequisites. (Extra libs are typically dynamically loaded
|
||||
# plugins: libraries that are prerequisites for full runtime functionality
|
||||
# but that do not show up in otool -L output...)
|
||||
#
|
||||
foreach(lib ${libs})
|
||||
set_bundle_key_values(${keys_var} "${lib}" "${lib}" "${exepath}" "${dirs}" 1)
|
||||
|
||||
set(prereqs "")
|
||||
get_prerequisites("${lib}" prereqs 1 1 "${exepath}" "${dirs}")
|
||||
foreach(pr ${prereqs})
|
||||
set_bundle_key_values(${keys_var} "${lib}" "${pr}" "${exepath}" "${dirs}" 1)
|
||||
endforeach(pr)
|
||||
endforeach(lib)
|
||||
|
||||
# For each executable found in the bundle, accumulate keys as we go.
|
||||
# The list of keys should be complete when all prerequisites of all
|
||||
# binaries in the bundle have been analyzed.
|
||||
#
|
||||
foreach(exe ${exes})
|
||||
# Add the exe itself to the keys:
|
||||
#
|
||||
set_bundle_key_values(${keys_var} "${exe}" "${exe}" "${exepath}" "${dirs}" 0)
|
||||
|
||||
# Add each prerequisite to the keys:
|
||||
#
|
||||
set(prereqs "")
|
||||
get_prerequisites("${exe}" prereqs 1 1 "${exepath}" "${dirs}")
|
||||
foreach(pr ${prereqs})
|
||||
set_bundle_key_values(${keys_var} "${exe}" "${pr}" "${exepath}" "${dirs}" 1)
|
||||
endforeach(pr)
|
||||
endforeach(exe)
|
||||
|
||||
# Propagate values to caller's scope:
|
||||
#
|
||||
set(${keys_var} ${${keys_var}} PARENT_SCOPE)
|
||||
foreach(key ${${keys_var}})
|
||||
set(${key}_ITEM "${${key}_ITEM}" PARENT_SCOPE)
|
||||
set(${key}_RESOLVED_ITEM "${${key}_RESOLVED_ITEM}" PARENT_SCOPE)
|
||||
set(${key}_DEFAULT_EMBEDDED_PATH "${${key}_DEFAULT_EMBEDDED_PATH}" PARENT_SCOPE)
|
||||
set(${key}_EMBEDDED_ITEM "${${key}_EMBEDDED_ITEM}" PARENT_SCOPE)
|
||||
set(${key}_RESOLVED_EMBEDDED_ITEM "${${key}_RESOLVED_EMBEDDED_ITEM}" PARENT_SCOPE)
|
||||
set(${key}_COPYFLAG "${${key}_COPYFLAG}" PARENT_SCOPE)
|
||||
endforeach(key)
|
||||
endif(valid)
|
||||
endfunction(get_bundle_keys)
|
||||
|
||||
|
||||
# copy_resolved_item_into_bundle
|
||||
#
|
||||
# Copy a resolved item into the bundle if necessary. Copy is not necessary if the resolved_item
|
||||
# is the same as the resolved_embedded_item.
|
||||
#
|
||||
function(copy_resolved_item_into_bundle resolved_item resolved_embedded_item)
|
||||
if("${resolved_item}" STREQUAL "${resolved_embedded_item}")
|
||||
message(STATUS "warning: resolved_item == resolved_embedded_item - not copying...")
|
||||
else("${resolved_item}" STREQUAL "${resolved_embedded_item}")
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${resolved_item}" "${resolved_embedded_item}")
|
||||
endif("${resolved_item}" STREQUAL "${resolved_embedded_item}")
|
||||
endfunction(copy_resolved_item_into_bundle)
|
||||
|
||||
|
||||
# fixup_bundle_item
|
||||
#
|
||||
# Get the direct/non-system prerequisites of the resolved embedded item. For each
|
||||
# prerequisite, change the way it is referenced to the value of the _EMBEDDED_ITEM
|
||||
# keyed variable for that prerequisite. (Most likely changing to an "@executable_path"
|
||||
# style reference.)
|
||||
#
|
||||
# Also, change the id of the item being fixed up to its own _EMBEDDED_ITEM value.
|
||||
#
|
||||
# Accumulate changes in a local variable and make *one* call to install_name_tool
|
||||
# at the end of the function with all the changes at once.
|
||||
#
|
||||
function(fixup_bundle_item resolved_embedded_item exepath dirs)
|
||||
# This item's key is "ikey":
|
||||
#
|
||||
get_item_key("${resolved_embedded_item}" ikey)
|
||||
|
||||
set(prereqs "")
|
||||
get_prerequisites("${resolved_embedded_item}" prereqs 1 0 "${exepath}" "${dirs}")
|
||||
|
||||
set(changes "")
|
||||
|
||||
foreach(pr ${prereqs})
|
||||
# Each referenced item's key is "rkey" in the loop:
|
||||
#
|
||||
get_item_key("${pr}" rkey)
|
||||
|
||||
if(NOT "${${rkey}_EMBEDDED_ITEM}" STREQUAL "")
|
||||
set(changes ${changes} "-change" "${pr}" "${${rkey}_EMBEDDED_ITEM}")
|
||||
else(NOT "${${rkey}_EMBEDDED_ITEM}" STREQUAL "")
|
||||
message("warning: unexpected reference to '${pr}'")
|
||||
endif(NOT "${${rkey}_EMBEDDED_ITEM}" STREQUAL "")
|
||||
endforeach(pr)
|
||||
|
||||
# Change this item's id and all of its references in one call
|
||||
# to install_name_tool:
|
||||
#
|
||||
execute_process(COMMAND install_name_tool
|
||||
${changes} -id "${${ikey}_EMBEDDED_ITEM}" "${resolved_embedded_item}"
|
||||
)
|
||||
endfunction(fixup_bundle_item)
|
||||
|
||||
|
||||
# fixup_bundle
|
||||
#
|
||||
# Fix up a bundle in-place and make it standalone, such that it can be drag-n-drop
|
||||
# copied to another machine and run on that machine as long as all of the system
|
||||
# libraries are compatible.
|
||||
#
|
||||
# Gather all the keys for all the executables and libraries in a bundle, and then,
|
||||
# for each key, copy each prerequisite into the bundle. Then fix each one up according
|
||||
# to its own list of prerequisites.
|
||||
#
|
||||
# Then clear all the keys and call verify_app on the final bundle to ensure that
|
||||
# it is truly standalone.
|
||||
#
|
||||
function(fixup_bundle app libs dirs)
|
||||
message(STATUS "fixup_bundle")
|
||||
message(STATUS " app='${app}'")
|
||||
message(STATUS " libs='${libs}'")
|
||||
message(STATUS " dirs='${dirs}'")
|
||||
|
||||
get_bundle_and_executable("${app}" bundle executable valid)
|
||||
if(valid)
|
||||
get_filename_component(exepath "${executable}" PATH)
|
||||
|
||||
message(STATUS "fixup_bundle: preparing...")
|
||||
get_bundle_keys("${app}" "${libs}" "${dirs}" keys)
|
||||
|
||||
message(STATUS "fixup_bundle: copying...")
|
||||
list(LENGTH keys n)
|
||||
math(EXPR n ${n}*2)
|
||||
|
||||
set(i 0)
|
||||
foreach(key ${keys})
|
||||
math(EXPR i ${i}+1)
|
||||
if(${${key}_COPYFLAG})
|
||||
message(STATUS "${i}/${n}: copying '${${key}_RESOLVED_ITEM}'")
|
||||
else(${${key}_COPYFLAG})
|
||||
message(STATUS "${i}/${n}: *NOT* copying '${${key}_RESOLVED_ITEM}'")
|
||||
endif(${${key}_COPYFLAG})
|
||||
|
||||
set(show_status 0)
|
||||
if(show_status)
|
||||
message(STATUS "key='${key}'")
|
||||
message(STATUS "item='${${key}_ITEM}'")
|
||||
message(STATUS "resolved_item='${${key}_RESOLVED_ITEM}'")
|
||||
message(STATUS "default_embedded_path='${${key}_DEFAULT_EMBEDDED_PATH}'")
|
||||
message(STATUS "embedded_item='${${key}_EMBEDDED_ITEM}'")
|
||||
message(STATUS "resolved_embedded_item='${${key}_RESOLVED_EMBEDDED_ITEM}'")
|
||||
message(STATUS "copyflag='${${key}_COPYFLAG}'")
|
||||
message(STATUS "")
|
||||
endif(show_status)
|
||||
|
||||
if(${${key}_COPYFLAG})
|
||||
copy_resolved_item_into_bundle("${${key}_RESOLVED_ITEM}"
|
||||
"${${key}_RESOLVED_EMBEDDED_ITEM}")
|
||||
endif(${${key}_COPYFLAG})
|
||||
endforeach(key)
|
||||
|
||||
message(STATUS "fixup_bundle: fixing...")
|
||||
foreach(key ${keys})
|
||||
math(EXPR i ${i}+1)
|
||||
message(STATUS "${i}/${n}: fixing up '${${key}_RESOLVED_EMBEDDED_ITEM}'")
|
||||
#message(STATUS " exepath='${exepath}'")
|
||||
fixup_bundle_item("${${key}_RESOLVED_EMBEDDED_ITEM}" "${exepath}" "${dirs}")
|
||||
endforeach(key)
|
||||
|
||||
message(STATUS "fixup_bundle: cleaning up...")
|
||||
clear_bundle_keys(keys)
|
||||
|
||||
message(STATUS "fixup_bundle: verifying...")
|
||||
verify_app("${app}")
|
||||
else(valid)
|
||||
message(STATUS "error: fixup_bundle: not a valid bundle")
|
||||
endif(valid)
|
||||
|
||||
message(STATUS "fixup_bundle: done")
|
||||
endfunction(fixup_bundle)
|
||||
|
||||
|
||||
# copy_and_fixup_bundle
|
||||
#
|
||||
# Makes a copy of the bundle "src" at location "dst" and then fixes up the
|
||||
# new copied bundle in-place at "dst"...
|
||||
#
|
||||
function(copy_and_fixup_bundle src dst libs dirs)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory "${src}" "${dst}")
|
||||
fixup_bundle("${dst}" "${libs}" "${dirs}")
|
||||
endfunction(copy_and_fixup_bundle)
|
||||
|
||||
|
||||
# verify_bundle_prerequisites
|
||||
#
|
||||
# Verifies that the sum of all prerequisites of all files inside the bundle
|
||||
# are contained within the bundle or are "system" libraries, presumed to exist
|
||||
# everywhere.
|
||||
#
|
||||
function(verify_bundle_prerequisites bundle result_var info_var)
|
||||
set(result 1)
|
||||
set(info "")
|
||||
set(count 0)
|
||||
|
||||
get_bundle_main_executable("${bundle}" main_bundle_exe)
|
||||
|
||||
file(GLOB_RECURSE file_list "${bundle}/*")
|
||||
foreach(f ${file_list})
|
||||
is_file_executable("${f}" is_executable)
|
||||
if(is_executable)
|
||||
get_filename_component(exepath "${f}" PATH)
|
||||
message(STATUS "executable file: ${f}")
|
||||
|
||||
math(EXPR count "${count} + 1")
|
||||
|
||||
set(prereqs "")
|
||||
get_prerequisites("${f}" prereqs 1 1 "${exepath}" "")
|
||||
|
||||
# "embedded" and "system" prerequisites are fine... anything else means
|
||||
# the bundle's prerequisites are not verified (i.e., the bundle is not
|
||||
# really "standalone")
|
||||
#
|
||||
set(external_prereqs "")
|
||||
foreach(p ${prereqs})
|
||||
set(p_type "")
|
||||
gp_file_type("${f}" "${p}" p_type)
|
||||
if (NOT "${p_type}" STREQUAL "embedded" AND NOT "${p_type}" STREQUAL "system")
|
||||
set(external_prereqs ${external_prereqs} "${p}")
|
||||
endif (NOT "${p_type}" STREQUAL "embedded" AND NOT "${p_type}" STREQUAL "system")
|
||||
endforeach(p)
|
||||
|
||||
if(external_prereqs)
|
||||
# Found non-system/non-embedded prerequisites:
|
||||
set(result 0)
|
||||
set(info ${info} "non-system/non-embedded prerequisites found:\nf='${f}'\nexternal_prereqs='${external_prereqs}'\n")
|
||||
endif(external_prereqs)
|
||||
endif(is_executable)
|
||||
endforeach(f)
|
||||
|
||||
if(result)
|
||||
set(info "Verified ${count} executable files in '${bundle}'")
|
||||
endif(result)
|
||||
|
||||
set(${result_var} "${result}" PARENT_SCOPE)
|
||||
set(${info_var} "${info}" PARENT_SCOPE)
|
||||
endfunction(verify_bundle_prerequisites)
|
||||
|
||||
|
||||
# verify_bundle_symlinks
|
||||
#
|
||||
# Verifies that any symlinks found in the bundle point to other files that are
|
||||
# already also in the bundle... Anything that points to an external file causes
|
||||
# this function to fail the verification.
|
||||
#
|
||||
function(verify_bundle_symlinks bundle result_var info_var)
|
||||
set(result 1)
|
||||
set(info "")
|
||||
set(count 0)
|
||||
|
||||
# TODO: implement this function for real...
|
||||
# Right now, it is just a stub that verifies unconditionally...
|
||||
|
||||
set(${result_var} "${result}" PARENT_SCOPE)
|
||||
set(${info_var} "${info}" PARENT_SCOPE)
|
||||
endfunction(verify_bundle_symlinks)
|
||||
|
||||
|
||||
# verify_app
|
||||
#
|
||||
# Verifies that an application appears valid based on running analysis tools on it.
|
||||
# Calls message/FATAL_ERROR if the application is not verified.
|
||||
#
|
||||
function(verify_app app)
|
||||
set(verified 0)
|
||||
set(info "")
|
||||
|
||||
get_bundle_and_executable("${app}" bundle executable valid)
|
||||
|
||||
message(STATUS "===========================================================================")
|
||||
message(STATUS "Analyzing app='${app}'")
|
||||
message(STATUS "bundle='${bundle}'")
|
||||
message(STATUS "executable='${executable}'")
|
||||
message(STATUS "valid='${valid}'")
|
||||
|
||||
# Verify that the bundle does not have any "external" prerequisites:
|
||||
#
|
||||
verify_bundle_prerequisites("${bundle}" verified info)
|
||||
message(STATUS "verified='${verified}'")
|
||||
message(STATUS "info='${info}'")
|
||||
message(STATUS "")
|
||||
|
||||
if(verified)
|
||||
# Verify that the bundle does not have any symlinks to external files:
|
||||
#
|
||||
verify_bundle_symlinks("${bundle}" verified info)
|
||||
message(STATUS "verified='${verified}'")
|
||||
message(STATUS "info='${info}'")
|
||||
message(STATUS "")
|
||||
endif(verified)
|
||||
|
||||
if(NOT verified)
|
||||
message(FATAL_ERROR "error: verify_app failed")
|
||||
endif(NOT verified)
|
||||
endfunction(verify_app)
|
@ -12,17 +12,17 @@
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/* Make sure the information strings are referenced. */
|
||||
#define REQUIRE(x) (&x[0] != &require)
|
||||
|
||||
int main()
|
||||
{
|
||||
const char require = 0;
|
||||
return
|
||||
(
|
||||
REQUIRE(info_sizeof_dptr)
|
||||
#if defined(ABI_ID)
|
||||
&& REQUIRE(info_abi)
|
||||
#ifdef __CLASSIC_C__
|
||||
int main(argc, argv) int argc; char *argv[];
|
||||
#else
|
||||
int main(int argc, char *argv[])
|
||||
#endif
|
||||
);
|
||||
{
|
||||
int require = 0;
|
||||
require += info_sizeof_dptr[argc];
|
||||
#if defined(ABI_ID)
|
||||
require += info_abi[argc];
|
||||
#endif
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
|
@ -2,15 +2,9 @@
|
||||
# error "A C++ compiler has been selected for C."
|
||||
#endif
|
||||
|
||||
/* Provide main() so the program can link. */
|
||||
#if defined(__18CXX)
|
||||
# define ID_VOID_MAIN
|
||||
#endif
|
||||
#ifdef ID_VOID_MAIN
|
||||
void main() {}
|
||||
#else
|
||||
int main() { return 0; }
|
||||
#endif
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
@ -82,3 +76,18 @@ int main() { return 0; }
|
||||
char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
|
||||
@CMAKE_C_COMPILER_ID_PLATFORM_CONTENT@
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
#ifdef ID_VOID_MAIN
|
||||
void main() {}
|
||||
#else
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
#endif
|
||||
|
@ -98,7 +98,6 @@ INCLUDE(CMakeCommonLanguageInclude)
|
||||
|
||||
# CMAKE_C_CREATE_SHARED_LIBRARY
|
||||
# CMAKE_C_CREATE_SHARED_MODULE
|
||||
# CMAKE_C_CREATE_STATIC_LIBRARY
|
||||
# CMAKE_C_COMPILE_OBJECT
|
||||
# CMAKE_C_LINK_EXECUTABLE
|
||||
|
||||
@ -133,12 +132,11 @@ IF(NOT CMAKE_C_CREATE_SHARED_MODULE)
|
||||
SET(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_LIBRARY})
|
||||
ENDIF(NOT CMAKE_C_CREATE_SHARED_MODULE)
|
||||
|
||||
# create a C static library
|
||||
IF(NOT CMAKE_C_CREATE_STATIC_LIBRARY)
|
||||
SET(CMAKE_C_CREATE_STATIC_LIBRARY
|
||||
"<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
|
||||
"<CMAKE_RANLIB> <TARGET> ")
|
||||
ENDIF(NOT CMAKE_C_CREATE_STATIC_LIBRARY)
|
||||
# Create a static archive incrementally for large object file counts.
|
||||
# If CMAKE_C_CREATE_STATIC_LIBRARY is set it will override these.
|
||||
SET(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||
SET(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||
SET(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
|
||||
|
||||
# compile a C file into an object file
|
||||
IF(NOT CMAKE_C_COMPILE_OBJECT)
|
||||
|
@ -8,17 +8,13 @@
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
/* Make sure the information strings are referenced. */
|
||||
#define REQUIRE(x) (&x[0] != &require)
|
||||
|
||||
int main()
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
const char require = 0;
|
||||
return
|
||||
(
|
||||
REQUIRE(info_sizeof_dptr)
|
||||
int require = 0;
|
||||
require += info_sizeof_dptr[argc];
|
||||
#if defined(ABI_ID)
|
||||
&& REQUIRE(info_abi)
|
||||
require += info_abi[argc];
|
||||
#endif
|
||||
);
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
|
@ -5,9 +5,6 @@
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
/* Provide main() so the program can link. */
|
||||
int main() { return 0; }
|
||||
|
||||
#if defined(__COMO__)
|
||||
# define COMPILER_ID "Comeau"
|
||||
|
||||
@ -70,3 +67,14 @@ int main() { return 0; }
|
||||
char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
|
||||
@CMAKE_CXX_COMPILER_ID_PLATFORM_CONTENT@
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
|
@ -176,7 +176,6 @@ INCLUDE(CMakeCommonLanguageInclude)
|
||||
# now define the following rules:
|
||||
# CMAKE_CXX_CREATE_SHARED_LIBRARY
|
||||
# CMAKE_CXX_CREATE_SHARED_MODULE
|
||||
# CMAKE_CXX_CREATE_STATIC_LIBRARY
|
||||
# CMAKE_CXX_COMPILE_OBJECT
|
||||
# CMAKE_CXX_LINK_EXECUTABLE
|
||||
|
||||
@ -212,12 +211,11 @@ IF(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
|
||||
ENDIF(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
|
||||
|
||||
|
||||
# create a C++ static library
|
||||
IF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY)
|
||||
SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
|
||||
"<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
|
||||
"<CMAKE_RANLIB> <TARGET> ")
|
||||
ENDIF(NOT CMAKE_CXX_CREATE_STATIC_LIBRARY)
|
||||
# Create a static archive incrementally for large object file counts.
|
||||
# If CMAKE_CXX_CREATE_STATIC_LIBRARY is set it will override these.
|
||||
SET(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||
SET(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||
SET(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
|
||||
|
||||
# compile a C++ file into an object file
|
||||
IF(NOT CMAKE_CXX_COMPILE_OBJECT)
|
||||
|
@ -43,14 +43,17 @@ IF (NOT _CMAKE_TOOLCHAIN_LOCATION)
|
||||
GET_FILENAME_COMPONENT(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" PATH)
|
||||
ENDIF (NOT _CMAKE_TOOLCHAIN_LOCATION)
|
||||
|
||||
# if we have a gcc cross compiler, they have usually some prefix, like
|
||||
# e.g. powerpc-linux-gcc, arm-elf-gcc or i586-mingw32msvc-gcc
|
||||
# the other tools of the toolchain usually have the same prefix
|
||||
# If we have a gcc cross compiler, they have usually some prefix, like
|
||||
# e.g. powerpc-linux-gcc, arm-elf-gcc or i586-mingw32msvc-gcc .
|
||||
# The other tools of the toolchain usually have the same prefix
|
||||
# NAME_WE cannot be used since then this test will fail for names lile
|
||||
# "arm-unknown-nto-qnx6.3.0-gcc.exe", where BASENAME would be
|
||||
# "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-"
|
||||
IF (NOT _CMAKE_TOOLCHAIN_PREFIX)
|
||||
GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" NAME_WE)
|
||||
IF (COMPILER_BASENAME MATCHES "^(.+-)g?as")
|
||||
STRING(REGEX REPLACE "^(.+-)g?as" "\\1" _CMAKE_TOOLCHAIN_PREFIX "${COMPILER_BASENAME}")
|
||||
ENDIF (COMPILER_BASENAME MATCHES "^(.+-)g?as")
|
||||
GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" NAME)
|
||||
IF (COMPILER_BASENAME MATCHES "^(.+-)g?as(\\.exe)?$")
|
||||
STRING(REGEX REPLACE "^(.+-)g?as(\\.exe)?$" "\\1" _CMAKE_TOOLCHAIN_PREFIX "${COMPILER_BASENAME}")
|
||||
ENDIF (COMPILER_BASENAME MATCHES "^(.+-)g?as(\\.exe)?$")
|
||||
ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
|
||||
|
||||
INCLUDE(CMakeFindBinUtils)
|
||||
|
@ -88,17 +88,6 @@ IF (NOT _CMAKE_TOOLCHAIN_LOCATION)
|
||||
GET_FILENAME_COMPONENT(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
|
||||
ENDIF (NOT _CMAKE_TOOLCHAIN_LOCATION)
|
||||
|
||||
# if we have a gcc cross compiler, they have usually some prefix, like
|
||||
# e.g. powerpc-linux-gcc, arm-elf-gcc or i586-mingw32msvc-gcc
|
||||
# the other tools of the toolchain usually have the same prefix
|
||||
IF (NOT _CMAKE_TOOLCHAIN_PREFIX)
|
||||
GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME_WE)
|
||||
IF (COMPILER_BASENAME MATCHES "^(.+-)g?cc")
|
||||
STRING(REGEX REPLACE "^(.+-)g?cc" "\\1" _CMAKE_TOOLCHAIN_PREFIX "${COMPILER_BASENAME}")
|
||||
ENDIF (COMPILER_BASENAME MATCHES "^(.+-)g?cc")
|
||||
ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
|
||||
|
||||
|
||||
# Build a small source file to identify the compiler.
|
||||
IF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
|
||||
SET(CMAKE_C_COMPILER_ID_RUN 1)
|
||||
@ -138,6 +127,33 @@ IF(NOT CMAKE_C_COMPILER_ID_RUN)
|
||||
ENDIF("${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW")
|
||||
ENDIF(NOT CMAKE_C_COMPILER_ID_RUN)
|
||||
|
||||
# If we have a gcc cross compiler, they have usually some prefix, like
|
||||
# e.g. powerpc-linux-gcc, arm-elf-gcc or i586-mingw32msvc-gcc .
|
||||
# The other tools of the toolchain usually have the same prefix
|
||||
# NAME_WE cannot be used since then this test will fail for names lile
|
||||
# "arm-unknown-nto-qnx6.3.0-gcc.exe", where BASENAME would be
|
||||
# "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-"
|
||||
IF (CMAKE_CROSSCOMPILING
|
||||
AND "${CMAKE_C_COMPILER_ID}" MATCHES "GNU"
|
||||
AND NOT _CMAKE_TOOLCHAIN_PREFIX)
|
||||
GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME)
|
||||
IF (COMPILER_BASENAME MATCHES "^(.+-)g?cc(\\.exe)?$")
|
||||
SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
|
||||
ENDIF (COMPILER_BASENAME MATCHES "^(.+-)g?cc(\\.exe)?$")
|
||||
|
||||
# if "llvm-" is part of the prefix, remove it, since llvm doesn't have its own binutils
|
||||
# but uses the regular ar, objcopy, etc. (instead of llvm-objcopy etc.)
|
||||
IF ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
|
||||
SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
|
||||
ENDIF ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
|
||||
|
||||
ENDIF (CMAKE_CROSSCOMPILING
|
||||
AND "${CMAKE_C_COMPILER_ID}" MATCHES "GNU"
|
||||
AND NOT _CMAKE_TOOLCHAIN_PREFIX)
|
||||
|
||||
|
||||
|
||||
|
||||
INCLUDE(CMakeFindBinUtils)
|
||||
|
||||
# configure variables set in this file for fast reload later on
|
||||
|
@ -88,16 +88,6 @@ IF (NOT _CMAKE_TOOLCHAIN_LOCATION)
|
||||
GET_FILENAME_COMPONENT(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH)
|
||||
ENDIF (NOT _CMAKE_TOOLCHAIN_LOCATION)
|
||||
|
||||
# if we have a g++ cross compiler, they have usually some prefix, like
|
||||
# e.g. powerpc-linux-g++, arm-elf-g++ or i586-mingw32msvc-g++
|
||||
# the other tools of the toolchain usually have the same prefix
|
||||
IF (NOT _CMAKE_TOOLCHAIN_PREFIX)
|
||||
GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME_WE)
|
||||
IF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+")
|
||||
STRING(REGEX REPLACE "^(.+-)[gc]\\+\\+" "\\1" _CMAKE_TOOLCHAIN_PREFIX "${COMPILER_BASENAME}")
|
||||
ENDIF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+")
|
||||
ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
|
||||
|
||||
# This block was used before the compiler was identified by building a
|
||||
# source file. Unless g++ crashes when building a small C++
|
||||
# executable this should no longer be needed.
|
||||
@ -148,6 +138,30 @@ IF(NOT CMAKE_CXX_COMPILER_ID_RUN)
|
||||
ENDIF("${CMAKE_CXX_PLATFORM_ID}" MATCHES "MinGW")
|
||||
ENDIF(NOT CMAKE_CXX_COMPILER_ID_RUN)
|
||||
|
||||
# if we have a g++ cross compiler, they have usually some prefix, like
|
||||
# e.g. powerpc-linux-g++, arm-elf-g++ or i586-mingw32msvc-g++
|
||||
# the other tools of the toolchain usually have the same prefix
|
||||
# NAME_WE cannot be used since then this test will fail for names lile
|
||||
# "arm-unknown-nto-qnx6.3.0-gcc.exe", where BASENAME would be
|
||||
# "arm-unknown-nto-qnx6" instead of the correct "arm-unknown-nto-qnx6.3.0-"
|
||||
IF (CMAKE_CROSSCOMPILING
|
||||
AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU"
|
||||
AND NOT _CMAKE_TOOLCHAIN_PREFIX)
|
||||
GET_FILENAME_COMPONENT(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME)
|
||||
IF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(\\.exe)?$")
|
||||
SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
|
||||
ENDIF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(\\.exe)?$")
|
||||
|
||||
# if "llvm-" is part of the prefix, remove it, since llvm doesn't have its own binutils
|
||||
# but uses the regular ar, objcopy, etc. (instead of llvm-objcopy etc.)
|
||||
IF ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
|
||||
SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
|
||||
ENDIF ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
|
||||
|
||||
ENDIF (CMAKE_CROSSCOMPILING
|
||||
AND "${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU"
|
||||
AND NOT _CMAKE_TOOLCHAIN_PREFIX)
|
||||
|
||||
INCLUDE(CMakeFindBinUtils)
|
||||
|
||||
# configure all variables set in this file
|
||||
|
@ -22,8 +22,7 @@ IF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC"
|
||||
OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC"
|
||||
OR "${CMAKE_GENERATOR}" MATCHES "Visual Studio")
|
||||
|
||||
FIND_PROGRAM(CMAKE_LINKER NAMES link PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
|
||||
FIND_PROGRAM(CMAKE_LINKER NAMES link)
|
||||
FIND_PROGRAM(CMAKE_LINKER NAMES link HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
|
||||
MARK_AS_ADVANCED(CMAKE_LINKER)
|
||||
|
||||
@ -32,29 +31,18 @@ ELSE("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC"
|
||||
OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC"
|
||||
OR "${CMAKE_GENERATOR}" MATCHES "Visual Studio")
|
||||
|
||||
FIND_PROGRAM(CMAKE_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
|
||||
FIND_PROGRAM(CMAKE_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar)
|
||||
FIND_PROGRAM(CMAKE_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
|
||||
FIND_PROGRAM(CMAKE_RANLIB NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ranlib ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
|
||||
FIND_PROGRAM(CMAKE_RANLIB NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ranlib)
|
||||
FIND_PROGRAM(CMAKE_RANLIB NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ranlib HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
IF(NOT CMAKE_RANLIB)
|
||||
SET(CMAKE_RANLIB : CACHE INTERNAL "noop for ranlib")
|
||||
ENDIF(NOT CMAKE_RANLIB)
|
||||
|
||||
FIND_PROGRAM(CMAKE_STRIP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}strip PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
|
||||
FIND_PROGRAM(CMAKE_STRIP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}strip)
|
||||
|
||||
FIND_PROGRAM(CMAKE_LINKER NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ld PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
|
||||
FIND_PROGRAM(CMAKE_LINKER NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ld)
|
||||
|
||||
FIND_PROGRAM(CMAKE_NM NAMES ${_CMAKE_TOOLCHAIN_PREFIX}nm PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
|
||||
FIND_PROGRAM(CMAKE_NM NAMES ${_CMAKE_TOOLCHAIN_PREFIX}nm)
|
||||
|
||||
FIND_PROGRAM(CMAKE_OBJDUMP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objdump PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
|
||||
FIND_PROGRAM(CMAKE_OBJDUMP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objdump)
|
||||
|
||||
FIND_PROGRAM(CMAKE_OBJCOPY NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objcopy PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
|
||||
FIND_PROGRAM(CMAKE_OBJCOPY NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objcopy)
|
||||
FIND_PROGRAM(CMAKE_STRIP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}strip HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
FIND_PROGRAM(CMAKE_LINKER NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ld HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
FIND_PROGRAM(CMAKE_NM NAMES ${_CMAKE_TOOLCHAIN_PREFIX}nm HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
FIND_PROGRAM(CMAKE_OBJDUMP NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objdump HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
FIND_PROGRAM(CMAKE_OBJCOPY NAMES ${_CMAKE_TOOLCHAIN_PREFIX}objcopy HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
|
||||
MARK_AS_ADVANCED(CMAKE_AR CMAKE_RANLIB CMAKE_STRIP CMAKE_LINKER CMAKE_NM CMAKE_OBJDUMP CMAKE_OBJCOPY)
|
||||
|
||||
@ -65,8 +53,7 @@ ENDIF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC"
|
||||
|
||||
# on Apple there really should be install_name_tool
|
||||
IF(APPLE)
|
||||
FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool PATHS ${_CMAKE_TOOLCHAIN_LOCATION} NO_DEFAULT_PATH)
|
||||
FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool)
|
||||
FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
|
||||
|
||||
IF(NOT CMAKE_INSTALL_NAME_TOOL)
|
||||
MESSAGE(FATAL_ERROR "Could not find install_name_tool, please check your installation.")
|
||||
|
@ -8,6 +8,8 @@ PROGRAM CMakeFortranCompilerId
|
||||
PRINT *, 'INFO:compiler[GNU]'
|
||||
#elif defined(__IBM__) || defined(__IBMC__)
|
||||
PRINT *, 'INFO:compiler[VisualAge]'
|
||||
#elif defined(__PGI)
|
||||
PRINT *, 'INFO:compiler[PGI]'
|
||||
#elif defined(_COMPILER_VERSION)
|
||||
PRINT *, 'INFO:compiler[MIPSpro]'
|
||||
! This compiler is either not known or is too old to define an
|
||||
|
@ -119,7 +119,6 @@ INCLUDE(CMakeCommonLanguageInclude)
|
||||
# now define the following rule variables
|
||||
# CMAKE_Fortran_CREATE_SHARED_LIBRARY
|
||||
# CMAKE_Fortran_CREATE_SHARED_MODULE
|
||||
# CMAKE_Fortran_CREATE_STATIC_LIBRARY
|
||||
# CMAKE_Fortran_COMPILE_OBJECT
|
||||
# CMAKE_Fortran_LINK_EXECUTABLE
|
||||
|
||||
@ -134,12 +133,11 @@ IF(NOT CMAKE_Fortran_CREATE_SHARED_MODULE)
|
||||
SET(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY})
|
||||
ENDIF(NOT CMAKE_Fortran_CREATE_SHARED_MODULE)
|
||||
|
||||
# create a Fortran static library
|
||||
IF(NOT CMAKE_Fortran_CREATE_STATIC_LIBRARY)
|
||||
SET(CMAKE_Fortran_CREATE_STATIC_LIBRARY
|
||||
"<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
|
||||
"<CMAKE_RANLIB> <TARGET> ")
|
||||
ENDIF(NOT CMAKE_Fortran_CREATE_STATIC_LIBRARY)
|
||||
# Create a static archive incrementally for large object file counts.
|
||||
# If CMAKE_Fortran_CREATE_STATIC_LIBRARY is set it will override these.
|
||||
SET(CMAKE_Fortran_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||
SET(CMAKE_Fortran_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
|
||||
SET(CMAKE_Fortran_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
|
||||
|
||||
# compile a Fortran file into an object file
|
||||
IF(NOT CMAKE_Fortran_COMPILE_OBJECT)
|
||||
|
@ -95,7 +95,7 @@ MACRO(CMAKE_IMPORT_BUILD_SETTINGS SETTINGS_FILE)
|
||||
|
||||
# Build tool must match on Windows.
|
||||
IF(WIN32)
|
||||
IF(CMAKE_BUILD_TOOL_MISMATCH)
|
||||
IF(CMAKE_BUILD_TOOL_MISMATCH AND NOT CMAKE_OVERRIDE_COMPILER_MISMATCH)
|
||||
MESSAGE(SEND_ERROR
|
||||
"This project, ${PROJECT_NAME}, depends on the project "
|
||||
"${CMAKE_BUILD_SETTING_PROJECT_NAME}. Unfortunately "
|
||||
@ -115,7 +115,7 @@ MACRO(CMAKE_IMPORT_BUILD_SETTINGS SETTINGS_FILE)
|
||||
"${CMAKE_BUILD_SETTING_PROJECT_NAME} or rebuild "
|
||||
"${CMAKE_BUILD_SETTING_PROJECT_NAME} with the correct "
|
||||
"generator. ")
|
||||
ENDIF(CMAKE_BUILD_TOOL_MISMATCH)
|
||||
ENDIF(CMAKE_BUILD_TOOL_MISMATCH AND NOT CMAKE_OVERRIDE_COMPILER_MISMATCH)
|
||||
ENDIF(WIN32)
|
||||
|
||||
# Enforce the C++ compiler setting.
|
||||
|
@ -38,8 +38,7 @@ ENDIF(NOT CMAKE_Fortran_COMPILER_WORKS)
|
||||
|
||||
IF(CMAKE_Fortran_COMPILER_WORKS)
|
||||
# Test for Fortran 90 support by using an f90-specific construct.
|
||||
IF(DEFINED CMAKE_Fortran_COMPILER_SUPPORTS_F90)
|
||||
ELSE(DEFINED CMAKE_Fortran_COMPILER_SUPPORTS_F90)
|
||||
IF(NOT DEFINED CMAKE_Fortran_COMPILER_SUPPORTS_F90)
|
||||
MESSAGE(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90")
|
||||
FILE(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompilerF90.f90 "
|
||||
PROGRAM TESTFortran90
|
||||
@ -62,5 +61,5 @@ IF(CMAKE_Fortran_COMPILER_WORKS)
|
||||
"the following output:\n${OUTPUT}\n\n")
|
||||
SET(CMAKE_Fortran_COMPILER_SUPPORTS_F90 0 CACHE INTERNAL "")
|
||||
ENDIF(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
|
||||
ENDIF(DEFINED CMAKE_Fortran_COMPILER_SUPPORTS_F90)
|
||||
ENDIF(NOT DEFINED CMAKE_Fortran_COMPILER_SUPPORTS_F90)
|
||||
ENDIF(CMAKE_Fortran_COMPILER_WORKS)
|
||||
|
@ -32,6 +32,6 @@
|
||||
<key>IFPkgFormatVersion</key>
|
||||
<real>0.10000000149011612</real>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.@CPACK_PACKAGE_VENDOR@.@CPACK_PACKAGE_NAME@.@CPACK_PACKAGE_VERSION@</string>
|
||||
<string>com.@CPACK_PACKAGE_VENDOR@.@CPACK_PACKAGE_NAME@@CPACK_MODULE_VERSION_SUFFIX@</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -6,7 +6,7 @@ CWD="`dirname \"$0\"`"
|
||||
TMP=/tmp/$UID/TemporaryItems
|
||||
|
||||
version=`sw_vers -productVersion`
|
||||
if [ "$?" == "0" ]; then
|
||||
if [ "$?" = "0" ]; then
|
||||
major=${version%%\.*}
|
||||
rest=${version#*\.}
|
||||
minor=${rest%%\.*}
|
||||
@ -36,7 +36,7 @@ cat << __END_OF_GETDISPLAY_SCRIPT__ > "$TMP/getdisplay.sh"
|
||||
#!/bin/sh
|
||||
mkdir -p "$TMP"
|
||||
|
||||
if [ "\$DISPLAY"x == "x" ]; then
|
||||
if [ "\$DISPLAY"x = "x" ]; then
|
||||
echo :0 > "$TMP/display"
|
||||
else
|
||||
echo \$DISPLAY > "$TMP/display"
|
||||
@ -48,7 +48,7 @@ open-x11 $TMP/getdisplay.sh || \
|
||||
open -a XDarwin $TMP/getdisplay.sh || \
|
||||
echo ":0" > $TMP/display
|
||||
|
||||
while [ "$?" == "0" -a ! -f $TMP/display ];
|
||||
while [ "$?" = "0" -a ! -f $TMP/display ];
|
||||
do
|
||||
#echo "Waiting for display $TMP/display"
|
||||
sleep 1;
|
||||
|
@ -1,6 +1,390 @@
|
||||
# Default output files will be CPackConfig.cmake and CPackSourceConfig.cmake.
|
||||
# This can be overwritten with CPACK_OUTPUT_CONFIG_FILE and
|
||||
# CPACK_SOURCE_OUTPUT_CONFIG_FILE.
|
||||
# - Build binary and source package installers
|
||||
#
|
||||
# The CPack module generates binary and source installers in a variety
|
||||
# of formats using the cpack program. Inclusion of the CPack module
|
||||
# adds two new targets to the resulting makefiles, package and
|
||||
# package_source, which build the binary and source installers,
|
||||
# respectively. The generated binary installers contain everything
|
||||
# installed via CMake's INSTALL command (and the deprecated
|
||||
# INSTALL_FILES, INSTALL_PROGRAMS, and INSTALL_TARGETS commands).
|
||||
#
|
||||
# For certain kinds of binary installers (including the graphical
|
||||
# installers on Mac OS X and Windows), CPack generates installers that
|
||||
# allow users to select individual application components to
|
||||
# install. The contents of each of the components are identified by
|
||||
# the COMPONENT argument of CMake's INSTALL command. These components
|
||||
# can be annotated with user-friendly names and descriptions,
|
||||
# inter-component dependencies, etc., and grouped in various ways to
|
||||
# customize the resulting installer. See the cpack_add_* commands,
|
||||
# described below, for more information about component-specific
|
||||
# installations.
|
||||
#
|
||||
# Before including the CPack module, there are a variety of variables
|
||||
# that can be set to customize the resulting installers. The most
|
||||
# commonly-used variables are:
|
||||
#
|
||||
# CPACK_PACKAGE_NAME - The name of the package (or application). If
|
||||
# not specified, defaults to the project name.
|
||||
#
|
||||
# CPACK_PACKAGE_VENDOR - The name of the package vendor (e.g.,
|
||||
# "Kitware").
|
||||
#
|
||||
# CPACK_PACKAGE_VERSION_MAJOR - Package major Version
|
||||
#
|
||||
# CPACK_PACKAGE_VERSION_MINOR - Package minor Version
|
||||
#
|
||||
# CPACK_PACKAGE_VERSION_PATCH - Package patch Version
|
||||
#
|
||||
# CPACK_PACKAGE_DESCRIPTION_FILE - A text file used to describe the
|
||||
# project. Used, for example, the introduction screen of a
|
||||
# CPack-generated Windows installer to describe the project.
|
||||
#
|
||||
# CPACK_PACKAGE_DESCRIPTION_SUMMARY - Short description of the
|
||||
# project (only a few words).
|
||||
#
|
||||
# CPACK_PACKAGE_FILE_NAME - The name of the package file to generate,
|
||||
# not including the extension. For example, cmake-2.6.1-Linux-i686.
|
||||
#
|
||||
# CPACK_PACKAGE_INSTALL_DIRECTORY - Installation directory on the
|
||||
# target system, e.g., "CMake 2.5".
|
||||
#
|
||||
# CPACK_RESOURCE_FILE_LICENSE - License file for the project, which
|
||||
# will typically be displayed to the user (often with an explicit
|
||||
# "Accept" button, for graphical installers) prior to installation.
|
||||
#
|
||||
# CPACK_RESOURCE_FILE_README - ReadMe file for the project, which
|
||||
# typically describes in some detail
|
||||
#
|
||||
# CPACK_RESOURCE_FILE_WELCOME - Welcome file for the project, which
|
||||
# welcomes users to this installer. Typically used in the graphical
|
||||
# installers on Windows and Mac OS X.
|
||||
#
|
||||
# CPACK_MONOLITHIC_INSTALL - Disables the component-based
|
||||
# installation mechanism, so that all components are always installed.
|
||||
#
|
||||
# CPACK_GENERATOR - List of CPack generators to use. If not
|
||||
# specified, CPack will create a set of options (e.g.,
|
||||
# CPACK_BINARY_NSIS) allowing the user to enable/disable individual
|
||||
# generators.
|
||||
#
|
||||
# CPACK_OUTPUT_CONFIG_FILE - The name of the CPack configuration file
|
||||
# for binary installers that will be generated by the CPack
|
||||
# module. Defaults to CPackConfig.cmake.
|
||||
#
|
||||
# CPACK_PACKAGE_EXECUTABLES - Lists each of the executables along
|
||||
# with a text label, to be used to create Start Menu shortcuts on
|
||||
# Windows. For example, setting this to the list ccmake;CMake will
|
||||
# create a shortcut named "CMake" that will execute the installed
|
||||
# executable ccmake.
|
||||
#
|
||||
# CPACK_STRIP_FILES - List of files to be stripped. Starting with
|
||||
# CMake 2.6.0 CPACK_STRIP_FILES will be a boolean variable which
|
||||
# enables stripping of all files (a list of files evaluates to TRUE
|
||||
# in CMake, so this change is compatible).
|
||||
#
|
||||
# The following CPack variables are specific to source packages, and
|
||||
# will not affect binary packages:
|
||||
#
|
||||
# CPACK_SOURCE_PACKAGE_FILE_NAME - The name of the source package,
|
||||
# e.g., cmake-2.6.1
|
||||
#
|
||||
# CPACK_SOURCE_STRIP_FILES - List of files in the source tree that
|
||||
# will be stripped. Starting with CMake 2.6.0
|
||||
# CPACK_SOURCE_STRIP_FILES will be a boolean variable which enables
|
||||
# stripping of all files (a list of files evaluates to TRUE in CMake,
|
||||
# so this change is compatible).
|
||||
#
|
||||
# CPACK_SOURCE_GENERATOR - List of generators used for the source
|
||||
# packages. As with CPACK_GENERATOR, if this is not specified then
|
||||
# CPack will create a set of options (e.g., CPACK_SOURCE_ZIP)
|
||||
# allowing users to select which packages will be generated.
|
||||
#
|
||||
# CPACK_SOURCE_OUTPUT_CONFIG_FILE - The name of the CPack
|
||||
# configuration file for source installers that will be generated by
|
||||
# the CPack module. Defaults to CPackSourceConfig.cmake.
|
||||
#
|
||||
# CPACK_SOURCE_IGNORE_FILES - Pattern of files in the source tree
|
||||
# that won't be packaged when building a source package. This is a
|
||||
# list of patterns, e.g., /CVS/;/\\.svn/;\\.swp$;\\.#;/#;.*~;cscope.*
|
||||
#
|
||||
# The following variables are specific to the graphical installers built
|
||||
# on Windows using the Nullsoft Installation System.
|
||||
#
|
||||
# CPACK_PACKAGE_INSTALL_REGISTRY_KEY - Registry key used when
|
||||
# installing this project.
|
||||
#
|
||||
# CPACK_NSIS_MUI_ICON - The icon file (.ico) for the generated
|
||||
# install program.
|
||||
#
|
||||
# CPACK_NSIS_MUI_UNIICON - The icon file (.ico) for the generated
|
||||
# uninstall program.
|
||||
#
|
||||
# CPACK_PACKAGE_ICON - A branding image that will be displayed inside
|
||||
# the installer.
|
||||
#
|
||||
# CPACK_NSIS_EXTRA_INSTALL_COMMANDS - Extra NSIS commands that will
|
||||
# be added to the install Section.
|
||||
#
|
||||
# CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS - Extra NSIS commands that will
|
||||
# be added to the uninstall Section.
|
||||
#
|
||||
# CPACK_NSIS_COMPRESSOR - The arguments that will be passed to the
|
||||
# NSIS SetCompressor command.
|
||||
#
|
||||
# CPACK_NSIS_MODIFY_PATH - If this is set to "ON", then an extra page
|
||||
# will appear in the installer that will allow the user to choose
|
||||
# whether the program directory should be added to the system PATH
|
||||
# variable.
|
||||
#
|
||||
# CPACK_NSIS_DISPLAY_NAME - The title displayed at the top of the
|
||||
# installer.
|
||||
#
|
||||
# CPACK_NSIS_INSTALLED_ICON_NAME - A path to the executable that
|
||||
# contains the installer icon.
|
||||
#
|
||||
# CPACK_NSIS_HELP_LINK - URL to a web site providing assistance in
|
||||
# installing your application.
|
||||
#
|
||||
# CPACK_NSIS_URL_INFO_ABOUT - URL to a web site providing more
|
||||
# information about your application.
|
||||
#
|
||||
# CPACK_NSIS_CONTACT - Contact information for questions and comments
|
||||
# about the installation process.
|
||||
#
|
||||
# CPACK_NSIS_CREATE_ICONS_EXTRA - Additional NSIS commands for
|
||||
# creating start menu shortcuts.
|
||||
#
|
||||
# CPACK_NSIS_DELETE_ICONS_EXTRA -Additional NSIS commands to
|
||||
# uninstall start menu shortcuts.
|
||||
#
|
||||
# The following variable is specific to installers build on Mac OS X
|
||||
# using PackageMaker:
|
||||
#
|
||||
# CPACK_OSX_PACKAGE_VERSION - The version of Mac OS X that the
|
||||
# resulting PackageMaker archive should be compatible
|
||||
# with. Different versions of Mac OS X support different
|
||||
# features. For example, CPack can only build component-based
|
||||
# installers for Mac OS X 10.4 or newer, and can only build
|
||||
# installers that download component son-the-fly for Mac OS X 10.5
|
||||
# or newer. If left blank, this value will be set to the minimum
|
||||
# version of Mac OS X that supports the requested features. Set this
|
||||
# variable to some value (e.g., 10.4) only if you want to guarantee
|
||||
# that your installer will work on that version of Mac OS X, and
|
||||
# don't mind missing extra features available in the installer
|
||||
# shipping with later versions of Mac OS X.
|
||||
#
|
||||
# The following variables are for advanced uses of CPack:
|
||||
#
|
||||
# CPACK_CMAKE_GENERATOR - What CMake generator should be used if the
|
||||
# project is CMake project. Defaults to the value of CMAKE_GENERATOR;
|
||||
# few users will want to change this setting.
|
||||
#
|
||||
# CPACK_INSTALL_CMAKE_PROJECTS - List of four values that specify
|
||||
# what project to install. The four values are: Build directory,
|
||||
# Project Name, Project Component, Directory. If omitted, CPack will
|
||||
# build an installer that installers everything.
|
||||
#
|
||||
# CPACK_SYSTEM_NAME - System name, defaults to the value of
|
||||
# ${CMAKE_SYSTEM_NAME}.
|
||||
#
|
||||
# CPACK_PACKAGE_VERSION - Package full version, used internally. By
|
||||
# default, this is built from CPACK_PACKAGE_VERSION_MAJOR,
|
||||
# CPACK_PACKAGE_VERSION_MINOR, and CPACK_PACKAGE_VERSION_PATCH.
|
||||
#
|
||||
# CPACK_TOPLEVEL_TAG - Directory for the installed files.
|
||||
#
|
||||
# CPACK_INSTALL_COMMANDS - Extra commands to install components.
|
||||
#
|
||||
# CPACK_INSTALL_DIRECTORIES - Extra directories to install.
|
||||
#
|
||||
# Component-specific installation allows users to select specific sets
|
||||
# of components to install during the install process. Installation
|
||||
# components are identified by the COMPONENT argument of CMake's
|
||||
# INSTALL commands, and should be further described by the following
|
||||
# CPack commands:
|
||||
#
|
||||
# cpack_add_component - Describes a CPack installation component
|
||||
# named by the COMPONENT argument to a CMake INSTALL command.
|
||||
#
|
||||
# cpack_add_component(compname
|
||||
# [DISPLAY_NAME name]
|
||||
# [DESCRIPTION description]
|
||||
# [HIDDEN | REQUIRED | DISABLED ]
|
||||
# [GROUP group]
|
||||
# [DEPENDS comp1 comp2 ... ]
|
||||
# [INSTALL_TYPES type1 type2 ... ]
|
||||
# [DOWNLOADED]
|
||||
# [ARCHIVE_FILE filename])
|
||||
#
|
||||
# The cmake_add_component command describes an installation
|
||||
# component, which the user can opt to install or remove as part of
|
||||
# the graphical installation process. compname is the name of the
|
||||
# component, as provided to the COMPONENT argument of one or more
|
||||
# CMake INSTALL commands.
|
||||
#
|
||||
# DISPLAY_NAME is the displayed name of the component, used in
|
||||
# graphical installers to display the component name. This value can
|
||||
# be any string.
|
||||
#
|
||||
# DESCRIPTION is an extended description of the component, used in
|
||||
# graphical installers to give the user additional information about
|
||||
# the component. Descriptions can span multiple lines using "\n" as
|
||||
# the line separator. Typically, these descriptions should be no
|
||||
# more than a few lines long.
|
||||
#
|
||||
# HIDDEN indicates that this component will be hidden in the
|
||||
# graphical installer, so that the user cannot directly change
|
||||
# whether it is installed or not.
|
||||
#
|
||||
# REQUIRED indicates that this component is required, and therefore
|
||||
# will always be installed. It will be visible in the graphical
|
||||
# installer, but it cannot be unselected. (Typically, required
|
||||
# components are shown greyed out).
|
||||
#
|
||||
# DISABLED indicates that this component should be disabled
|
||||
# (unselected) by default. The user is free to select this component
|
||||
# for installation, unless it is also HIDDEN.
|
||||
#
|
||||
# DEPENDS lists the components on which this component depends. If
|
||||
# this component is selected, then each of the components listed
|
||||
# must also be selected. The dependency information is encoded
|
||||
# within the installer itself, so that users cannot install
|
||||
# inconsitent sets of components.
|
||||
#
|
||||
# GROUP names the component group of which this component is a
|
||||
# part. If not provided, the component will be a standalone
|
||||
# component, not part of any component group. Component groups are
|
||||
# described with the cpack_add_component_group command, detailed
|
||||
# below.
|
||||
#
|
||||
# INSTALL_TYPES lists the installation types of which this component
|
||||
# is a part. When one of these installations types is selected, this
|
||||
# component will automatically be selected. Installation types are
|
||||
# described with the cpack_add_install_type command, detailed below.
|
||||
#
|
||||
# DOWNLOADED indicates that this component should be downloaded
|
||||
# on-the-fly by the installer, rather than packaged in with the
|
||||
# installer itself. For more information, see the cpack_configure_downloads
|
||||
# command.
|
||||
#
|
||||
# ARCHIVE_FILE provides a name for the archive file created by CPack
|
||||
# to be used for downloaded components. If not supplied, CPack will
|
||||
# create a file with some name based on CPACK_PACKAGE_FILE_NAME and
|
||||
# the name of the component. See cpack_configure_downloads for more
|
||||
# information.
|
||||
#
|
||||
# cpack_add_component_group - Describes a group of related CPack
|
||||
# installation components.
|
||||
#
|
||||
# cpack_add_component_group(groupname
|
||||
# [DISPLAY_NAME name]
|
||||
# [DESCRIPTION description]
|
||||
# [PARENT_GROUP parent]
|
||||
# [EXPANDED]
|
||||
# [BOLD_TITLE])
|
||||
#
|
||||
# The cpack_add_component_group describes a group of installation
|
||||
# components, which will be placed together within the listing of
|
||||
# options. Typically, component groups allow the user to
|
||||
# select/deselect all of the components within a single group via a
|
||||
# single group-level option. Use component groups to reduce the
|
||||
# complexity of installers with many options. groupname is an
|
||||
# arbitrary name used to identify the group in the GROUP argument of
|
||||
# the cpack_add_component command, which is used to place a
|
||||
# component in a group. The name of the group must not conflict with
|
||||
# the name of any component.
|
||||
#
|
||||
# DISPLAY_NAME is the displayed name of the component group, used in
|
||||
# graphical installers to display the component group name. This
|
||||
# value can be any string.
|
||||
#
|
||||
# DESCRIPTION is an extended description of the component group,
|
||||
# used in graphical installers to give the user additional
|
||||
# information about the components within that group. Descriptions
|
||||
# can span multiple lines using "\n" as the line
|
||||
# separator. Typically, these descriptions should be no more than a
|
||||
# few lines long.
|
||||
#
|
||||
# PARENT_GROUP, if supplied, names the parent group of this group.
|
||||
# Parent groups are used to establish a hierarchy of groups,
|
||||
# providing an arbitrary hierarchy of groups.
|
||||
#
|
||||
# EXPANDED indicates that, by default, the group should show up as
|
||||
# "expanded", so that the user immediately sees all of the
|
||||
# components within the group. Otherwise, the group will initially
|
||||
# show up as a single entry.
|
||||
#
|
||||
# BOLD_TITLE indicates that the group title should appear in bold,
|
||||
# to call the user's attention to the group.
|
||||
#
|
||||
# cpack_add_install_type - Add a new installation type containing a
|
||||
# set of predefined component selections to the graphical installer.
|
||||
#
|
||||
# cpack_add_install_type(typename
|
||||
# [DISPLAY_NAME name])
|
||||
#
|
||||
# The cpack_add_install_type command identifies a set of preselected
|
||||
# components that represents a common use case for an
|
||||
# application. For example, a "Developer" install type might include
|
||||
# an application along with its header and library files, while an
|
||||
# "End user" install type might just include the application's
|
||||
# executable. Each component identifies itself with one or more
|
||||
# install types via the INSTALL_TYPES argument to
|
||||
# cpack_add_component.
|
||||
#
|
||||
# DISPLAY_NAME is the displayed name of the install type, which will
|
||||
# typically show up in a drop-down box within a graphical
|
||||
# installer. This value can be any string.
|
||||
#
|
||||
# cpack_configure_downloads - Configure CPack to download selected
|
||||
# components on-the-fly as part of the installation process.
|
||||
#
|
||||
# cpack_configure_downloads(site
|
||||
# [UPLOAD_DIRECTORY dirname]
|
||||
# [ALL]
|
||||
# [ADD_REMOVE|NO_ADD_REMOVE])
|
||||
#
|
||||
# The cpack_configure_downloads command configures installation-time
|
||||
# downloads of selected components. For each downloadable component,
|
||||
# CPack will create an archive containing the contents of that
|
||||
# component, which should be uploaded to the given site. When the
|
||||
# user selects that component for installation, the installer will
|
||||
# download and extract the component in place. This feature is
|
||||
# useful for creating small installers that only download the
|
||||
# requested components, saving bandwidth. Additionally, the
|
||||
# installers are small enough that they will be installed as part of
|
||||
# the normal installation process, and the "Change" button in
|
||||
# Windows Add/Remove Programs control panel will allow one to add or
|
||||
# remove parts of the application after the original
|
||||
# installation. On Windows, the downloaded-components functionality
|
||||
# requires the ZipDLL plug-in for NSIS, available at:
|
||||
#
|
||||
# http://nsis.sourceforge.net/ZipDLL_plug-in
|
||||
#
|
||||
# On Mac OS X, installers that download components on-the-fly can
|
||||
# only be built and installed on system using Mac OS X 10.5 or
|
||||
# later.
|
||||
#
|
||||
# The site argument is a URL where the archives for downloadable
|
||||
# components will reside, e.g., http://www.cmake.org/files/2.6.1/installer/
|
||||
# All of the archives produced by CPack should be uploaded to that location.
|
||||
#
|
||||
# UPLOAD_DIRECTORY is the local directory where CPack will create the
|
||||
# various archives for each of the components. The contents of this
|
||||
# directory should be uploaded to a location accessible by the URL given
|
||||
# in the site argument. If omitted, CPack will use the directory CPackUploads
|
||||
# inside the CMake binary directory to store the generated archives.
|
||||
#
|
||||
# The ALL flag indicates that all components be downloaded. Otherwise, only
|
||||
# those components explicitly marked as DOWNLOADED or that have a specified
|
||||
# ARCHIVE_FILE will be downloaded. Additionally, the ALL option implies
|
||||
# ADD_REMOVE (unless NO_ADD_REMOVE is specified).
|
||||
#
|
||||
# ADD_REMOVE indicates that CPack should install a copy of the installer
|
||||
# that can be called from Windows' Add/Remove Programs dialog (via the
|
||||
# "Modify" button) to change the set of installed components. NO_ADD_REMOVE
|
||||
# turns off this behavior. This option is ignored on Mac OS X.
|
||||
|
||||
|
||||
# Pick a configuration file
|
||||
SET(cpack_input_file "${CMAKE_ROOT}/Templates/CPackConfig.cmake.in")
|
||||
@ -12,6 +396,215 @@ IF(EXISTS "${CMAKE_SOURCE_DIR}/CPackSourceConfig.cmake.in")
|
||||
SET(cpack_source_input_file "${CMAKE_SOURCE_DIR}/CPackSourceConfig.cmake.in")
|
||||
ENDIF(EXISTS "${CMAKE_SOURCE_DIR}/CPackSourceConfig.cmake.in")
|
||||
|
||||
# Argument-parsing macro from http://www.cmake.org/Wiki/CMakeMacroParseArguments
|
||||
MACRO(cpack_parse_arguments prefix arg_names option_names)
|
||||
SET(${prefix}_DEFAULT_ARGS)
|
||||
FOREACH(arg_name ${arg_names})
|
||||
SET(${prefix}_${arg_name})
|
||||
ENDFOREACH(arg_name)
|
||||
FOREACH(option ${option_names})
|
||||
SET(${prefix}_${option} FALSE)
|
||||
ENDFOREACH(option)
|
||||
|
||||
SET(current_arg_name DEFAULT_ARGS)
|
||||
SET(current_arg_list)
|
||||
FOREACH(arg ${ARGN})
|
||||
SET(larg_names ${arg_names})
|
||||
LIST(FIND larg_names "${arg}" is_arg_name)
|
||||
IF (is_arg_name GREATER -1)
|
||||
SET(${prefix}_${current_arg_name} ${current_arg_list})
|
||||
SET(current_arg_name ${arg})
|
||||
SET(current_arg_list)
|
||||
ELSE (is_arg_name GREATER -1)
|
||||
SET(loption_names ${option_names})
|
||||
LIST(FIND loption_names "${arg}" is_option)
|
||||
IF (is_option GREATER -1)
|
||||
SET(${prefix}_${arg} TRUE)
|
||||
ELSE (is_option GREATER -1)
|
||||
SET(current_arg_list ${current_arg_list} ${arg})
|
||||
ENDIF (is_option GREATER -1)
|
||||
ENDIF (is_arg_name GREATER -1)
|
||||
ENDFOREACH(arg)
|
||||
SET(${prefix}_${current_arg_name} ${current_arg_list})
|
||||
ENDMACRO(cpack_parse_arguments)
|
||||
|
||||
# Macro that appends a SET command for the given variable name (var)
|
||||
# to the macro named strvar, but only if the variable named "var"
|
||||
# has been defined. The string will eventually be appended to a CPack
|
||||
# configuration file.
|
||||
MACRO(cpack_append_variable_set_command var strvar)
|
||||
IF (DEFINED ${var})
|
||||
SET(${strvar} "${${strvar}}SET(${var}")
|
||||
FOREACH(APPENDVAL ${${var}})
|
||||
SET(${strvar} "${${strvar}} ${APPENDVAL}")
|
||||
ENDFOREACH(APPENDVAL)
|
||||
SET(${strvar} "${${strvar}})\n")
|
||||
ENDIF (DEFINED ${var})
|
||||
ENDMACRO(cpack_append_variable_set_command)
|
||||
|
||||
# Macro that appends a SET command for the given variable name (var)
|
||||
# to the macro named strvar, but only if the variable named "var"
|
||||
# has been defined and is a string. The string will eventually be
|
||||
# appended to a CPack configuration file.
|
||||
MACRO(cpack_append_string_variable_set_command var strvar)
|
||||
IF (DEFINED ${var})
|
||||
LIST(LENGTH ${var} CPACK_APP_VALUE_LEN)
|
||||
IF(${CPACK_APP_VALUE_LEN} EQUAL 1)
|
||||
SET(${strvar} "${${strvar}}SET(${var} \"${${var}}\")\n")
|
||||
ENDIF(${CPACK_APP_VALUE_LEN} EQUAL 1)
|
||||
ENDIF (DEFINED ${var})
|
||||
ENDMACRO(cpack_append_string_variable_set_command)
|
||||
|
||||
# Macro that appends a SET command for the given variable name (var)
|
||||
# to the macro named strvar, but only if the variable named "var"
|
||||
# has been set to true. The string will eventually be
|
||||
# appended to a CPack configuration file.
|
||||
MACRO(cpack_append_option_set_command var strvar)
|
||||
IF (${var})
|
||||
LIST(LENGTH ${var} CPACK_APP_VALUE_LEN)
|
||||
IF(${CPACK_APP_VALUE_LEN} EQUAL 1)
|
||||
SET(${strvar} "${${strvar}}SET(${var} TRUE)\n")
|
||||
ENDIF(${CPACK_APP_VALUE_LEN} EQUAL 1)
|
||||
ENDIF (${var})
|
||||
ENDMACRO(cpack_append_option_set_command)
|
||||
|
||||
# Macro that adds a component to the CPack installer
|
||||
MACRO(cpack_add_component compname)
|
||||
STRING(TOUPPER ${compname} CPACK_ADDCOMP_UNAME)
|
||||
cpack_parse_arguments(CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}
|
||||
"DISPLAY_NAME;DESCRIPTION;GROUP;DEPENDS;INSTALL_TYPES;ARCHIVE_FILE"
|
||||
"HIDDEN;REQUIRED;DISABLED;DOWNLOADED"
|
||||
${ARGN}
|
||||
)
|
||||
|
||||
if (CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_DOWNLOADED)
|
||||
SET(CPACK_ADDCOMP_STR "\n# Configuration for downloaded component \"${compname}\"\n")
|
||||
else ()
|
||||
SET(CPACK_ADDCOMP_STR "\n# Configuration for component \"${compname}\"\n")
|
||||
endif ()
|
||||
|
||||
IF(NOT CPACK_MONOLITHIC_INSTALL)
|
||||
# If the user didn't set CPACK_COMPONENTS_ALL explicitly, update the
|
||||
# value of CPACK_COMPONENTS_ALL in the configuration file. This will
|
||||
# take care of any components that have been added after the CPack
|
||||
# moduled was included.
|
||||
IF(NOT CPACK_COMPONENTS_ALL_SET_BY_USER)
|
||||
GET_CMAKE_PROPERTY(CPACK_ADDCOMP_COMPONENTS COMPONENTS)
|
||||
SET(CPACK_ADDCOMP_STR "${CPACK_ADDCOMP_STR}\nSET(CPACK_COMPONENTS_ALL")
|
||||
FOREACH(COMP ${CPACK_ADDCOMP_COMPONENTS})
|
||||
SET(CPACK_ADDCOMP_STR "${CPACK_ADDCOMP_STR} ${COMP}")
|
||||
ENDFOREACH(COMP)
|
||||
SET(CPACK_ADDCOMP_STR "${CPACK_ADDCOMP_STR})\n")
|
||||
ENDIF(NOT CPACK_COMPONENTS_ALL_SET_BY_USER)
|
||||
ENDIF(NOT CPACK_MONOLITHIC_INSTALL)
|
||||
|
||||
cpack_append_string_variable_set_command(
|
||||
CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_DISPLAY_NAME
|
||||
CPACK_ADDCOMP_STR)
|
||||
cpack_append_string_variable_set_command(
|
||||
CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_DESCRIPTION
|
||||
CPACK_ADDCOMP_STR)
|
||||
cpack_append_variable_set_command(
|
||||
CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_GROUP
|
||||
CPACK_ADDCOMP_STR)
|
||||
cpack_append_variable_set_command(
|
||||
CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_DEPENDS
|
||||
CPACK_ADDCOMP_STR)
|
||||
cpack_append_variable_set_command(
|
||||
CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_INSTALL_TYPES
|
||||
CPACK_ADDCOMP_STR)
|
||||
cpack_append_string_variable_set_command(
|
||||
CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_ARCHIVE_FILE
|
||||
CPACK_ADDCOMP_STR)
|
||||
cpack_append_option_set_command(
|
||||
CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_HIDDEN
|
||||
CPACK_ADDCOMP_STR)
|
||||
cpack_append_option_set_command(
|
||||
CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_REQUIRED
|
||||
CPACK_ADDCOMP_STR)
|
||||
cpack_append_option_set_command(
|
||||
CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_DISABLED
|
||||
CPACK_ADDCOMP_STR)
|
||||
cpack_append_option_set_command(
|
||||
CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_DOWNLOADED
|
||||
CPACK_ADDCOMP_STR)
|
||||
FILE(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_ADDCOMP_STR}")
|
||||
ENDMACRO(cpack_add_component)
|
||||
|
||||
# Macro that adds a component group to the CPack installer
|
||||
MACRO(cpack_add_component_group grpname)
|
||||
STRING(TOUPPER ${grpname} CPACK_ADDGRP_UNAME)
|
||||
cpack_parse_arguments(CPACK_COMPONENT_GROUP_${CPACK_ADDGRP_UNAME}
|
||||
"DISPLAY_NAME;DESCRIPTION"
|
||||
"EXPANDED;BOLD_TITLE"
|
||||
${ARGN}
|
||||
)
|
||||
|
||||
SET(CPACK_ADDGRP_STR "\n# Configuration for component group \"${grpname}\"\n")
|
||||
cpack_append_string_variable_set_command(
|
||||
CPACK_COMPONENT_GROUP_${CPACK_ADDGRP_UNAME}_DISPLAY_NAME
|
||||
CPACK_ADDGRP_STR)
|
||||
cpack_append_string_variable_set_command(
|
||||
CPACK_COMPONENT_GROUP_${CPACK_ADDGRP_UNAME}_DESCRIPTION
|
||||
CPACK_ADDGRP_STR)
|
||||
cpack_append_option_set_command(
|
||||
CPACK_COMPONENT_GROUP_${CPACK_ADDGRP_UNAME}_EXPANDED
|
||||
CPACK_ADDGRP_STR)
|
||||
cpack_append_option_set_command(
|
||||
CPACK_COMPONENT_GROUP_${CPACK_ADDGRP_UNAME}_BOLD_TITLE
|
||||
CPACK_ADDGRP_STR)
|
||||
FILE(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_ADDGRP_STR}")
|
||||
ENDMACRO(cpack_add_component_group)
|
||||
|
||||
# Macro that adds an installation type to the CPack installer
|
||||
MACRO(cpack_add_install_type insttype)
|
||||
STRING(TOUPPER ${insttype} CPACK_INSTTYPE_UNAME)
|
||||
cpack_parse_arguments(CPACK_INSTALL_TYPE_${CPACK_INSTTYPE_UNAME}
|
||||
"DISPLAY_NAME"
|
||||
""
|
||||
${ARGN}
|
||||
)
|
||||
|
||||
SET(CPACK_INSTTYPE_STR
|
||||
"\n# Configuration for installation type \"${insttype}\"\n")
|
||||
SET(CPACK_INSTTYPE_STR
|
||||
"${CPACK_INSTTYPE_STR}LIST(APPEND CPACK_ALL_INSTALL_TYPES ${insttype})\n")
|
||||
cpack_append_string_variable_set_command(
|
||||
CPACK_INSTALL_TYPE_${CPACK_INSTTYPE_UNAME}_DISPLAY_NAME
|
||||
CPACK_INSTTYPE_STR)
|
||||
FILE(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_INSTTYPE_STR}")
|
||||
ENDMACRO(cpack_add_install_type)
|
||||
|
||||
MACRO(cpack_configure_downloads site)
|
||||
cpack_parse_arguments(CPACK_DOWNLOAD
|
||||
"UPLOAD_DIRECTORY"
|
||||
"ALL;ADD_REMOVE;NO_ADD_REMOVE"
|
||||
${ARGN}
|
||||
)
|
||||
|
||||
SET(CPACK_CONFIG_DL_STR
|
||||
"\n# Downloaded components configuration\n")
|
||||
SET(CPACK_UPLOAD_DIRECTORY ${CPACK_DOWNLOAD_UPLOAD_DIRECTORY})
|
||||
SET(CPACK_DOWNLOAD_SITE ${site})
|
||||
cpack_append_string_variable_set_command(
|
||||
CPACK_DOWNLOAD_SITE
|
||||
CPACK_CONFIG_DL_STR)
|
||||
cpack_append_string_variable_set_command(
|
||||
CPACK_UPLOAD_DIRECTORY
|
||||
CPACK_CONFIG_DL_STR)
|
||||
cpack_append_option_set_command(
|
||||
CPACK_DOWNLOAD_ALL
|
||||
CPACK_CONFIG_DL_STR)
|
||||
IF (${CPACK_DOWNLOAD_ALL} AND NOT ${CPACK_DOWNLOAD_NO_ADD_REMOVE})
|
||||
SET(CPACK_DOWNLOAD_ADD_REMOVE ON)
|
||||
ENDIF (${CPACK_DOWNLOAD_ALL} AND NOT ${CPACK_DOWNLOAD_NO_ADD_REMOVE})
|
||||
SET(CPACK_ADD_REMOVE ${CPACK_DOWNLOAD_ADD_REMOVE})
|
||||
cpack_append_option_set_command(
|
||||
CPACK_ADD_REMOVE
|
||||
CPACK_CONFIG_DL_STR)
|
||||
FILE(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_CONFIG_DL_STR}")
|
||||
ENDMACRO(cpack_configure_downloads)
|
||||
|
||||
# Macro for setting values if a user did not overwrite them
|
||||
MACRO(cpack_set_if_not_set name value)
|
||||
IF(NOT DEFINED "${name}")
|
||||
@ -114,6 +707,7 @@ if(NOT CPACK_GENERATOR)
|
||||
option(CPACK_BINARY_CYGWIN "Enable to build Cygwin binary packages" ON)
|
||||
else(CYGWIN)
|
||||
if(APPLE)
|
||||
option(CPACK_BINARY_BUNDLE "Enable to build OSX bundles" OFF)
|
||||
option(CPACK_BINARY_PACKAGEMAKER "Enable to build PackageMaker packages" ON)
|
||||
option(CPACK_BINARY_OSXX11 "Enable to build OSX X11 packages" OFF)
|
||||
else(APPLE)
|
||||
@ -131,6 +725,7 @@ if(NOT CPACK_GENERATOR)
|
||||
option(CPACK_BINARY_ZIP "Enable to build ZIP packages" ON)
|
||||
endif(UNIX)
|
||||
|
||||
cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_BUNDLE Bundle)
|
||||
cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_PACKAGEMAKER PackageMaker)
|
||||
cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_OSXX11 OSXX11)
|
||||
cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_CYGWIN CygwinBinary)
|
||||
@ -171,7 +766,7 @@ endif(NOT CPACK_SOURCE_GENERATOR)
|
||||
mark_as_advanced(CPACK_BINARY_CYGWIN CPACK_BINARY_PACKAGEMAKER CPACK_BINARY_OSXX11
|
||||
CPACK_BINARY_STGZ CPACK_BINARY_TGZ CPACK_BINARY_TBZ2
|
||||
CPACK_BINARY_DEB CPACK_BINARY_RPM CPACK_BINARY_TZ
|
||||
CPACK_BINARY_NSIS CPACK_BINARY_ZIP
|
||||
CPACK_BINARY_NSIS CPACK_BINARY_ZIP CPACK_BINARY_BUNDLE
|
||||
CPACK_SOURCE_CYGWIN CPACK_SOURCE_TBZ2 CPACK_SOURCE_TGZ
|
||||
CPACK_SOURCE_TZ CPACK_SOURCE_ZIP)
|
||||
|
||||
@ -195,6 +790,39 @@ cpack_set_if_not_set(CPACK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
|
||||
cpack_set_if_not_set(CPACK_NSIS_INSTALLER_ICON_CODE "")
|
||||
cpack_set_if_not_set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "")
|
||||
|
||||
IF(DEFINED CPACK_COMPONENTS_ALL)
|
||||
IF(CPACK_MONOLITHIC_INSTALL)
|
||||
MESSAGE("CPack warning: both CPACK_COMPONENTS_ALL and CPACK_MONOLITHIC_INSTALL have been set.\nDefaulting to a monolithic installation.")
|
||||
SET(CPACK_COMPONENTS_ALL)
|
||||
ELSE(CPACK_MONOLITHIC_INSTALL)
|
||||
# The user has provided the set of components to be installed as
|
||||
# part of a component-based installation; trust her.
|
||||
SET(CPACK_COMPONENTS_ALL_SET_BY_USER TRUE)
|
||||
ENDIF(CPACK_MONOLITHIC_INSTALL)
|
||||
ELSE(DEFINED CPACK_COMPONENTS_ALL)
|
||||
# If the user has not specifically requested a monolithic installer
|
||||
# but has specified components in various "install" commands, tell
|
||||
# CPack about those components.
|
||||
IF(NOT CPACK_MONOLITHIC_INSTALL)
|
||||
GET_CMAKE_PROPERTY(CPACK_COMPONENTS_ALL COMPONENTS)
|
||||
LIST(LENGTH CPACK_COMPONENTS_ALL CPACK_COMPONENTS_LEN)
|
||||
IF(CPACK_COMPONENTS_LEN EQUAL 1)
|
||||
# Only one component: this is not a component-based installation
|
||||
# (at least, it isn't a component-based installation, but may
|
||||
# become one later if the user uses the cpack_add_* commands).
|
||||
SET(CPACK_COMPONENTS_ALL)
|
||||
ENDIF(CPACK_COMPONENTS_LEN EQUAL 1)
|
||||
SET(CPACK_COMPONENTS_LEN)
|
||||
ENDIF(NOT CPACK_MONOLITHIC_INSTALL)
|
||||
ENDIF(DEFINED CPACK_COMPONENTS_ALL)
|
||||
|
||||
# CMake always generates a component named "Unspecified", which is
|
||||
# used to install everything that doesn't have an explicitly-provided
|
||||
# component. Since these files should always be installed, we'll make
|
||||
# them hidden and required.
|
||||
set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN TRUE)
|
||||
set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED TRUE)
|
||||
|
||||
cpack_encode_variables()
|
||||
configure_file("${cpack_input_file}" "${CPACK_OUTPUT_CONFIG_FILE}" @ONLY IMMEDIATE)
|
||||
|
||||
|
9
Modules/CPack.distribution.dist.in
Normal file
9
Modules/CPack.distribution.dist.in
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<installer-gui-script minSpecVersion="1.0">
|
||||
<title>@CPACK_PACKAGE_NAME@</title>
|
||||
<welcome file="@CPACK_RESOURCE_FILE_WELCOME_NOPATH@"/>
|
||||
<readme file="@CPACK_RESOURCE_FILE_README_NOPATH@"/>
|
||||
<license file="@CPACK_RESOURCE_FILE_LICENSE_NOPATH@"/>
|
||||
<options allow-external-scripts="no" customize="allow" rootVolumeOnly="false"></options>
|
||||
@CPACK_PACKAGEMAKER_CHOICES@
|
||||
</installer-gui-script>
|
@ -68,11 +68,14 @@ IF(NOT CPACK_RPM_PACKAGE_VERSION)
|
||||
ENDIF(NOT CPACK_RPM_PACKAGE_VERSION)
|
||||
|
||||
# CPACK_RPM_PACKAGE_ARCHITECTURE (optional)
|
||||
IF(NOT CPACK_RPM_PACKAGE_ARCHITECTURE)
|
||||
# FIXME This should be obtained through 'arch' command
|
||||
# but is it --really necessary-- ?
|
||||
SET(CPACK_RPM_PACKAGE_ARCHITECTURE i386)
|
||||
ENDIF(NOT CPACK_RPM_PACKAGE_ARCHITECTURE)
|
||||
IF(CPACK_RPM_PACKAGE_ARCHITECTURE)
|
||||
SET(TMP_RPM_BUILDARCH "Buildarch: ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
|
||||
IF(CPACK_RPM_PACKAGE_DEBUG)
|
||||
MESSAGE("CPackRPM:Debug: using user-specified build arch = ${CPACK_RPM_PACKAGE_ARCHITECTURE}")
|
||||
ENDIF(CPACK_RPM_PACKAGE_DEBUG)
|
||||
ELSE(CPACK_RPM_PACKAGE_ARCHITECTURE)
|
||||
SET(TMP_RPM_BUILDARCH "")
|
||||
ENDIF(CPACK_RPM_PACKAGE_ARCHITECTURE)
|
||||
|
||||
# CPACK_RPM_PACKAGE_RELEASE
|
||||
# The RPM release is the numbering of the RPM package ITSELF
|
||||
@ -106,8 +109,7 @@ IF(NOT CPACK_RPM_PACKAGE_VENDOR)
|
||||
ENDIF(NOT CPACK_RPM_PACKAGE_VENDOR)
|
||||
|
||||
# CPACK_RPM_PACKAGE_SOURCE
|
||||
# The name of the source tarball in case we generate
|
||||
# a source RPM
|
||||
# The name of the source tarball in case we generate a source RPM
|
||||
|
||||
# CPACK_RPM_PACKAGE_DESCRIPTION
|
||||
# The variable content may be either
|
||||
@ -124,13 +126,29 @@ IF (NOT CPACK_RPM_PACKAGE_DESCRIPTION)
|
||||
ENDIF (CPACK_PACKAGE_DESCRIPTION_FILE)
|
||||
ENDIF (NOT CPACK_RPM_PACKAGE_DESCRIPTION)
|
||||
|
||||
# CPACK_RPM_SPEC_INSTALL_POST
|
||||
# May be used to define a RPM post intallation script
|
||||
# for example setting it to "/bin/true" may prevent
|
||||
# rpmbuild from stripping binaries.
|
||||
IF(CPACK_RPM_SPEC_INSTALL_POST)
|
||||
SET(TMP_RPM_SPEC_INSTALL_POST "%define __spec_install_post ${CPACK_RPM_SPEC_INSTALL_POST}")
|
||||
ENDIF(CPACK_RPM_SPEC_INSTALL_POST)
|
||||
|
||||
# CPACK_RPM_SPEC_MORE_DEFINE
|
||||
# This is a generated spec rpm file spaceholder
|
||||
IF(CPACK_RPM_SPEC_MORE_DEFINE)
|
||||
IF(CPACK_RPM_PACKAGE_DEBUG)
|
||||
MESSAGE("CPackRPM:Debug: User defined more define spec line specified:\n ${CPACK_RPM_SPEC_MORE_DEFINE}")
|
||||
ENDIF(CPACK_RPM_PACKAGE_DEBUG)
|
||||
ENDIF(CPACK_RPM_SPEC_MORE_DEFINE)
|
||||
|
||||
# CPACK_RPM_USER_BINARY_SPECFILE
|
||||
# FIXME when this is set then CPack should us the
|
||||
# user provided file.
|
||||
|
||||
# Now we may create the RPM build tree structure
|
||||
SET(CPACK_RPM_ROOTDIR "${CPACK_TOPLEVEL_DIRECTORY}")
|
||||
MESSAGE(STATUS "CPackRPM:: Using CPACK_RPM_ROOTDIR=${CPACK_RPM_ROOTDIR}")
|
||||
MESSAGE(STATUS "CPackRPM:Debug: Using CPACK_RPM_ROOTDIR=${CPACK_RPM_ROOTDIR}")
|
||||
# Prepare RPM build tree
|
||||
FILE(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR})
|
||||
FILE(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/tmp)
|
||||
@ -157,15 +175,16 @@ IF(CPACK_RPM_USER_BINARY_SPECFILE)
|
||||
ELSE(CPACK_RPM_USER_BINARY_SPECFILE)
|
||||
# No User specified spec file generate a valid one using var values
|
||||
IF(CPACK_RPM_PACKAGE_DEBUG)
|
||||
MESSAGE("CPackRPM:: CPACK_TOPLEVEL_DIRECTORY = ${CPACK_TOPLEVEL_DIRECTORY}")
|
||||
MESSAGE("CPackRPM:: CPACK_TOPLEVEL_TAG = ${CPACK_TOPLEVEL_TAG}")
|
||||
MESSAGE("CPackRPM:: CPACK_TEMPORARY_DIRECTORY= ${PACK_TEMPORARY_DIRECTORY}")
|
||||
MESSAGE("CPackRPM:: CPACK_OUTPUT_FILE_NAME = ${CPACK_OUTPUT_FILE_NAME}")
|
||||
MESSAGE("CPackRPM:: CPACK_OUTPUT_FILE_PATH = ${CPACK_OUTPUT_FILE_PATH}")
|
||||
MESSAGE("CPackRPM:: CPACK_PACKAGE_FILE_NAME = ${CPACK_PACKAGE_FILE_NAME}")
|
||||
MESSAGE("CPackRPM:: CPACK_RPM_BINARY_SPECFILE = ${CPACK_RPM_BINARY_SPECFILE}")
|
||||
MESSAGE("CPackRPM:: CPACK_PACKAGE_INSTALL_DIRECTORY = ${PACK_PACKAGE_INSTALL_DIRECTORY}")
|
||||
MESSAGE("CPackRPM ::CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
|
||||
MESSAGE("CPackRPM:Debug: CPACK_TOPLEVEL_DIRECTORY = ${CPACK_TOPLEVEL_DIRECTORY}")
|
||||
MESSAGE("CPackRPM:Debug: CPACK_TOPLEVEL_TAG = ${CPACK_TOPLEVEL_TAG}")
|
||||
MESSAGE("CPackRPM:Debug: CPACK_TEMPORARY_DIRECTORY = ${PACK_TEMPORARY_DIRECTORY}")
|
||||
MESSAGE("CPackRPM:Debug: CPACK_OUTPUT_FILE_NAME = ${CPACK_OUTPUT_FILE_NAME}")
|
||||
MESSAGE("CPackRPM:Debug: CPACK_OUTPUT_FILE_PATH = ${CPACK_OUTPUT_FILE_PATH}")
|
||||
MESSAGE("CPackRPM:Debug: CPACK_PACKAGE_FILE_NAME = ${CPACK_PACKAGE_FILE_NAME}")
|
||||
MESSAGE("CPackRPM:Debug: CPACK_RPM_BINARY_SPECFILE = ${CPACK_RPM_BINARY_SPECFILE}")
|
||||
MESSAGE("CPackRPM:Debug: CPACK_PACKAGE_INSTALL_DIRECTORY = ${PACK_PACKAGE_INSTALL_DIRECTORY}")
|
||||
MESSAGE("CPackRPM:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
|
||||
MESSAGE("CPackRPM:Debug: CPACK_RPM_SPEC_INSTALL_POST = ${CPACK_RPM_SPEC_INSTALL_POST}")
|
||||
ENDIF(CPACK_RPM_PACKAGE_DEBUG)
|
||||
FILE(WRITE ${CPACK_RPM_BINARY_SPECFILE}
|
||||
"# -*- rpm-spec -*-
|
||||
@ -177,12 +196,15 @@ Release: ${CPACK_RPM_PACKAGE_RELEASE}
|
||||
License: ${CPACK_RPM_PACKAGE_LICENSE}
|
||||
Group: ${CPACK_RPM_PACKAGE_GROUP}
|
||||
Vendor: ${CPACK_RPM_PACKAGE_VENDOR}
|
||||
${TMP_RPM_BUILDARCH}
|
||||
|
||||
#%define prefix ${CMAKE_INSTALL_PREFIX}
|
||||
%define _rpmdir ${CPACK_RPM_DIRECTORY}
|
||||
%define _rpmfilename ${CPACK_RPM_FILE_NAME}
|
||||
%define _unpackaged_files_terminate_build 0
|
||||
%define _topdir ${CPACK_RPM_DIRECTORY}
|
||||
${TMP_RPM_SPEC_INSTALL_POST}
|
||||
${CPACK_RPM_SPEC_MORE_DEFINE}
|
||||
|
||||
%description
|
||||
${CPACK_RPM_PACKAGE_DESCRIPTION}
|
||||
@ -206,10 +228,11 @@ ${CPACK_RPM_PACKAGE_DESCRIPTION}
|
||||
/*
|
||||
|
||||
%changelog
|
||||
* Mon Aug 25 2008 Erk <eric.noulard@gmail.com>
|
||||
Update generator to handle optional post-install
|
||||
* Tue Aug 16 2007 Erk <eric.noulard@gmail.com>
|
||||
Generated by CPack RPM Generator and associated macros
|
||||
")
|
||||
|
||||
ENDIF(CPACK_RPM_USER_BINARY_SPECFILE)
|
||||
|
||||
|
||||
@ -220,6 +243,11 @@ IF(RPMBUILD_EXECUTABLE)
|
||||
WORKING_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}"
|
||||
ERROR_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.err"
|
||||
OUTPUT_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.out")
|
||||
IF(CPACK_RPM_PACKAGE_DEBUG)
|
||||
MESSAGE("CPackRPM:Debug: You may consult rpmbuild logs in: ")
|
||||
MESSAGE("CPackRPM:Debug: - ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.err")
|
||||
MESSAGE("CPackRPM:Debug: - ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild.out")
|
||||
ENDIF(CPACK_RPM_PACKAGE_DEBUG)
|
||||
ELSE(RPMBUILD_EXECUTABLE)
|
||||
IF(ALIEN_EXECUTABLE)
|
||||
MESSAGE(FATAL_ERROR "RPM packaging through alien not done (yet)")
|
||||
|
@ -3,6 +3,10 @@
|
||||
#
|
||||
# FLAG - the compiler flag
|
||||
# VARIABLE - variable to store the result
|
||||
#
|
||||
# This actually calls the check_c_source_compiles macro.
|
||||
# See help for CheckCSourceCompiles for a listing of variables
|
||||
# that can modify the build.
|
||||
|
||||
# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
|
||||
#
|
||||
|
@ -8,7 +8,6 @@
|
||||
# modify the way the check is run:
|
||||
#
|
||||
# CMAKE_REQUIRED_LIBRARIES = list of libraries to link
|
||||
#
|
||||
|
||||
macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE)
|
||||
if(NOT DEFINED ${VARIABLE})
|
||||
@ -24,7 +23,8 @@ macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE)
|
||||
"
|
||||
program TESTFortran
|
||||
external ${FUNCTION}
|
||||
end
|
||||
call ${FUNCTION}()
|
||||
end program TESTFortran
|
||||
"
|
||||
)
|
||||
try_compile(${VARIABLE}
|
||||
@ -33,6 +33,7 @@ macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE)
|
||||
CMAKE_FLAGS "${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
|
||||
OUTPUT_VARIABLE OUTPUT
|
||||
)
|
||||
# message(STATUS "${OUTPUT}")
|
||||
if(${VARIABLE})
|
||||
set(${VARIABLE} 1 CACHE INTERNAL "Have Fortran function ${FUNCTION}")
|
||||
message(STATUS "Looking for Fortran ${FUNCTION} - found")
|
||||
|
@ -29,15 +29,16 @@ const char info_sizeof[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','o','f','[
|
||||
('0' + (SIZE % 10)),
|
||||
']','\0'};
|
||||
|
||||
|
||||
#ifdef __CLASSIC_C__
|
||||
int main(){
|
||||
int ac;
|
||||
char*av[];
|
||||
int main(argc, argv) int argc; char *argv[];
|
||||
#else
|
||||
int main(int ac, char*av[]){
|
||||
int main(int argc, char *argv[])
|
||||
#endif
|
||||
return (&info_sizeof[0] != &info_sizeof[0]);
|
||||
{
|
||||
int require = 0;
|
||||
require += info_sizeof[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
|
||||
#else /* CHECK_TYPE_SIZE_TYPE */
|
||||
|
@ -1,6 +1,6 @@
|
||||
# - Find BLAS library
|
||||
# This module finds an installed fortran library that implements the BLAS
|
||||
# linear-algebra interface (see http://www.netlib.org/blas/).
|
||||
# This module finds an installed fortran library that implements the BLAS
|
||||
# linear-algebra interface (see http://www.netlib.org/blas/).
|
||||
# The list of libraries searched for is taken
|
||||
# from the autoconf macro file, acx_blas.m4 (distributed at
|
||||
# http://ac-archive.sourceforge.net/ac-archive/acx_blas.html).
|
||||
@ -10,22 +10,42 @@
|
||||
# is found
|
||||
# BLAS_LINKER_FLAGS - uncached list of required linker flags (excluding -l
|
||||
# and -L).
|
||||
# BLAS_LIBRARIES - uncached list of libraries (using full path name) to
|
||||
# BLAS_LIBRARIES - uncached list of libraries (using full path name) to
|
||||
# link against to use BLAS
|
||||
# BLAS95_LIBRARIES - uncached list of libraries (using full path name) # to link against to use BLAS95 interface
|
||||
#
|
||||
# BLAS95_LIBRARIES - uncached list of libraries (using full path name)
|
||||
# to link against to use BLAS95 interface
|
||||
# BLAS95_FOUND - set to true if a library implementing the BLAS f95 interface
|
||||
# is found
|
||||
# BLA_STATIC if set on this determines what kind of linkage we do (static)
|
||||
# BLA_VENDOR if set checks only the specified vendor, if not set checks
|
||||
# all the posibilities
|
||||
# BLA_F95 if set on tries to find the f95 interfaces for BLAS/LAPACK
|
||||
##########
|
||||
### List of vendors (BLA_VENDOR) valid in this module
|
||||
## ATLAS, PhiPACK,CXML,DXML,SunPerf,SCSL,SGIMATH,IBMESSL,Intel10_32 (intel mkl v10 32 bit),Intel10_64lp (intel mkl v10 64 bit,lp thread model, lp64 model),
|
||||
## Intel( older versions of mkl 32 and 64 bit), ACML,Apple, NAS, Generic
|
||||
# C/CXX should be enabled to use Intel mkl
|
||||
get_property(_LANGUAGES_ GLOBAL PROPERTY ENABLED_LANGUAGES)
|
||||
if(NOT _LANGUAGES_ MATCHES Fortran)
|
||||
if(BLAS_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "FindBLAS is Fortran-only so Fortran must be enabled.")
|
||||
else(BLAS_FIND_REQUIRED)
|
||||
message(STATUS "Looking for BLAS... - NOT found (Fortran not enabled)") #
|
||||
return()
|
||||
endif(BLAS_FIND_REQUIRED)
|
||||
endif(NOT _LANGUAGES_ MATCHES Fortran)
|
||||
|
||||
include(CheckFortranFunctionExists)
|
||||
|
||||
macro(Check_Fortran_Libraries LIBRARIES _prefix _name _flags _list)
|
||||
macro(Check_Fortran_Libraries LIBRARIES _prefix _name _flags _list _threads)
|
||||
# This macro checks for the existence of the combination of fortran libraries
|
||||
# given by _list. If the combination is found, this macro checks (using the
|
||||
# given by _list. If the combination is found, this macro checks (using the
|
||||
# Check_Fortran_Function_Exists macro) whether can link against that library
|
||||
# combination using the name of a routine given by _name using the linker
|
||||
# flags given by _flags. If the combination of libraries is found and passes
|
||||
# the link test, LIBRARIES is set to the list of complete library paths that
|
||||
# have been found. Otherwise, LIBRARIES is set to FALSE.
|
||||
|
||||
|
||||
# N.B. _prefix is the prefix applied to the names of all cached variables that
|
||||
# are generated internally and marked advanced by this macro.
|
||||
|
||||
@ -36,24 +56,32 @@ foreach(_library ${_list})
|
||||
set(_combined_name ${_combined_name}_${_library})
|
||||
|
||||
if(_libraries_work)
|
||||
|
||||
if ( WIN32 )
|
||||
if(BLA_STATIC)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib;.dll")
|
||||
endif(BLA_STATIC)
|
||||
find_library(${_prefix}_${_library}_LIBRARY
|
||||
NAMES ${_library}
|
||||
PATHS ENV LIB
|
||||
PATHS ENV LIB
|
||||
)
|
||||
endif ( WIN32 )
|
||||
|
||||
if ( APPLE )
|
||||
|
||||
if ( APPLE )
|
||||
if(BLA_STATIC)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib;.dll")
|
||||
endif(BLA_STATIC)
|
||||
find_library(${_prefix}_${_library}_LIBRARY
|
||||
NAMES ${_library}
|
||||
PATHS /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV DYLD_LIBRARY_PATH
|
||||
PATHS /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV DYLD_LIBRARY_PATH
|
||||
)
|
||||
|
||||
|
||||
else ( APPLE )
|
||||
if(BLA_STATIC)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.so")
|
||||
endif(BLA_STATIC)
|
||||
find_library(${_prefix}_${_library}_LIBRARY
|
||||
NAMES ${_library}
|
||||
PATHS /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV LD_LIBRARY_PATH
|
||||
PATHS /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV LD_LIBRARY_PATH
|
||||
)
|
||||
endif( APPLE )
|
||||
mark_as_advanced(${_prefix}_${_library}_LIBRARY)
|
||||
@ -63,8 +91,8 @@ foreach(_library ${_list})
|
||||
endforeach(_library ${_list})
|
||||
if(_libraries_work)
|
||||
# Test this combination of libraries.
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}})
|
||||
#message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}")
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_threads})
|
||||
# message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}")
|
||||
check_fortran_function_exists(${_name} ${_prefix}${_combined_name}_WORKS)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
mark_as_advanced(${_prefix}${_combined_name}_WORKS)
|
||||
@ -79,10 +107,16 @@ endmacro(Check_Fortran_Libraries)
|
||||
set(BLAS_LINKER_FLAGS)
|
||||
set(BLAS_LIBRARIES)
|
||||
set(BLAS95_LIBRARIES)
|
||||
if ($ENV{BLA_VENDOR} MATCHES ".+")
|
||||
set(BLA_VENDOR $ENV{BLA_VENDOR})
|
||||
else ($ENV{BLA_VENDOR} MATCHES ".+")
|
||||
if(NOT BLA_VENDOR)
|
||||
set(BLA_VENDOR "All")
|
||||
endif(NOT BLA_VENDOR)
|
||||
endif ($ENV{BLA_VENDOR} MATCHES ".+")
|
||||
|
||||
|
||||
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
if (BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
# BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
@ -90,197 +124,128 @@ if(NOT BLAS_LIBRARIES)
|
||||
cblas_dgemm
|
||||
""
|
||||
"cblas;f77blas;atlas"
|
||||
""
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
if (BLA_VENDOR STREQUAL "PhiPACK" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"sgemm;dgemm;blas"
|
||||
""
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "PhiPACK" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# BLAS in Alpha CXML library?
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
if (BLA_VENDOR STREQUAL "CXML" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"cxml"
|
||||
""
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "CXML" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# BLAS in Alpha DXML library? (now called CXML, see above)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
if (BLA_VENDOR STREQUAL "DXML" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"dxml"
|
||||
""
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "DXML" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# BLAS in Sun Performance library?
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
if (BLA_VENDOR STREQUAL "SunPerf" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
"-xlic_lib=sunperf"
|
||||
"sunperf;sunmath"
|
||||
""
|
||||
)
|
||||
if(BLAS_LIBRARIES)
|
||||
set(BLAS_LINKER_FLAGS "-xlic_lib=sunperf")
|
||||
endif(BLAS_LIBRARIES)
|
||||
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "SunPerf" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# BLAS in SCSL library? (SGI/Cray Scientific Library)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
if (BLA_VENDOR STREQUAL "SCSL" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"scsl"
|
||||
""
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "SCSL" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# BLAS in SGIMATH library?
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
if (BLA_VENDOR STREQUAL "SGIMATH" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"complib.sgimath"
|
||||
""
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "SGIMATH" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# BLAS in IBM ESSL library? (requires generic BLAS lib, too)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
if (BLA_VENDOR STREQUAL "IBMESSL" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"essl;blas"
|
||||
""
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "IBMESSL" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
|
||||
|
||||
|
||||
#BLAS in intel mkl 10 library? (em64t 64bit)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_intel_lp64;mkl_intel_thread;mkl_core;guide;pthread"
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
if(NOT BLAS95_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS95_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_blas95;mkl_intel_lp64;mkl_intel_thread;mkl_core;guide;pthread"
|
||||
)
|
||||
endif(NOT BLAS95_LIBRARIES)
|
||||
|
||||
### windows version of intel mkl 10
|
||||
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
SGEMM
|
||||
""
|
||||
"mkl_c_dll;mkl_intel_thread_dll;mkl_core_dll;libguide40"
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
|
||||
if(NOT BLAS95_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS95_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_blas95;mkl_intel_c;mkl_intel_thread;mkl_core;libguide40"
|
||||
)
|
||||
endif(NOT BLAS95_LIBRARIES)
|
||||
|
||||
|
||||
# linux 32 bit
|
||||
if(NOT BLAS95_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS95_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_blas95;mkl_intel;mkl_intel_thread;mkl_core;guide;pthread"
|
||||
)
|
||||
endif(NOT BLAS95_LIBRARIES)
|
||||
|
||||
|
||||
#older vesions of intel mkl libs
|
||||
|
||||
# BLAS in intel mkl library? (shared)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
#BLAS in acml library?
|
||||
if (BLA_VENDOR STREQUAL "ACML" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl;guide;pthread"
|
||||
"acml"
|
||||
""
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
|
||||
|
||||
#BLAS in intel mkl library? (static, 32bit)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_ia32;guide;pthread"
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
|
||||
#BLAS in intel mkl library? (static, em64t 64bit)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_em64t;guide;pthread"
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
|
||||
|
||||
#BLAS in acml library?
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"acml"
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "ACML" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# Apple BLAS library?
|
||||
if (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
@ -288,51 +253,201 @@ if(NOT BLAS_LIBRARIES)
|
||||
cblas_dgemm
|
||||
""
|
||||
"Accelerate"
|
||||
""
|
||||
)
|
||||
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
|
||||
if ( NOT BLAS_LIBRARIES )
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
|
||||
if ( NOT BLAS_LIBRARIES )
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
cblas_dgemm
|
||||
""
|
||||
"vecLib"
|
||||
""
|
||||
)
|
||||
endif ( NOT BLAS_LIBRARIES )
|
||||
|
||||
|
||||
endif ( NOT BLAS_LIBRARIES )
|
||||
endif (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
|
||||
# Generic BLAS library?
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
if (BLA_VENDOR STREQUAL "Generic" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"blas"
|
||||
""
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "Generic" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
#BLAS in intel mkl 10 library? (em64t 64bit)
|
||||
if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
|
||||
if (_LANGUAGES_ MATCHES C OR _LANGUAGES_ MATCHES CXX)
|
||||
if(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED)
|
||||
find_package(Threads)
|
||||
else(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED)
|
||||
find_package(Threads REQUIRED)
|
||||
endif(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED)
|
||||
if (WIN32)
|
||||
if(BLA_F95)
|
||||
if(NOT BLAS95_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS95_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_blas95;mkl_intel_c;mkl_intel_thread;mkl_core;libguide40"
|
||||
""
|
||||
)
|
||||
endif(NOT BLAS95_LIBRARIES)
|
||||
else(BLA_F95)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
SGEMM
|
||||
""
|
||||
"mkl_c_dll;mkl_intel_thread_dll;mkl_core_dll;libguide40"
|
||||
""
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(BLA_F95)
|
||||
else(WIN32)
|
||||
if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All")
|
||||
if(BLA_F95)
|
||||
if(NOT BLAS95_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS95_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_blas95;mkl_intel;mkl_intel_thread;mkl_core;guide"
|
||||
"${CMAKE_THREAD_LIBS_INIT}"
|
||||
)
|
||||
endif(NOT BLAS95_LIBRARIES)
|
||||
else(BLA_F95)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_intel;mkl_intel_thread;mkl_core;guide"
|
||||
"${CMAKE_THREAD_LIBS_INIT}"
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(BLA_F95)
|
||||
endif (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All")
|
||||
if (BLA_VENDOR STREQUAL "Intel10_64lp" OR BLA_VENDOR STREQUAL "All")
|
||||
if(BLA_F95)
|
||||
if(NOT BLAS95_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS95_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_blas95;mkl_intel_lp64;mkl_intel_thread;mkl_core;guide"
|
||||
"${CMAKE_THREAD_LIBS_INIT}"
|
||||
)
|
||||
endif(NOT BLAS95_LIBRARIES)
|
||||
else(BLA_F95)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_intel_lp64;mkl_intel_thread;mkl_core;guide"
|
||||
"${CMAKE_THREAD_LIBS_INIT}"
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif(BLA_F95)
|
||||
endif (BLA_VENDOR STREQUAL "Intel10_64lp" OR BLA_VENDOR STREQUAL "All")
|
||||
endif (WIN32)
|
||||
#older vesions of intel mkl libs
|
||||
# BLAS in intel mkl library? (shared)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl;guide"
|
||||
"${CMAKE_THREAD_LIBS_INIT}"
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
#BLAS in intel mkl library? (static, 32bit)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_ia32;guide"
|
||||
"${CMAKE_THREAD_LIBS_INIT}"
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
#BLAS in intel mkl library? (static, em64t 64bit)
|
||||
if(NOT BLAS_LIBRARIES)
|
||||
check_fortran_libraries(
|
||||
BLAS_LIBRARIES
|
||||
BLAS
|
||||
sgemm
|
||||
""
|
||||
"mkl_em64t;guide"
|
||||
"${CMAKE_THREAD_LIBS_INIT}"
|
||||
)
|
||||
endif(NOT BLAS_LIBRARIES)
|
||||
endif (_LANGUAGES_ MATCHES C OR _LANGUAGES_ MATCHES CXX)
|
||||
endif (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
|
||||
if(BLAS_LIBRARIES)
|
||||
if(BLA_F95)
|
||||
if(BLAS95_LIBRARIES)
|
||||
set(BLAS95_FOUND TRUE)
|
||||
else(BLAS95_LIBRARIES)
|
||||
set(BLAS95_FOUND FALSE)
|
||||
endif(BLAS95_LIBRARIES)
|
||||
|
||||
if(NOT BLAS_FIND_QUIETLY)
|
||||
if(BLAS95_FOUND)
|
||||
message(STATUS "A library with BLAS95 API found.")
|
||||
else(BLAS95_FOUND)
|
||||
if(BLAS_FIND_REQUIRED)
|
||||
message(FATAL_ERROR
|
||||
"A required library with BLAS95 API not found. Please specify library location.")
|
||||
else(BLAS_FIND_REQUIRED)
|
||||
message(STATUS
|
||||
"A library with BLAS95 API not found. Please specify library location.")
|
||||
endif(BLAS_FIND_REQUIRED)
|
||||
endif(BLAS95_FOUND)
|
||||
endif(NOT BLAS_FIND_QUIETLY)
|
||||
set(BLAS_FOUND TRUE)
|
||||
else(BLAS_LIBRARIES)
|
||||
set(BLAS_FOUND FALSE)
|
||||
endif(BLAS_LIBRARIES)
|
||||
set(BLAS_LIBRARIES "${BLAS95_LIBRARIES}")
|
||||
else(BLA_F95)
|
||||
if(BLAS_LIBRARIES)
|
||||
set(BLAS_FOUND TRUE)
|
||||
else(BLAS_LIBRARIES)
|
||||
set(BLAS_FOUND FALSE)
|
||||
endif(BLAS_LIBRARIES)
|
||||
|
||||
if(NOT BLAS_FIND_QUIETLY)
|
||||
if(BLAS_FOUND)
|
||||
message(STATUS "A library with BLAS API found.")
|
||||
else(BLAS_FOUND)
|
||||
if(BLAS_FIND_REQUIRED)
|
||||
message(FATAL_ERROR
|
||||
"A required library with BLAS API not found. Please specify library location."
|
||||
)
|
||||
else(BLAS_FIND_REQUIRED)
|
||||
message(STATUS
|
||||
"A library with BLAS API not found. Please specify library location."
|
||||
)
|
||||
endif(BLAS_FIND_REQUIRED)
|
||||
endif(BLAS_FOUND)
|
||||
endif(NOT BLAS_FIND_QUIETLY)
|
||||
if(NOT BLAS_FIND_QUIETLY)
|
||||
if(BLAS_FOUND)
|
||||
message(STATUS "A library with BLAS API found.")
|
||||
else(BLAS_FOUND)
|
||||
if(BLAS_FIND_REQUIRED)
|
||||
message(FATAL_ERROR
|
||||
"A required library with BLAS API not found. Please specify library location."
|
||||
)
|
||||
else(BLAS_FIND_REQUIRED)
|
||||
message(STATUS
|
||||
"A library with BLAS API not found. Please specify library location."
|
||||
)
|
||||
endif(BLAS_FIND_REQUIRED)
|
||||
endif(BLAS_FOUND)
|
||||
endif(NOT BLAS_FIND_QUIETLY)
|
||||
endif(BLA_F95)
|
||||
|
@ -12,8 +12,8 @@
|
||||
# when new Boost versions are released.
|
||||
#
|
||||
# Currently this module searches for the following version numbers:
|
||||
# 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1, 1.35, 1.35.0, 1.35.1, 1.36.0,
|
||||
# 1.36.1
|
||||
# 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1, 1.35, 1.35.0, 1.35.1, 1.36,
|
||||
# 1.36.0, 1.36.1
|
||||
#
|
||||
# The components list needs to be the actual names of boost libraries, that is
|
||||
# the part of the actual library files that differ on different libraries. So
|
||||
@ -36,12 +36,12 @@
|
||||
# the boost include directory. The default list
|
||||
# of version numbers is:
|
||||
# 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1,
|
||||
# 1.35, 1.35.0, 1.35.1, 1.36.0, 1.36.1
|
||||
# 1.35, 1.35.0, 1.35.1, 1.36, 1.36.0, 1.36.1
|
||||
# If you want to look for an older or newer
|
||||
# version set this variable to a list of
|
||||
# strings, where each string contains a number, i.e.
|
||||
# SET(Boost_ADDITIONAL_VERSIONS "0.99.0" "1.35.0")
|
||||
# BOOST_ROOT Preferred installation prefix for searching for Boost,
|
||||
# BOOST_ROOT or BOOSTROOT Preferred installation prefix for searching for Boost,
|
||||
# set this if the module has problems finding the proper Boost installation
|
||||
# BOOST_INCLUDEDIR Set this to the include directory of Boost, if the
|
||||
# module has problems finding the proper Boost installation
|
||||
@ -91,20 +91,28 @@
|
||||
# BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
#
|
||||
OPTION(Boost_USE_MULTITHREADED
|
||||
"Use the multithreaded versions of the Boost libraries" ON)
|
||||
|
||||
# this module required CMake 2.5 for the Boost_FIND_VERSION stuff
|
||||
|
||||
# this must not be done in find modules, it changes the policy settings, which may have been
|
||||
# set in the projects cmake files.
|
||||
# beside that this module comes with cmake, so the cmake version is always correct, Alex
|
||||
# CMAKE_MINIMUM_REQUIRED(VERSION "2.6" FATAL_ERROR)
|
||||
|
||||
# MESSAGE(STATUS "Finding Boost libraries.... ")
|
||||
|
||||
OPTION(Boost_USE_MULTITHREADED "Use the multithreaded versions of the boost libraries" ON)
|
||||
|
||||
SET( _boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS} "1.36.1" "1.36.0" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0" "1.34" "1.33.1" "1.33.0" "1.33" )
|
||||
if (Boost_FIND_VERSION_EXACT)
|
||||
if (Boost_FIND_VERSION_PATCH)
|
||||
set( _boost_TEST_VERSIONS
|
||||
"${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.${Boost_FIND_VERSION_PATCH}")
|
||||
else (Boost_FIND_VERSION_PATCH)
|
||||
set( _boost_TEST_VERSIONS
|
||||
"${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.0"
|
||||
"${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
|
||||
endif (Boost_FIND_VERSION_PATCH)
|
||||
else (Boost_FIND_VERSION_EXACT)
|
||||
set( _boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
|
||||
"1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0"
|
||||
"1.34" "1.33.1" "1.33.0" "1.33" )
|
||||
endif (Boost_FIND_VERSION_EXACT)
|
||||
|
||||
# The reason that we failed to find Boost. This will be set to a
|
||||
# user-friendly message when we fail to find some necessary piece of
|
||||
# Boost.
|
||||
set(Boost_ERROR_REASON)
|
||||
|
||||
############################################
|
||||
#
|
||||
@ -119,8 +127,6 @@ SET( _boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS} "1.36.1" "1.36.0" "1.35.1
|
||||
|
||||
MACRO (_Boost_ADJUST_LIB_VARS basename)
|
||||
IF (Boost_INCLUDE_DIR )
|
||||
#MESSAGE(STATUS "Adjusting ${basename} ")
|
||||
|
||||
IF (Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE)
|
||||
# if the generator supports configuration types then set
|
||||
# optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
|
||||
@ -152,7 +158,7 @@ MACRO (_Boost_ADJUST_LIB_VARS basename)
|
||||
SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY} CACHE FILEPATH "The Boost ${basename} library")
|
||||
GET_FILENAME_COMPONENT(Boost_LIBRARY_DIRS "${Boost_${basename}_LIBRARY}" PATH)
|
||||
SET(Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIRS} CACHE FILEPATH "Boost library directory")
|
||||
SET(Boost_${basename}_FOUND ON CACHE INTERNAL "Was the boost boost ${basename} library found")
|
||||
SET(Boost_${basename}_FOUND ON CACHE INTERNAL "Whether the Boost ${basename} library found")
|
||||
ENDIF (Boost_${basename}_LIBRARY)
|
||||
|
||||
ENDIF (Boost_INCLUDE_DIR )
|
||||
@ -197,120 +203,120 @@ ELSE (_boost_IN_CACHE)
|
||||
# Need to search for boost
|
||||
|
||||
IF(WIN32)
|
||||
# In windows, automatic linking is performed, so you do not have to specify the libraries.
|
||||
# If you are linking to a dynamic runtime, then you can choose to link to either a static or a
|
||||
# dynamic Boost library, the default is to do a static link. You can alter this for a specific
|
||||
# library "whatever" by defining BOOST_WHATEVER_DYN_LINK to force Boost library "whatever" to
|
||||
# be linked dynamically. Alternatively you can force all Boost libraries to dynamic link by
|
||||
# defining BOOST_ALL_DYN_LINK.
|
||||
# In windows, automatic linking is performed, so you do not have
|
||||
# to specify the libraries. If you are linking to a dynamic
|
||||
# runtime, then you can choose to link to either a static or a
|
||||
# dynamic Boost library, the default is to do a static link. You
|
||||
# can alter this for a specific library "whatever" by defining
|
||||
# BOOST_WHATEVER_DYN_LINK to force Boost library "whatever" to be
|
||||
# linked dynamically. Alternatively you can force all Boost
|
||||
# libraries to dynamic link by defining BOOST_ALL_DYN_LINK.
|
||||
|
||||
# This feature can be disabled for Boost library "whatever" by defining BOOST_WHATEVER_NO_LIB,
|
||||
# or for all of Boost by defining BOOST_ALL_NO_LIB.
|
||||
# This feature can be disabled for Boost library "whatever" by
|
||||
# defining BOOST_WHATEVER_NO_LIB, or for all of Boost by defining
|
||||
# BOOST_ALL_NO_LIB.
|
||||
|
||||
# If you want to observe which libraries are being linked against then defining
|
||||
# BOOST_LIB_DIAGNOSTIC will cause the auto-linking code to emit a #pragma message each time
|
||||
# a library is selected for linking.
|
||||
SET(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC" CACHE STRING "Boost diagnostic define")
|
||||
# If you want to observe which libraries are being linked against
|
||||
# then defining BOOST_LIB_DIAGNOSTIC will cause the auto-linking
|
||||
# code to emit a #pragma message each time a library is selected
|
||||
# for linking.
|
||||
SET(Boost_LIB_DIAGNOSTIC_DEFINITIONS
|
||||
"-DBOOST_LIB_DIAGNOSTIC" CACHE STRING "Boost diagnostic define")
|
||||
ENDIF(WIN32)
|
||||
|
||||
|
||||
SET(_boost_INCLUDE_SEARCH_DIRS
|
||||
C:/boost/include
|
||||
"C:/Program Files/boost/boost_${Boost_FIND_VERSION_MAJOR}_${Boost_FIND_VERSION_MINOR}_${Boost_FIND_VERSION_PATCH}"
|
||||
# D: is very often the cdrom drive, IF you don't have a
|
||||
# cdrom inserted it will popup a very annoying dialog
|
||||
#D:/boost/include
|
||||
"C:/boost"
|
||||
"$ENV{ProgramFiles}/boost/boost_${Boost_FIND_VERSION_MAJOR}_${Boost_FIND_VERSION_MINOR}_${Boost_FIND_VERSION_PATCH}"
|
||||
"$ENV{ProgramFiles}/Boost"
|
||||
/sw/local/include
|
||||
)
|
||||
|
||||
SET(_boost_LIBRARIES_SEARCH_DIRS
|
||||
C:/boost/lib
|
||||
"C:/Program Files/boost/boost_${Boost_FIND_VERSION_MAJOR}_${Boost_FIND_VERSION_MINOR}_${Boost_FIND_VERSION_PATCH}/lib"
|
||||
"C:/boost"
|
||||
"$ENV{ProgramFiles}/boost/boost_${Boost_FIND_VERSION_MAJOR}_${Boost_FIND_VERSION_MINOR}_${Boost_FIND_VERSION_PATCH}/lib"
|
||||
"$ENV{ProgramFiles}/Boost"
|
||||
/sw/local/lib
|
||||
)
|
||||
|
||||
IF( NOT $ENV{BOOST_ROOT} STREQUAL "" )
|
||||
SET(_boost_INCLUDE_SEARCH_DIRS $ENV{BOOST_ROOT}/include ${_boost_INCLUDE_SEARCH_DIRS})
|
||||
SET(_boost_LIBRARIES_SEARCH_DIRS $ENV{BOOST_ROOT}/lib ${_boost_INCLUDE_SEARCH_DIRS})
|
||||
ENDIF( NOT $ENV{BOOST_ROOT} STREQUAL "" )
|
||||
# If BOOST_ROOT was defined in the environment, use it.
|
||||
if (NOT BOOST_ROOT AND NOT $ENV{BOOST_ROOT} STREQUAL "")
|
||||
set(BOOST_ROOT $ENV{BOOST_ROOT})
|
||||
endif(NOT BOOST_ROOT AND NOT $ENV{BOOST_ROOT} STREQUAL "")
|
||||
|
||||
# If BOOSTROOT was defined in the environment, use it.
|
||||
if (NOT BOOST_ROOT AND NOT $ENV{BOOSTROOT} STREQUAL "")
|
||||
set(BOOST_ROOT $ENV{BOOSTROOT})
|
||||
endif(NOT BOOST_ROOT AND NOT $ENV{BOOSTROOT} STREQUAL "")
|
||||
|
||||
# If BOOST_INCLUDEDIR was defined in the environment, use it.
|
||||
IF( NOT $ENV{BOOST_INCLUDEDIR} STREQUAL "" )
|
||||
SET(_boost_INCLUDE_SEARCH_DIRS $ENV{BOOST_INCLUDEDIR} ${_boost_INCLUDE_SEARCH_DIRS})
|
||||
set(BOOST_INCLUDEDIR $ENV{BOOST_INCLUDEDIR})
|
||||
ENDIF( NOT $ENV{BOOST_INCLUDEDIR} STREQUAL "" )
|
||||
|
||||
# If BOOST_LIBRARYDIR was defined in the environment, use it.
|
||||
IF( NOT $ENV{BOOST_LIBRARYDIR} STREQUAL "" )
|
||||
SET(_boost_LIBRARIES_SEARCH_DIRS $ENV{BOOST_LIBRARYDIR} ${_boost_INCLUDE_SEARCH_DIRS})
|
||||
set(BOOST_LIBRARYDIR $ENV{BOOST_LIBRARYDIR})
|
||||
ENDIF( NOT $ENV{BOOST_LIBRARYDIR} STREQUAL "" )
|
||||
|
||||
IF( BOOST_ROOT )
|
||||
IF( WIN32 )
|
||||
SET(_boost_INCLUDE_SEARCH_DIRS ${BOOST_ROOT} ${_boost_INCLUDE_SEARCH_DIRS})
|
||||
ELSE( WIN32 )
|
||||
SET(_boost_INCLUDE_SEARCH_DIRS ${BOOST_ROOT}/include ${_boost_INCLUDE_SEARCH_DIRS})
|
||||
ENDIF( WIN32 )
|
||||
SET(_boost_LIBRARIES_SEARCH_DIRS ${BOOST_ROOT}/lib ${_boost_LIBRARIES_SEARCH_DIRS})
|
||||
file(TO_CMAKE_PATH ${BOOST_ROOT} BOOST_ROOT)
|
||||
SET(_boost_INCLUDE_SEARCH_DIRS
|
||||
${BOOST_ROOT}/include
|
||||
${BOOST_ROOT}
|
||||
${_boost_INCLUDE_SEARCH_DIRS})
|
||||
SET(_boost_LIBRARIES_SEARCH_DIRS
|
||||
${BOOST_ROOT}/lib
|
||||
${BOOST_ROOT}/stage/lib
|
||||
${_boost_LIBRARIES_SEARCH_DIRS})
|
||||
ENDIF( BOOST_ROOT )
|
||||
|
||||
IF( BOOST_INCLUDEDIR )
|
||||
SET(_boost_INCLUDE_SEARCH_DIRS ${BOOST_INCLUDEDIR} ${_boost_INCLUDE_SEARCH_DIRS})
|
||||
file(TO_CMAKE_PATH ${BOOST_INCLUDEDIR} BOOST_INCLUDEDIR)
|
||||
SET(_boost_INCLUDE_SEARCH_DIRS
|
||||
${BOOST_INCLUDEDIR} ${_boost_INCLUDE_SEARCH_DIRS})
|
||||
ENDIF( BOOST_INCLUDEDIR )
|
||||
|
||||
IF( BOOST_LIBRARYDIR )
|
||||
SET(_boost_LIBRARIES_SEARCH_DIRS ${BOOST_LIBRARYDIR} ${_boost_LIBRARIES_SEARCH_DIRS})
|
||||
file(TO_CMAKE_PATH ${BOOST_LIBRARYDIR} BOOST_LIBRARYDIR)
|
||||
SET(_boost_LIBRARIES_SEARCH_DIRS
|
||||
${BOOST_LIBRARYDIR} ${_boost_LIBRARIES_SEARCH_DIRS})
|
||||
ENDIF( BOOST_LIBRARYDIR )
|
||||
|
||||
#Try first in our own include search paths (e.g. BOOST_ROOT)
|
||||
FOREACH(_boost_VER ${_boost_TEST_VERSIONS})
|
||||
IF( NOT Boost_INCLUDE_DIR )
|
||||
|
||||
# Add in a path suffix, based on the required version, ideally we could
|
||||
# read this from version.hpp, but for that to work we'd need to know the include
|
||||
# dir already
|
||||
SET(_boost_PATH_SUFFIX
|
||||
boost-${_boost_VER}
|
||||
)
|
||||
# Try to find Boost by stepping backwards through the Boost versions
|
||||
# we know about.
|
||||
IF( NOT Boost_INCLUDE_DIR )
|
||||
# Build a list of path suffixes for each version.
|
||||
SET(_boost_PATH_SUFFIXES)
|
||||
FOREACH(_boost_VER ${_boost_TEST_VERSIONS})
|
||||
# Add in a path suffix, based on the required version, ideally
|
||||
# we could read this from version.hpp, but for that to work we'd
|
||||
# need to know the include dir already
|
||||
if (WIN32 AND NOT CYGWIN)
|
||||
set(_boost_PATH_SUFFIX boost_${_boost_VER})
|
||||
else (WIN32 AND NOT CYGWIN)
|
||||
set(_boost_PATH_SUFFIX boost-${_boost_VER})
|
||||
endif (WIN32 AND NOT CYGWIN)
|
||||
|
||||
IF(_boost_PATH_SUFFIX MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+")
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1_\\2_\\3" _boost_PATH_SUFFIX ${_boost_PATH_SUFFIX})
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1_\\2_\\3"
|
||||
_boost_PATH_SUFFIX ${_boost_PATH_SUFFIX})
|
||||
ELSEIF(_boost_PATH_SUFFIX MATCHES "[0-9]+\\.[0-9]+")
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)" "\\1_\\2" _boost_PATH_SUFFIX ${_boost_PATH_SUFFIX})
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)" "\\1_\\2"
|
||||
_boost_PATH_SUFFIX ${_boost_PATH_SUFFIX})
|
||||
ENDIF(_boost_PATH_SUFFIX MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+")
|
||||
LIST(APPEND _boost_PATH_SUFFIXES "${_boost_PATH_SUFFIX}")
|
||||
ENDFOREACH(_boost_VER)
|
||||
|
||||
|
||||
FIND_PATH(Boost_INCLUDE_DIR
|
||||
NAMES boost/config.hpp
|
||||
PATHS ${_boost_INCLUDE_SEARCH_DIRS}
|
||||
PATH_SUFFIXES ${_boost_PATH_SUFFIX}
|
||||
NO_DEFAULT_PATH
|
||||
# Look for a standard boost header file.
|
||||
FIND_PATH(Boost_INCLUDE_DIR
|
||||
NAMES boost/config.hpp
|
||||
HINTS ${_boost_INCLUDE_SEARCH_DIRS}
|
||||
PATH_SUFFIXES ${_boost_PATH_SUFFIXES}
|
||||
)
|
||||
ENDIF( NOT Boost_INCLUDE_DIR )
|
||||
|
||||
ENDIF( NOT Boost_INCLUDE_DIR )
|
||||
ENDFOREACH(_boost_VER)
|
||||
|
||||
# If nothing is found search again using system default paths
|
||||
FOREACH(_boost_VER ${_boost_TEST_VERSIONS})
|
||||
IF( NOT Boost_INCLUDE_DIR )
|
||||
|
||||
# Add in a path suffix, based on the required version, ideally we could
|
||||
# read this from version.hpp, but for that to work we'd need to know the include
|
||||
# dir already
|
||||
SET(_boost_PATH_SUFFIX
|
||||
boost-${_boost_VER}
|
||||
)
|
||||
|
||||
IF(_boost_PATH_SUFFIX MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+")
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1_\\2_\\3" _boost_PATH_SUFFIX ${_boost_PATH_SUFFIX})
|
||||
ELSEIF(_boost_PATH_SUFFIX MATCHES "[0-9]+\\.[0-9]+")
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)" "\\1_\\2" _boost_PATH_SUFFIX ${_boost_PATH_SUFFIX})
|
||||
ENDIF(_boost_PATH_SUFFIX MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+")
|
||||
|
||||
FIND_PATH(Boost_INCLUDE_DIR
|
||||
NAMES boost/config.hpp
|
||||
PATH_SUFFIXES ${_boost_PATH_SUFFIX}
|
||||
)
|
||||
|
||||
ENDIF( NOT Boost_INCLUDE_DIR )
|
||||
ENDFOREACH(_boost_VER)
|
||||
IF(Boost_INCLUDE_DIR)
|
||||
# Extract Boost_VERSION and Boost_LIB_VERSION from version.hpp
|
||||
# Read the whole file:
|
||||
@ -329,56 +335,69 @@ ELSE (_boost_IN_CACHE)
|
||||
MATH(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000")
|
||||
MATH(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000")
|
||||
MATH(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100")
|
||||
|
||||
|
||||
set(Boost_ERROR_REASON
|
||||
"${Boost_ERROR_REASON}Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}\nBoost include path: ${Boost_INCLUDE_DIR}")
|
||||
ENDIF(NOT "${Boost_VERSION}" STREQUAL "0")
|
||||
ELSE(Boost_INCLUDE_DIR)
|
||||
set(Boost_ERROR_REASON
|
||||
"${Boost_ERROR_REASON}Unable to find the Boost header files. Please set BOOST_ROOT to the root directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers.")
|
||||
ENDIF(Boost_INCLUDE_DIR)
|
||||
|
||||
|
||||
#Setting some more suffixes for the library
|
||||
# Setting some more suffixes for the library
|
||||
SET (Boost_LIB_PREFIX "")
|
||||
IF ( WIN32 AND Boost_USE_STATIC_LIBS )
|
||||
SET (Boost_LIB_PREFIX "lib")
|
||||
ENDIF ( WIN32 AND Boost_USE_STATIC_LIBS )
|
||||
SET (_boost_COMPILER "-gcc")
|
||||
IF (MSVC71)
|
||||
SET (_boost_COMPILER "-vc71")
|
||||
ENDIF(MSVC71)
|
||||
IF (MSVC80)
|
||||
SET (_boost_COMPILER "-vc80")
|
||||
ENDIF(MSVC80)
|
||||
IF (MSVC90)
|
||||
SET (_boost_COMPILER "-vc90")
|
||||
ENDIF (MSVC90)
|
||||
ELSEIF (MSVC80)
|
||||
SET (_boost_COMPILER "-vc80")
|
||||
ELSEIF (MSVC71)
|
||||
SET (_boost_COMPILER "-vc71")
|
||||
ENDIF(MSVC90)
|
||||
IF (MINGW)
|
||||
EXEC_PROGRAM(${CMAKE_CXX_COMPILER}
|
||||
ARGS --version
|
||||
ARGS -dumpversion
|
||||
OUTPUT_VARIABLE _boost_COMPILER_VERSION
|
||||
)
|
||||
STRING(REGEX REPLACE ".* ([0-9])\\.([0-9])\\.[0-9] .*" "\\1\\2"
|
||||
STRING(REGEX REPLACE "([0-9])\\.([0-9])\\.[0-9]" "\\1\\2"
|
||||
_boost_COMPILER_VERSION ${_boost_COMPILER_VERSION})
|
||||
SET (_boost_COMPILER "-mgw${_boost_COMPILER_VERSION}")
|
||||
ENDIF(MINGW)
|
||||
IF (CYGWIN)
|
||||
SET (_boost_COMPILER "-gcc")
|
||||
ENDIF (CYGWIN)
|
||||
IF (UNIX)
|
||||
IF (APPLE)
|
||||
SET (_boost_COMPILER "")
|
||||
ELSE (APPLE)
|
||||
IF (NOT CMAKE_COMPILER_IS_GNUCC)
|
||||
# This is for the intel compiler
|
||||
SET (_boost_COMPILER "-il")
|
||||
ELSE (NOT CMAKE_COMPILER_IS_GNUCC)
|
||||
#find out the version of gcc being used.
|
||||
EXEC_PROGRAM(${CMAKE_CXX_COMPILER}
|
||||
ARGS --version
|
||||
OUTPUT_VARIABLE _boost_COMPILER_VERSION
|
||||
IF (NOT CMAKE_COMPILER_IS_GNUCC)
|
||||
# We assume that we have the Intel compiler.
|
||||
SET (_boost_COMPILER "-il")
|
||||
ELSE (NOT CMAKE_COMPILER_IS_GNUCC)
|
||||
# Determine which version of GCC we have.
|
||||
EXEC_PROGRAM(${CMAKE_CXX_COMPILER}
|
||||
ARGS -dumpversion
|
||||
OUTPUT_VARIABLE _boost_COMPILER_VERSION
|
||||
)
|
||||
STRING(REGEX REPLACE ".* ([0-9])\\.([0-9])\\.[0-9] .*" "\\1\\2"
|
||||
_boost_COMPILER_VERSION ${_boost_COMPILER_VERSION})
|
||||
STRING(REGEX REPLACE "([0-9])\\.([0-9])\\.[0-9]" "\\1\\2"
|
||||
_boost_COMPILER_VERSION ${_boost_COMPILER_VERSION})
|
||||
IF(APPLE)
|
||||
IF(Boost_MINOR_VERSION)
|
||||
IF(${Boost_MINOR_VERSION} GREATER 35)
|
||||
# In Boost 1.36.0 and newer, the mangled compiler name used
|
||||
# on Mac OS X/Darwin is "xgcc".
|
||||
SET(_boost_COMPILER "-xgcc${_boost_COMPILER_VERSION}")
|
||||
ELSE(${Boost_MINOR_VERSION} GREATER 35)
|
||||
# In Boost <= 1.35.0, there is no mangled compiler name for
|
||||
# the Mac OS X/Darwin version of GCC.
|
||||
SET(_boost_COMPILER "")
|
||||
ENDIF(${Boost_MINOR_VERSION} GREATER 35)
|
||||
ELSE(Boost_MINOR_VERSION)
|
||||
# We don't know the Boost version, so assume it's
|
||||
# pre-1.36.0.
|
||||
SET(_boost_COMPILER "")
|
||||
ENDIF(Boost_MINOR_VERSION)
|
||||
ELSE()
|
||||
SET (_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}")
|
||||
ENDIF (NOT CMAKE_COMPILER_IS_GNUCC)
|
||||
ENDIF (APPLE)
|
||||
ENDIF()
|
||||
ENDIF (NOT CMAKE_COMPILER_IS_GNUCC)
|
||||
ENDIF(UNIX)
|
||||
|
||||
SET (_boost_MULTITHREADED "-mt")
|
||||
@ -423,39 +442,18 @@ ELSE (_boost_IN_CACHE)
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}
|
||||
PATHS ${_boost_LIBRARIES_SEARCH_DIRS}
|
||||
NO_DEFAULT_PATH
|
||||
HINTS ${_boost_LIBRARIES_SEARCH_DIRS}
|
||||
)
|
||||
|
||||
IF( NOT ${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE} )
|
||||
FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE
|
||||
NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${Boost_LIB_VERSION}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}-${Boost_LIB_VERSION}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}
|
||||
)
|
||||
ENDIF( NOT ${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE} )
|
||||
|
||||
FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG
|
||||
NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${_boost_ABI_TAG}-${Boost_LIB_VERSION}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}-${_boost_ABI_TAG}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}-${_boost_ABI_TAG}
|
||||
PATHS ${_boost_LIBRARIES_SEARCH_DIRS}
|
||||
NO_DEFAULT_PATH
|
||||
HINTS ${_boost_LIBRARIES_SEARCH_DIRS}
|
||||
)
|
||||
|
||||
IF( NOT ${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG} )
|
||||
FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG
|
||||
NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${_boost_ABI_TAG}-${Boost_LIB_VERSION}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}-${_boost_ABI_TAG}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}
|
||||
${Boost_LIB_PREFIX}boost_${COMPONENT}-${_boost_ABI_TAG}
|
||||
)
|
||||
ENDIF( NOT ${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG} )
|
||||
_Boost_ADJUST_LIB_VARS(${UPPERCOMPONENT})
|
||||
IF( Boost_USE_STATIC_LIBS )
|
||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES ${_boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||
@ -469,33 +467,103 @@ ELSE (_boost_IN_CACHE)
|
||||
${Boost_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
# MESSAGE(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}")
|
||||
# MESSAGE(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}")
|
||||
|
||||
SET(Boost_FOUND FALSE)
|
||||
IF(Boost_INCLUDE_DIR)
|
||||
SET( Boost_FOUND TRUE )
|
||||
IF( Boost_FIND_VERSION_MAJOR AND Boost_VERSION_MAJOR LESS "${Boost_FIND_VERSION_MAJOR}" )
|
||||
SET( Boost_FOUND FALSE )
|
||||
ELSE( Boost_FIND_VERSION_MAJOR AND Boost_VERSION_MAJOR LESS "${Boost_FIND_VERSION_MAJOR}" )
|
||||
IF( Boost_FIND_VERSION_MINOR AND Boost_VERSION_MINOR LESS "${Boost_FIND_VERSION_MINOR}" )
|
||||
SET( Boost_FOUND FALSE )
|
||||
ELSE( Boost_FIND_VERSION_MINOR AND Boost_VERSION_MINOR LESS "${Boost_FIND_VERSION_MINOR}" )
|
||||
IF( Boost_FIND_VERSION_PATCH AND Boost_VERSION_SUBMINOR LESS "${Boost_FIND_VERSION_PATCH}" )
|
||||
SET( Boost_FOUND FALSE )
|
||||
ENDIF( Boost_FIND_VERSION_PATCH AND Boost_VERSION_SUBMINOR LESS "${Boost_FIND_VERSION_PATCH}" )
|
||||
ENDIF( Boost_FIND_VERSION_MINOR AND Boost_VERSION_MINOR LESS "${Boost_FIND_VERSION_MINOR}" )
|
||||
ENDIF( Boost_FIND_VERSION_MAJOR AND Boost_VERSION_MAJOR LESS "${Boost_FIND_VERSION_MAJOR}" )
|
||||
set(_boost_CHECKED_COMPONENT FALSE)
|
||||
FOREACH(COMPONENT ${Boost_FIND_COMPONENTS})
|
||||
STRING(TOUPPER ${COMPONENT} COMPONENT)
|
||||
set(_boost_CHECKED_COMPONENT TRUE)
|
||||
IF(NOT Boost_${COMPONENT}_FOUND)
|
||||
SET( Boost_FOUND FALSE)
|
||||
ENDIF(NOT Boost_${COMPONENT}_FOUND)
|
||||
ENDFOREACH(COMPONENT)
|
||||
|
||||
# Check the version of Boost against the requested version.
|
||||
if (Boost_FIND_VERSION AND NOT Boost_FIND_VERSION_MINOR)
|
||||
message(SEND_ERROR "When requesting a specific version of Boost, you must provide at least the major and minor version numbers, e.g., 1.34")
|
||||
endif (Boost_FIND_VERSION AND NOT Boost_FIND_VERSION_MINOR)
|
||||
if(Boost_MAJOR_VERSION LESS "${Boost_FIND_VERSION_MAJOR}" )
|
||||
set( Boost_FOUND FALSE )
|
||||
set(_Boost_VERSION_AGE "old")
|
||||
elseif(Boost_MAJOR_VERSION EQUAL "${Boost_FIND_VERSION_MAJOR}" )
|
||||
if(Boost_MINOR_VERSION LESS "${Boost_FIND_VERSION_MINOR}" )
|
||||
set( Boost_FOUND FALSE )
|
||||
set(_Boost_VERSION_AGE "old")
|
||||
elseif(Boost_MINOR_VERSION EQUAL "${Boost_FIND_VERSION_MINOR}" )
|
||||
if( Boost_FIND_VERSION_PATCH AND Boost_SUBMINOR_VERSION LESS "${Boost_FIND_VERSION_PATCH}" )
|
||||
set( Boost_FOUND FALSE )
|
||||
set(_Boost_VERSION_AGE "old")
|
||||
endif( Boost_FIND_VERSION_PATCH AND Boost_SUBMINOR_VERSION LESS "${Boost_FIND_VERSION_PATCH}" )
|
||||
endif( Boost_MINOR_VERSION LESS "${Boost_FIND_VERSION_MINOR}" )
|
||||
endif( Boost_MAJOR_VERSION LESS "${Boost_FIND_VERSION_MAJOR}" )
|
||||
|
||||
if (Boost_FOUND AND Boost_FIND_VERSION_EXACT)
|
||||
# If the user requested an exact version of Boost, check
|
||||
# that. We already know that the Boost version we have is >= the
|
||||
# requested version.
|
||||
set(_Boost_VERSION_AGE "new")
|
||||
|
||||
# If the user didn't specify a patchlevel, it's 0.
|
||||
if (NOT Boost_FIND_VERSION_PATCH)
|
||||
set(Boost_FIND_VERSION_PATCH 0)
|
||||
endif (NOT Boost_FIND_VERSION_PATCH)
|
||||
|
||||
# We'll set Boost_FOUND true again if we have an exact version match.
|
||||
set(Boost_FOUND FALSE)
|
||||
if(Boost_MAJOR_VERSION EQUAL "${Boost_FIND_VERSION_MAJOR}" )
|
||||
if(Boost_MINOR_VERSION EQUAL "${Boost_FIND_VERSION_MINOR}" )
|
||||
if(Boost_SUBMINOR_VERSION EQUAL "${Boost_FIND_VERSION_PATCH}" )
|
||||
set( Boost_FOUND TRUE )
|
||||
endif(Boost_SUBMINOR_VERSION EQUAL "${Boost_FIND_VERSION_PATCH}" )
|
||||
endif( Boost_MINOR_VERSION EQUAL "${Boost_FIND_VERSION_MINOR}" )
|
||||
endif( Boost_MAJOR_VERSION EQUAL "${Boost_FIND_VERSION_MAJOR}" )
|
||||
endif (Boost_FOUND AND Boost_FIND_VERSION_EXACT)
|
||||
|
||||
if(NOT Boost_FOUND)
|
||||
# State that we found a version of Boost that is too new or too old.
|
||||
set(Boost_ERROR_REASON
|
||||
"${Boost_ERROR_REASON}\nDetected version of Boost is too ${_Boost_VERSION_AGE}. Requested version was ${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
|
||||
if (Boost_FIND_VERSION_PATCH)
|
||||
set(Boost_ERROR_REASON
|
||||
"${Boost_ERROR_REASON}.${Boost_FIND_VERSION_PATCH}")
|
||||
endif (Boost_FIND_VERSION_PATCH)
|
||||
if (NOT Boost_FIND_VERSION_EXACT)
|
||||
set(Boost_ERROR_REASON "${Boost_ERROR_REASON} (or newer)")
|
||||
endif (NOT Boost_FIND_VERSION_EXACT)
|
||||
set(Boost_ERROR_REASON "${Boost_ERROR_REASON}.")
|
||||
endif (NOT Boost_FOUND)
|
||||
|
||||
if (Boost_FOUND)
|
||||
set(_boost_CHECKED_COMPONENT FALSE)
|
||||
set(_Boost_MISSING_COMPONENTS)
|
||||
foreach(COMPONENT ${Boost_FIND_COMPONENTS})
|
||||
string(TOUPPER ${COMPONENT} COMPONENT)
|
||||
set(_boost_CHECKED_COMPONENT TRUE)
|
||||
if(NOT Boost_${COMPONENT}_FOUND)
|
||||
string(TOLOWER ${COMPONENT} COMPONENT)
|
||||
list(APPEND _Boost_MISSING_COMPONENTS ${COMPONENT})
|
||||
set( Boost_FOUND FALSE)
|
||||
endif(NOT Boost_${COMPONENT}_FOUND)
|
||||
endforeach(COMPONENT)
|
||||
endif (Boost_FOUND)
|
||||
|
||||
if (_Boost_MISSING_COMPONENTS)
|
||||
# We were unable to find some libraries, so generate a sensible
|
||||
# error message that lists the libraries we were unable to find.
|
||||
set(Boost_ERROR_REASON
|
||||
"${Boost_ERROR_REASON}\nThe following Boost libraries could not be found:\n")
|
||||
foreach(COMPONENT ${_Boost_MISSING_COMPONENTS})
|
||||
set(Boost_ERROR_REASON
|
||||
"${Boost_ERROR_REASON} boost_${COMPONENT}\n")
|
||||
endforeach(COMPONENT)
|
||||
|
||||
list(LENGTH Boost_FIND_COMPONENTS Boost_NUM_COMPONENTS_WANTED)
|
||||
list(LENGTH _Boost_MISSING_COMPONENTS Boost_NUM_MISSING_COMPONENTS)
|
||||
if (${Boost_NUM_COMPONENTS_WANTED} EQUAL ${Boost_NUM_MISSING_COMPONENTS})
|
||||
set(Boost_ERROR_REASON
|
||||
"${Boost_ERROR_REASON}No Boost libraries were found. You may need to set Boost_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.")
|
||||
else (${Boost_NUM_COMPONENTS_WANTED} EQUAL ${Boost_NUM_MISSING_COMPONENTS})
|
||||
set(Boost_ERROR_REASON
|
||||
"${Boost_ERROR_REASON}Some (but not all) of the required Boost libraries were found. You may need to install these additional Boost libraries. Alternatively, set Boost_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.")
|
||||
endif (${Boost_NUM_COMPONENTS_WANTED} EQUAL ${Boost_NUM_MISSING_COMPONENTS})
|
||||
endif (_Boost_MISSING_COMPONENTS)
|
||||
|
||||
IF( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT )
|
||||
# Compatibility Code for backwards compatibility with CMake 2.4
|
||||
# Compatibility Code for backwards compatibility with CMake
|
||||
# 2.4's FindBoost module.
|
||||
|
||||
# Look for the boost library path.
|
||||
# Note that the user may not have installed any libraries
|
||||
@ -549,8 +617,7 @@ ELSE (_boost_IN_CACHE)
|
||||
ENDFOREACH(COMPONENT)
|
||||
ELSE (Boost_FOUND)
|
||||
IF (Boost_FIND_REQUIRED)
|
||||
MESSAGE(STATUS "Boost version required: ${Boost_FIND_VERSION}. Found: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
|
||||
MESSAGE(FATAL_ERROR "Couldn't find the Boost libraries and/or include directory, or the version found is too old. Please install the Boost libraries AND development packages. You can set BOOST_ROOT, BOOST_INCLUDEDIR and BOOST_LIBRARYDIR to help find Boost.")
|
||||
message(SEND_ERROR "Unable to find the requested Boost libraries.\n${Boost_ERROR_REASON}")
|
||||
ENDIF(Boost_FIND_REQUIRED)
|
||||
ENDIF(Boost_FOUND)
|
||||
|
||||
|
@ -12,15 +12,15 @@
|
||||
# Set CURSES_NEED_NCURSES to TRUE before the FIND_PACKAGE() command if NCurses
|
||||
# functionality is required.
|
||||
|
||||
FIND_LIBRARY(CURSES_LIBRARY NAMES curses )
|
||||
FIND_LIBRARY(CURSES_CURSES_LIBRARY NAMES curses )
|
||||
|
||||
FIND_LIBRARY(CURSES_NCURSES_LIBRARY NAMES ncurses )
|
||||
|
||||
SET(CURSES_USE_NCURSES FALSE)
|
||||
|
||||
IF(CURSES_NCURSES_LIBRARY AND NOT CURSES_LIBRARY)
|
||||
IF(CURSES_NCURSES_LIBRARY AND NOT CURSES_CURSES_LIBRARY)
|
||||
SET(CURSES_USE_NCURSES TRUE)
|
||||
ENDIF(CURSES_NCURSES_LIBRARY AND NOT CURSES_LIBRARY)
|
||||
ENDIF(CURSES_NCURSES_LIBRARY AND NOT CURSES_CURSES_LIBRARY)
|
||||
|
||||
|
||||
# Not sure the logic is correct here.
|
||||
@ -34,26 +34,34 @@ ENDIF(CURSES_NCURSES_LIBRARY AND NOT CURSES_LIBRARY)
|
||||
# So at first try ncurses.h, if not found, try to find curses.h under the same
|
||||
# prefix as the library was found, if still not found, try curses.h with the
|
||||
# default search paths.
|
||||
IF(CURSES_LIBRARY AND CURSES_NEED_NCURSES)
|
||||
IF(CURSES_CURSES_LIBRARY AND CURSES_NEED_NCURSES)
|
||||
INCLUDE(CheckLibraryExists)
|
||||
CHECK_LIBRARY_EXISTS("${CURSES_LIBRARY}" wsyncup "" CURSES_CURSES_HAS_WSYNCUP)
|
||||
CHECK_LIBRARY_EXISTS("${CURSES_CURSES_LIBRARY}"
|
||||
wsyncup "" CURSES_CURSES_HAS_WSYNCUP)
|
||||
|
||||
IF(CURSES_NCURSES_LIBRARY AND NOT CURSES_CURSES_HAS_WSYNCUP)
|
||||
CHECK_LIBRARY_EXISTS("${CURSES_NCURSES_LIBRARY}" wsyncup "" CURSES_NCURSES_HAS_WSYNCUP)
|
||||
CHECK_LIBRARY_EXISTS("${CURSES_NCURSES_LIBRARY}"
|
||||
wsyncup "" CURSES_NCURSES_HAS_WSYNCUP)
|
||||
IF( CURSES_NCURSES_HAS_WSYNCUP)
|
||||
SET(CURSES_USE_NCURSES TRUE)
|
||||
ENDIF( CURSES_NCURSES_HAS_WSYNCUP)
|
||||
ENDIF(CURSES_NCURSES_LIBRARY AND NOT CURSES_CURSES_HAS_WSYNCUP)
|
||||
|
||||
ENDIF(CURSES_LIBRARY AND CURSES_NEED_NCURSES)
|
||||
ENDIF(CURSES_CURSES_LIBRARY AND CURSES_NEED_NCURSES)
|
||||
|
||||
|
||||
IF(NOT CURSES_USE_NCURSES)
|
||||
FIND_FILE(CURSES_HAVE_CURSES_H curses.h )
|
||||
FIND_PATH(CURSES_INCLUDE_PATH curses.h )
|
||||
|
||||
GET_FILENAME_COMPONENT(_cursesLibDir "${CURSES_LIBRARY}" PATH)
|
||||
FIND_PATH(CURSES_CURSES_H_PATH curses.h )
|
||||
GET_FILENAME_COMPONENT(_cursesLibDir "${CURSES_CURSES_LIBRARY}" PATH)
|
||||
GET_FILENAME_COMPONENT(_cursesParentDir "${_cursesLibDir}" PATH)
|
||||
|
||||
# for compatibility with older FindCurses.cmake this has to be in the cache
|
||||
# FORCE must not be used since this would break builds which preload a cache wqith these variables set
|
||||
SET(CURSES_INCLUDE_PATH "${CURSES_CURSES_H_PATH}"
|
||||
CACHE FILEPATH "The curses include path")
|
||||
SET(CURSES_LIBRARY "${CURSES_CURSES_LIBRARY}"
|
||||
CACHE FILEPATH "The curses library")
|
||||
ELSE(NOT CURSES_USE_NCURSES)
|
||||
# we need to find ncurses
|
||||
GET_FILENAME_COMPONENT(_cursesLibDir "${CURSES_NCURSES_LIBRARY}" PATH)
|
||||
@ -62,28 +70,43 @@ ELSE(NOT CURSES_USE_NCURSES)
|
||||
FIND_FILE(CURSES_HAVE_NCURSES_H ncurses.h)
|
||||
FIND_FILE(CURSES_HAVE_NCURSES_NCURSES_H ncurses/ncurses.h)
|
||||
FIND_FILE(CURSES_HAVE_NCURSES_CURSES_H ncurses/curses.h)
|
||||
FIND_FILE(CURSES_HAVE_CURSES_H curses.h PATHS "${_cursesParentDir}/include" NO_DEFAULT_PATH)
|
||||
FIND_FILE(CURSES_HAVE_CURSES_H curses.h)
|
||||
FIND_FILE(CURSES_HAVE_CURSES_H curses.h
|
||||
HINTS "${_cursesParentDir}/include")
|
||||
|
||||
FIND_PATH(CURSES_NCURSES_INCLUDE_PATH ncurses.h ncurses/ncurses.h ncurses/curses.h)
|
||||
FIND_PATH(CURSES_NCURSES_INCLUDE_PATH curses.h PATHS "${_cursesParentDir}/include" NO_DEFAULT_PATH)
|
||||
FIND_PATH(CURSES_NCURSES_INCLUDE_PATH curses.h)
|
||||
FIND_PATH(CURSES_NCURSES_INCLUDE_PATH ncurses.h ncurses/ncurses.h
|
||||
ncurses/curses.h)
|
||||
FIND_PATH(CURSES_NCURSES_INCLUDE_PATH curses.h
|
||||
HINTS "${_cursesParentDir}/include")
|
||||
|
||||
# for compatibility with older FindCurses.cmake this has to be in the cache
|
||||
# FORCE must not be used since this would break builds which preload
|
||||
# a cache wqith these variables set
|
||||
# only put ncurses include and library into
|
||||
# variables if they are found
|
||||
IF(CURSES_NCURSES_INCLUDE_PATH AND CURSES_NCURSES_LIBRARY)
|
||||
|
||||
SET(CURSES_INCLUDE_PATH "${CURSES_NCURSES_INCLUDE_PATH}"
|
||||
CACHE FILEPATH "The curses include path")
|
||||
SET(CURSES_LIBRARY "${CURSES_NCURSES_LIBRARY}"
|
||||
CACHE FILEPATH "The curses library")
|
||||
ENDIF(CURSES_NCURSES_INCLUDE_PATH AND CURSES_NCURSES_LIBRARY)
|
||||
|
||||
SET(CURSES_INCLUDE_PATH "${CURSES_NCURSES_INCLUDE_PATH}")
|
||||
SET(FORCE_ARG "")
|
||||
IF("${CURSES_LIBRARY}" STREQUAL "CURSES_LIBRARY-NOTFOUND")
|
||||
SET(FORCE_ARG "FORCE")
|
||||
ENDIF("${CURSES_LIBRARY}" STREQUAL "CURSES_LIBRARY-NOTFOUND")
|
||||
SET(CURSES_LIBRARY "${CURSES_NCURSES_LIBRARY}" CACHE FILEPATH "path to curses" ${FORCE_ARG})
|
||||
ENDIF(NOT CURSES_USE_NCURSES)
|
||||
|
||||
|
||||
FIND_LIBRARY(CURSES_EXTRA_LIBRARY cur_colr PATHS "${_cursesLibDir}" NO_DEFAULT_PATH)
|
||||
|
||||
FIND_LIBRARY(CURSES_EXTRA_LIBRARY cur_colr HINTS "${_cursesLibDir}")
|
||||
FIND_LIBRARY(CURSES_EXTRA_LIBRARY cur_colr )
|
||||
|
||||
FIND_LIBRARY(CURSES_FORM_LIBRARY form PATHS "${_cursesLibDir}" NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(CURSES_FORM_LIBRARY form HINTS "${_cursesLibDir}")
|
||||
FIND_LIBRARY(CURSES_FORM_LIBRARY form )
|
||||
|
||||
# for compatibility with older FindCurses.cmake this has to be in the cache
|
||||
# FORCE must not be used since this would break builds which preload a cache
|
||||
# qith these variables set
|
||||
SET(FORM_LIBRARY "${CURSES_FORM_LIBRARY}"
|
||||
CACHE FILEPATH "The curses form library")
|
||||
|
||||
# Need to provide the *_LIBRARIES
|
||||
SET(CURSES_LIBRARIES ${CURSES_LIBRARY})
|
||||
|
||||
@ -101,16 +124,14 @@ SET(CURSES_INCLUDE_DIR ${CURSES_INCLUDE_PATH})
|
||||
# handle the QUIETLY and REQUIRED arguments and set CURSES_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Curses DEFAULT_MSG CURSES_LIBRARY CURSES_INCLUDE_PATH)
|
||||
|
||||
# for compatibility
|
||||
SET(FORM_LIBRARY "${CURSES_FORM_LIBRARY}")
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Curses DEFAULT_MSG
|
||||
CURSES_LIBRARY CURSES_INCLUDE_PATH)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
CURSES_INCLUDE_PATH
|
||||
CURSES_LIBRARY
|
||||
CURSES_CURSES_INCLUDE_PATH
|
||||
CURSES_LIBRARY
|
||||
CURSES_CURSES_LIBRARY
|
||||
CURSES_NCURSES_INCLUDE_PATH
|
||||
CURSES_NCURSES_LIBRARY
|
||||
CURSES_EXTRA_LIBRARY
|
||||
|
@ -11,6 +11,11 @@
|
||||
# FLTK_FORMS_LIBRARY = the full path to fltk_forms.lib
|
||||
# FLTK_IMAGES_LIBRARY = the full path to fltk_images.lib
|
||||
|
||||
IF (FLTK_INCLUDE_DIR)
|
||||
# Already in cache, be silent
|
||||
SET(FLTK_FIND_QUIETLY TRUE)
|
||||
ENDIF (FLTK_INCLUDE_DIR)
|
||||
|
||||
# Platform dependent libraries required by FLTK
|
||||
IF(WIN32)
|
||||
IF(NOT CYGWIN)
|
||||
@ -24,7 +29,8 @@ ENDIF(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
INCLUDE(${CMAKE_ROOT}/Modules/FindX11.cmake)
|
||||
SET( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} -lm)
|
||||
FIND_LIBRARY(FLTK_MATH_LIBRARY m)
|
||||
SET( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} ${FLTK_MATH_LIBRARY})
|
||||
ENDIF(UNIX)
|
||||
|
||||
IF(APPLE)
|
||||
@ -32,7 +38,8 @@ IF(APPLE)
|
||||
ENDIF(APPLE)
|
||||
|
||||
IF(CYGWIN)
|
||||
SET( FLTK_PLATFORM_DEPENDENT_LIBS ole32 uuid comctl32 wsock32 supc++ -lm -lgdi32)
|
||||
FIND_LIBRARY(FLTK_MATH_LIBRARY m)
|
||||
SET( FLTK_PLATFORM_DEPENDENT_LIBS ole32 uuid comctl32 wsock32 supc++ ${FLTK_MATH_LIBRARY} -lgdi32)
|
||||
ENDIF(CYGWIN)
|
||||
|
||||
# If FLTK_INCLUDE_DIR is already defined we assigne its value to FLTK_DIR
|
||||
@ -96,10 +103,6 @@ IF(NOT FLTK_DIR)
|
||||
)
|
||||
ENDIF(NOT FLTK_DIR)
|
||||
|
||||
# If FLTK was found, load the configuration file to get the rest of the
|
||||
# settings.
|
||||
IF(FLTK_DIR)
|
||||
|
||||
# Check if FLTK was built using CMake
|
||||
IF(EXISTS ${FLTK_DIR}/FLTKConfig.cmake)
|
||||
SET(FLTK_BUILT_WITH_CMAKE 1)
|
||||
@ -170,8 +173,6 @@ IF(FLTK_DIR)
|
||||
ENDIF(FLTK_FLUID_EXECUTABLE)
|
||||
|
||||
SET(FLTK_INCLUDE_SEARCH_PATH ${FLTK_INCLUDE_SEARCH_PATH}
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
/usr/local/fltk
|
||||
/usr/X11R6/include
|
||||
)
|
||||
@ -179,8 +180,6 @@ IF(FLTK_DIR)
|
||||
FIND_PATH(FLTK_INCLUDE_DIR FL/Fl.h ${FLTK_INCLUDE_SEARCH_PATH})
|
||||
|
||||
SET(FLTK_LIBRARY_SEARCH_PATH ${FLTK_LIBRARY_SEARCH_PATH}
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/local/fltk/lib
|
||||
/usr/X11R6/lib
|
||||
${FLTK_INCLUDE_DIR}/lib
|
||||
@ -215,7 +214,6 @@ IF(FLTK_DIR)
|
||||
ENDIF(UNIX)
|
||||
|
||||
ENDIF(FLTK_BUILT_WITH_CMAKE)
|
||||
ENDIF(FLTK_DIR)
|
||||
|
||||
|
||||
SET(FLTK_FOUND 1)
|
||||
@ -242,3 +240,6 @@ IF(FLTK_FOUND)
|
||||
SET (FLTK_FLUID_EXE ${FLTK_FLUID_EXECUTABLE})
|
||||
SET (FLTK_LIBRARY ${FLTK_LIBRARIES})
|
||||
ENDIF(FLTK_FOUND)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(FLTK DEFAULT_MSG FLTK_LIBRARIES FLTK_INCLUDE_DIR)
|
||||
|
@ -29,13 +29,9 @@
|
||||
# I'm going to attempt to cut out the middleman and hope
|
||||
# everything still works.
|
||||
FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
|
||||
HINTS
|
||||
$ENV{FREETYPE_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
|
||||
FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
|
||||
PATHS
|
||||
/usr/local/X11R6/include
|
||||
/usr/local/X11/include
|
||||
@ -46,11 +42,9 @@ FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
|
||||
)
|
||||
|
||||
FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
|
||||
HINTS
|
||||
$ENV{FREETYPE_DIR}/include/freetype2
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
|
||||
PATHS
|
||||
/usr/local/X11R6/include
|
||||
/usr/local/X11/include
|
||||
/usr/X11/include
|
||||
@ -62,21 +56,15 @@ FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
|
||||
|
||||
FIND_LIBRARY(FREETYPE_LIBRARY
|
||||
NAMES freetype libfreetype freetype219
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{FREETYPE_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(FREETYPE_LIBRARY
|
||||
NAMES freetype libfreetype freetype219
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
/usr/local/X11R6
|
||||
/usr/local/X11
|
||||
/usr/X11
|
||||
/sw
|
||||
/usr/freeware
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
# set the user variables
|
||||
|
@ -20,14 +20,9 @@
|
||||
# #include "gdal.h"
|
||||
|
||||
FIND_PATH(GDAL_INCLUDE_DIR gdal.h
|
||||
HINTS
|
||||
$ENV{GDAL_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
|
||||
|
||||
FIND_PATH(GDAL_INCLUDE_DIR gdal.h
|
||||
PATH_SUFFIXES include
|
||||
PATHS
|
||||
~/Library/Frameworks/gdal.framework/Headers
|
||||
/Library/Frameworks/gdal.framework/Headers
|
||||
@ -53,14 +48,9 @@ FIND_PATH(GDAL_INCLUDE_DIR gdal.h
|
||||
|
||||
FIND_LIBRARY(GDAL_LIBRARY
|
||||
NAMES gdal GDAL
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{GDAL_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(GDAL_LIBRARY
|
||||
NAMES gdal GDAL
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -72,7 +62,6 @@ FIND_LIBRARY(GDAL_LIBRARY
|
||||
/opt
|
||||
/usr/freeware
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;GDAL_ROOT]/lib
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(GDAL_FOUND "NO")
|
||||
|
@ -10,15 +10,9 @@
|
||||
# Modifications by Alexander Neundorf
|
||||
|
||||
FIND_PATH(GIF_INCLUDE_DIR gif_lib.h
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{GIF_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
|
||||
|
||||
FIND_PATH(GIF_INCLUDE_DIR gif_lib.h
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -32,16 +26,9 @@ SET(POTENTIAL_GIF_LIBS gif libgif ungif libungif giflib)
|
||||
|
||||
FIND_LIBRARY(GIF_LIBRARY
|
||||
NAMES ${POTENTIAL_GIF_LIBS}
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{GIF_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
|
||||
|
||||
FIND_LIBRARY(GIF_LIBRARY
|
||||
NAMES ${POTENTIAL_GIF_LIBS}
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -53,7 +40,6 @@ FIND_LIBRARY(GIF_LIBRARY
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
/usr/freeware
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
# see readme.txt
|
||||
|
@ -30,7 +30,7 @@ MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile)
|
||||
SET(_firstPoFile)
|
||||
ENDIF(${_firstPoFile} STREQUAL "ALL")
|
||||
|
||||
FOREACH (_currentPoFile ${ARGN})
|
||||
FOREACH (_currentPoFile ${_firstPoFile} ${ARGN})
|
||||
GET_FILENAME_COMPONENT(_absFile ${_currentPoFile} ABSOLUTE)
|
||||
GET_FILENAME_COMPONENT(_abs_PATH ${_absFile} PATH)
|
||||
GET_FILENAME_COMPONENT(_lang ${_absFile} NAME_WE)
|
||||
|
@ -1,77 +1,190 @@
|
||||
# - Find Image Magick
|
||||
# This module finds if ImageMagick tools are installed and determines
|
||||
# where the executables are. This code sets the following variables:
|
||||
# - Find the ImageMagick binary suite.
|
||||
# This module will search for a set of ImageMagick tools specified
|
||||
# as components in the FIND_PACKAGE call. Typical components include,
|
||||
# but are not limited to (future versions of ImageMagick might have
|
||||
# additional components not listed here):
|
||||
#
|
||||
# IMAGEMAGICK_CONVERT_EXECUTABLE =
|
||||
# the full path to the 'convert' utility
|
||||
# IMAGEMAGICK_MOGRIFY_EXECUTABLE =
|
||||
# the full path to the 'mogrify' utility
|
||||
# IMAGEMAGICK_IMPORT_EXECUTABLE =
|
||||
# the full path to the 'import' utility
|
||||
# IMAGEMAGICK_MONTAGE_EXECUTABLE =
|
||||
# the full path to the 'montage' utility
|
||||
# IMAGEMAGICK_COMPOSITE_EXECUTABLE =
|
||||
# the full path to the 'composite' utility
|
||||
# animate
|
||||
# compare
|
||||
# composite
|
||||
# conjure
|
||||
# convert
|
||||
# display
|
||||
# identify
|
||||
# import
|
||||
# mogrify
|
||||
# montage
|
||||
# stream
|
||||
#
|
||||
# If no component is specified in the FIND_PACKAGE call, then it only
|
||||
# searches for the ImageMagick executable directory. This code defines
|
||||
# the following variables:
|
||||
#
|
||||
# ImageMagick_FOUND - TRUE if all components are found.
|
||||
# ImageMagick_EXECUTABLE_DIR - Full path to executables directory.
|
||||
# ImageMagick_<component>_FOUND - TRUE if <component> is found.
|
||||
# ImageMagick_<component>_EXECUTABLE - Full path to <component> executable.
|
||||
#
|
||||
# There are also components for the following ImageMagick APIs:
|
||||
#
|
||||
# Magick++
|
||||
# MagickWand
|
||||
# MagickCore
|
||||
#
|
||||
# For these components the following variables are set:
|
||||
#
|
||||
# ImageMagick_FOUND - TRUE if all components are found.
|
||||
# ImageMagick_INCLUDE_DIRS - Full paths to all include dirs.
|
||||
# ImageMagick_LIBRARIES - Full paths to all libraries.
|
||||
# ImageMagick_<component>_FOUND - TRUE if <component> is found.
|
||||
# ImageMagick_<component>_INCLUDE_DIRS - Full path to <component> include dirs.
|
||||
# ImageMagick_<component>_LIBRARIES - Full path to <component> libraries.
|
||||
#
|
||||
# Example Usages:
|
||||
# FIND_PACKAGE(ImageMagick)
|
||||
# FIND_PACKAGE(ImageMagick COMPONENTS convert)
|
||||
# FIND_PACKAGE(ImageMagick COMPONENTS convert mogrify display)
|
||||
# FIND_PACKAGE(ImageMagick COMPONENTS Magick++)
|
||||
# FIND_PACKAGE(ImageMagick COMPONENTS Magick++ convert)
|
||||
#
|
||||
# Note that the standard FIND_PACKAGE features are supported
|
||||
# (i.e., QUIET, REQUIRED, etc.).
|
||||
|
||||
IF (WIN32)
|
||||
# Copyright (c) 2007-2008,
|
||||
# Miguel A. Figueroa-Villanueva, miguelf at ieee dot org.
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
# Try to find the ImageMagick binary path.
|
||||
#---------------------------------------------------------------------
|
||||
# Helper functions
|
||||
#---------------------------------------------------------------------
|
||||
FUNCTION(FIND_IMAGEMAGICK_API component header)
|
||||
SET(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE)
|
||||
|
||||
FIND_PATH(IMAGEMAGICK_BINARY_PATH mogrify.exe
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]
|
||||
DOC "Path to the ImageMagick binary directory where all executable should be found."
|
||||
FIND_PATH(ImageMagick_${component}_INCLUDE_DIR
|
||||
NAMES ${header}
|
||||
PATHS
|
||||
${ImageMagick_INCLUDE_DIRS}
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/include"
|
||||
PATH_SUFFIXES
|
||||
ImageMagick
|
||||
DOC "Path to the ImageMagick include dir."
|
||||
)
|
||||
FIND_LIBRARY(ImageMagick_${component}_LIBRARY
|
||||
NAMES ${ARGN}
|
||||
PATHS
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/lib"
|
||||
DOC "Path to the ImageMagick Magick++ library."
|
||||
)
|
||||
|
||||
IF(ImageMagick_${component}_INCLUDE_DIR AND ImageMagick_${component}_LIBRARY)
|
||||
SET(ImageMagick_${component}_FOUND TRUE PARENT_SCOPE)
|
||||
|
||||
LIST(APPEND ImageMagick_INCLUDE_DIRS
|
||||
${ImageMagick_${component}_INCLUDE_DIR}
|
||||
)
|
||||
LIST(REMOVE_DUPLICATES ImageMagick_INCLUDE_DIRS)
|
||||
SET(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS} PARENT_SCOPE)
|
||||
|
||||
LIST(APPEND ImageMagick_LIBRARIES
|
||||
${ImageMagick_${component}_LIBRARY}
|
||||
)
|
||||
SET(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES} PARENT_SCOPE)
|
||||
ENDIF(ImageMagick_${component}_INCLUDE_DIR AND ImageMagick_${component}_LIBRARY)
|
||||
ENDFUNCTION(FIND_IMAGEMAGICK_API)
|
||||
|
||||
FUNCTION(FIND_IMAGEMAGICK_EXE component)
|
||||
SET(_IMAGEMAGICK_EXECUTABLE
|
||||
${ImageMagick_EXECUTABLE_DIR}/${component}${CMAKE_EXECUTABLE_SUFFIX})
|
||||
IF(EXISTS ${_IMAGEMAGICK_EXECUTABLE})
|
||||
SET(ImageMagick_${component}_EXECUTABLE
|
||||
${_IMAGEMAGICK_EXECUTABLE}
|
||||
PARENT_SCOPE
|
||||
)
|
||||
SET(ImageMagick_${component}_FOUND TRUE PARENT_SCOPE)
|
||||
ELSE(EXISTS ${_IMAGEMAGICK_EXECUTABLE})
|
||||
SET(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE)
|
||||
ENDIF(EXISTS ${_IMAGEMAGICK_EXECUTABLE})
|
||||
ENDFUNCTION(FIND_IMAGEMAGICK_EXE)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Start Actual Work
|
||||
#---------------------------------------------------------------------
|
||||
# Try to find a ImageMagick installation binary path.
|
||||
FIND_PATH(ImageMagick_EXECUTABLE_DIR
|
||||
NAMES mogrify${CMAKE_EXECUTABLE_SUFFIX}
|
||||
PATHS
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]"
|
||||
DOC "Path to the ImageMagick binary directory."
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
FIND_PATH(ImageMagick_EXECUTABLE_DIR
|
||||
NAMES mogrify${CMAKE_EXECUTABLE_SUFFIX}
|
||||
)
|
||||
|
||||
# Be extra-careful here: we do NOT want CMake to look in the system's PATH
|
||||
# env var to search for convert.exe, otherwise it is going to pick
|
||||
# Window's own convert.exe, and you may say good-bye to your disk.
|
||||
# Find each component. Search for all tools in same dir
|
||||
# <ImageMagick_EXECUTABLE_DIR>; otherwise they should be found
|
||||
# independently and not in a cohesive module such as this one.
|
||||
SET(ImageMagick_FOUND TRUE)
|
||||
FOREACH(component ${ImageMagick_FIND_COMPONENTS}
|
||||
# DEPRECATED: forced components for backward compatibility
|
||||
convert mogrify import montage composite
|
||||
)
|
||||
IF(component STREQUAL "Magick++")
|
||||
FIND_IMAGEMAGICK_API(Magick++ Magick++.h
|
||||
Magick++ CORE_RL_Magick++_
|
||||
)
|
||||
ELSEIF(component STREQUAL "MagickWand")
|
||||
FIND_IMAGEMAGICK_API(MagickWand wand/MagickWand.h
|
||||
Wand MagickWand CORE_RL_wand_
|
||||
)
|
||||
ELSEIF(component STREQUAL "MagickCore")
|
||||
FIND_IMAGEMAGICK_API(MagickCore magick/MagickCore.h
|
||||
Magick MagickCore CORE_RL_magick_
|
||||
)
|
||||
ELSE(component STREQUAL "Magick++")
|
||||
IF(ImageMagick_EXECUTABLE_DIR)
|
||||
FIND_IMAGEMAGICK_EXE(${component})
|
||||
ENDIF(ImageMagick_EXECUTABLE_DIR)
|
||||
ENDIF(component STREQUAL "Magick++")
|
||||
|
||||
IF(NOT ImageMagick_${component}_FOUND)
|
||||
LIST(FIND ImageMagick_FIND_COMPONENTS ${component} is_requested)
|
||||
IF(is_requested GREATER -1)
|
||||
SET(ImageMagick_FOUND FALSE)
|
||||
ENDIF(is_requested GREATER -1)
|
||||
ENDIF(NOT ImageMagick_${component}_FOUND)
|
||||
ENDFOREACH(component)
|
||||
|
||||
FIND_PROGRAM(IMAGEMAGICK_CONVERT_EXECUTABLE
|
||||
NAMES convert
|
||||
PATHS ${IMAGEMAGICK_BINARY_PATH}
|
||||
NO_SYSTEM_PATH
|
||||
DOC "Path to ImageMagick's convert executable. WARNING: note that this tool, named convert.exe, conflicts with Microsoft Window's own convert.exe, which is used to convert FAT partitions to NTFS format ! Therefore, be extra-careful and make sure the right convert.exe has been picked."
|
||||
SET(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS})
|
||||
SET(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES})
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Standard Package Output
|
||||
#---------------------------------------------------------------------
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(
|
||||
ImageMagick DEFAULT_MSG ImageMagick_FOUND
|
||||
)
|
||||
# Maintain consistency with all other variables.
|
||||
SET(ImageMagick_FOUND ${IMAGEMAGICK_FOUND})
|
||||
|
||||
ELSE (WIN32)
|
||||
|
||||
SET (IMAGEMAGICK_BINARY_PATH "")
|
||||
|
||||
FIND_PROGRAM(IMAGEMAGICK_CONVERT_EXECUTABLE
|
||||
NAMES convert
|
||||
PATHS ${IMAGEMAGICK_BINARY_PATH}
|
||||
DOC "Path to ImageMagick's convert executable."
|
||||
)
|
||||
|
||||
ENDIF (WIN32)
|
||||
|
||||
# Find mogrify, import, montage, composite
|
||||
|
||||
FIND_PROGRAM(IMAGEMAGICK_MOGRIFY_EXECUTABLE
|
||||
NAMES mogrify
|
||||
PATHS ${IMAGEMAGICK_BINARY_PATH}
|
||||
DOC "Path to ImageMagick's mogrify executable."
|
||||
)
|
||||
|
||||
FIND_PROGRAM(IMAGEMAGICK_IMPORT_EXECUTABLE
|
||||
NAMES import
|
||||
PATHS ${IMAGEMAGICK_BINARY_PATH}
|
||||
DOC "Path to ImageMagick's import executable."
|
||||
)
|
||||
|
||||
FIND_PROGRAM(IMAGEMAGICK_MONTAGE_EXECUTABLE
|
||||
NAMES montage
|
||||
PATHS ${IMAGEMAGICK_BINARY_PATH}
|
||||
DOC "Path to ImageMagick's montage executable."
|
||||
)
|
||||
|
||||
FIND_PROGRAM(IMAGEMAGICK_COMPOSITE_EXECUTABLE
|
||||
NAMES composite
|
||||
PATHS ${IMAGEMAGICK_BINARY_PATH}
|
||||
DOC "Path to ImageMagick's composite executable."
|
||||
)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# DEPRECATED: Setting variables for backward compatibility.
|
||||
#---------------------------------------------------------------------
|
||||
SET(IMAGEMAGICK_BINARY_PATH ${ImageMagick_EXECUTABLE_DIR}
|
||||
CACHE PATH "Path to the ImageMagick binary directory.")
|
||||
SET(IMAGEMAGICK_CONVERT_EXECUTABLE ${ImageMagick_convert_EXECUTABLE}
|
||||
CACHE FILEPATH "Path to ImageMagick's convert executable.")
|
||||
SET(IMAGEMAGICK_MOGRIFY_EXECUTABLE ${ImageMagick_mogrify_EXECUTABLE}
|
||||
CACHE FILEPATH "Path to ImageMagick's mogrify executable.")
|
||||
SET(IMAGEMAGICK_IMPORT_EXECUTABLE ${ImageMagick_import_EXECUTABLE}
|
||||
CACHE FILEPATH "Path to ImageMagick's import executable.")
|
||||
SET(IMAGEMAGICK_MONTAGE_EXECUTABLE ${ImageMagick_montage_EXECUTABLE}
|
||||
CACHE FILEPATH "Path to ImageMagick's montage executable.")
|
||||
SET(IMAGEMAGICK_COMPOSITE_EXECUTABLE ${ImageMagick_composite_EXECUTABLE}
|
||||
CACHE FILEPATH "Path to ImageMagick's composite executable.")
|
||||
MARK_AS_ADVANCED(
|
||||
IMAGEMAGICK_BINARY_PATH
|
||||
IMAGEMAGICK_CONVERT_EXECUTABLE
|
||||
@ -79,4 +192,4 @@ MARK_AS_ADVANCED(
|
||||
IMAGEMAGICK_IMPORT_EXECUTABLE
|
||||
IMAGEMAGICK_MONTAGE_EXECUTABLE
|
||||
IMAGEMAGICK_COMPOSITE_EXECUTABLE
|
||||
)
|
||||
)
|
||||
|
@ -3,35 +3,47 @@
|
||||
# include files and libraries are. It also determines what the name of
|
||||
# the library is. This code sets the following variables:
|
||||
#
|
||||
# JAVA_AWT_LIB_PATH = the path to the jawt library
|
||||
# JAVA_JVM_LIB_PATH = the path to the jvm library
|
||||
# JNI_INCLUDE_DIRS = the include dirs to use
|
||||
# JNI_LIBRARIES = the libraries to use
|
||||
# JAVA_AWT_LIBRARY = the path to the jawt library
|
||||
# JAVA_JVM_LIBRARY = the path to the jvm library
|
||||
# JAVA_INCLUDE_PATH = the include path to jni.h
|
||||
# JAVA_INCLUDE_PATH2 = the include path to jni_md.h
|
||||
# JAVA_AWT_INCLUDE_PATH = the include path to jawt.h
|
||||
#
|
||||
#
|
||||
|
||||
GET_FILENAME_COMPONENT(java_install_version
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit;CurrentVersion]" NAME)
|
||||
|
||||
SET(JAVA_AWT_LIBRARY_DIRECTORIES
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/lib"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/lib"
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/lib"
|
||||
$ENV{JAVA_HOME}/jre/lib/i386
|
||||
$ENV{JAVA_HOME}/jre/lib/amd64
|
||||
$ENV{JAVA_HOME}/jre/lib/ppc
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/lib/jvm/java/lib
|
||||
/usr/lib/java/jre/lib/i386
|
||||
/usr/local/lib/java/jre/lib/i386
|
||||
/usr/local/share/java/jre/lib/i386
|
||||
/usr/lib/j2sdk1.4-sun/jre/lib/i386
|
||||
/usr/lib/j2sdk1.5-sun/jre/lib/i386
|
||||
/opt/sun-jdk-1.5.0.04/jre/lib/amd64
|
||||
/usr/lib/java/jre/lib/amd64
|
||||
/usr/lib/jvm/java-6-sun-1.6.0.00/jre/lib/amd64
|
||||
/usr/lib/java/jre/lib/amd64
|
||||
/usr/local/lib/java/jre/lib/amd64
|
||||
/usr/local/share/java/jre/lib/amd64
|
||||
/usr/lib/j2sdk1.4-sun/jre/lib/amd64
|
||||
/usr/lib/j2sdk1.5-sun/jre/lib/amd64
|
||||
/usr/lib/java/jre/lib/ppc
|
||||
/usr/local/lib/java/jre/lib/ppc
|
||||
/usr/local/share/java/jre/lib/ppc
|
||||
/usr/lib/j2sdk1.4-sun/jre/lib/ppc
|
||||
/usr/lib/j2sdk1.5-sun/jre/lib/ppc
|
||||
)
|
||||
|
||||
SET(JAVA_JVM_LIBRARY_DIRECTORIES)
|
||||
FOREACH(dir ${JAVA_AWT_LIBRARY_DIRECTORIES})
|
||||
SET(JAVA_JVM_LIBRARY_DIRECTORIES
|
||||
@ -52,6 +64,7 @@ SET(JAVA_AWT_INCLUDE_DIRECTORIES
|
||||
/usr/local/include
|
||||
/usr/lib/java/include
|
||||
/usr/local/lib/java/include
|
||||
/usr/lib/jvm/java/include
|
||||
/usr/lib/jvm/java-6-sun-1.6.0.00/include
|
||||
/usr/local/share/java/include
|
||||
/usr/lib/j2sdk1.4-sun/include
|
||||
@ -130,6 +143,7 @@ FIND_PATH(JAVA_INCLUDE_PATH2 jni_md.h
|
||||
${JAVA_AWT_INCLUDE_DIRECTORIES}
|
||||
${JAVA_INCLUDE_PATH}/win32
|
||||
${JAVA_INCLUDE_PATH}/linux
|
||||
${JAVA_INCLUDE_PATH}/freebsd
|
||||
)
|
||||
|
||||
FIND_PATH(JAVA_AWT_INCLUDE_PATH jawt.h
|
||||
@ -144,3 +158,15 @@ MARK_AS_ADVANCED(
|
||||
JAVA_INCLUDE_PATH
|
||||
JAVA_INCLUDE_PATH2
|
||||
)
|
||||
|
||||
SET(JNI_LIBRARIES
|
||||
${JAVA_AWT_LIBRARY}
|
||||
${JAVA_JVM_LIBRARY}
|
||||
)
|
||||
|
||||
SET(JNI_INCLUDE_DIRS
|
||||
${JAVA_INCLUDE_PATH}
|
||||
${JAVA_INCLUDE_PATH2}
|
||||
${JAVA_AWT_INCLUDE_PATH}
|
||||
)
|
||||
|
||||
|
@ -23,6 +23,8 @@ ENDIF(JPEG_FOUND)
|
||||
|
||||
# Deprecated declarations.
|
||||
SET (NATIVE_JPEG_INCLUDE_PATH ${JPEG_INCLUDE_DIR} )
|
||||
GET_FILENAME_COMPONENT (NATIVE_JPEG_LIB_PATH ${JPEG_LIBRARY} PATH)
|
||||
IF(JPEG_LIBRARY)
|
||||
GET_FILENAME_COMPONENT (NATIVE_JPEG_LIB_PATH ${JPEG_LIBRARY} PATH)
|
||||
ENDIF(JPEG_LIBRARY)
|
||||
|
||||
MARK_AS_ADVANCED(JPEG_LIBRARY JPEG_INCLUDE_DIR )
|
||||
|
@ -63,67 +63,44 @@
|
||||
#
|
||||
# Author: Alexander Neundorf <neundorf@kde.org>
|
||||
|
||||
IF(NOT UNIX)
|
||||
IF(NOT UNIX AND KDE3_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Compiling KDE3 applications and libraries under Windows is not supported")
|
||||
ENDIF(NOT UNIX)
|
||||
ENDIF(NOT UNIX AND KDE3_FIND_REQUIRED)
|
||||
|
||||
# If Qt4 has already been found, fail.
|
||||
IF(QT4_FOUND)
|
||||
IF(KDE3_FIND_REQUIRED)
|
||||
MESSAGE( FATAL_ERROR "KDE3/Qt3 and Qt4 cannot be used together in one project.")
|
||||
ELSE(KDE3_FIND_REQUIRED)
|
||||
IF(NOT KDE3_FIND_QUIETLY)
|
||||
MESSAGE( STATUS "KDE3/Qt3 and Qt4 cannot be used together in one project.")
|
||||
ENDIF(NOT KDE3_FIND_QUIETLY)
|
||||
RETURN()
|
||||
ENDIF(KDE3_FIND_REQUIRED)
|
||||
ENDIF(QT4_FOUND)
|
||||
|
||||
|
||||
SET(QT_MT_REQUIRED TRUE)
|
||||
#SET(QT_MIN_VERSION "3.0.0")
|
||||
|
||||
#this line includes FindQt.cmake, which searches the Qt library and headers
|
||||
FIND_PACKAGE(Qt3 REQUIRED)
|
||||
FIND_PACKAGE(X11 REQUIRED)
|
||||
IF(KDE3_FIND_REQUIRED)
|
||||
SET(_REQ_STRING_KDE3 "REQUIRED")
|
||||
ENDIF(KDE3_FIND_REQUIRED)
|
||||
|
||||
FIND_PACKAGE(Qt3 ${_REQ_STRING_KDE3})
|
||||
FIND_PACKAGE(X11 ${_REQ_STRING_KDE3})
|
||||
|
||||
|
||||
#add some KDE specific stuff
|
||||
SET(KDE3_DEFINITIONS -DQT_CLEAN_NAMESPACE -D_GNU_SOURCE)
|
||||
|
||||
#only on linux, but NOT e.g. on FreeBSD:
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
SET (KDE3_DEFINITIONS ${KDE3_DEFINITIONS} -D_XOPEN_SOURCE=500 -D_BSD_SOURCE)
|
||||
SET ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")
|
||||
SET ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-exceptions -fno-check-new -fno-common")
|
||||
ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
|
||||
# works on FreeBSD, NOT tested on NetBSD and OpenBSD
|
||||
IF (CMAKE_SYSTEM_NAME MATCHES BSD)
|
||||
SET ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")
|
||||
SET ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common")
|
||||
ENDIF (CMAKE_SYSTEM_NAME MATCHES BSD)
|
||||
|
||||
# if no special buildtype is selected, add -O2 as default optimization
|
||||
IF (NOT CMAKE_BUILD_TYPE)
|
||||
SET ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
|
||||
SET ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
||||
ENDIF (NOT CMAKE_BUILD_TYPE)
|
||||
|
||||
|
||||
#SET(CMAKE_SHARED_LINKER_FLAGS "-avoid-version -module -Wl,--no-undefined -Wl,--allow-shlib-undefined")
|
||||
#SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc")
|
||||
#SET(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc")
|
||||
|
||||
# all calls to FIND_PROGRAM/PATH/LIBRARY() follow the same scheme:
|
||||
# at first try some special paths with the argument "NO_DEFAULT_PATH"
|
||||
# so only these paths are checked
|
||||
# this is followed by a second call to FIND_PROGRAM/PATH/LIBRARY()
|
||||
# but this time without any paths and without NO_DEFAULT_PATH
|
||||
# this second call will do nothing if the first call already found
|
||||
# what it was looking for, if not, it will search only in the default
|
||||
# directories (/usr, /usr/local, etc.)
|
||||
|
||||
#now try to find some kde stuff
|
||||
FIND_PROGRAM(KDECONFIG_EXECUTABLE NAMES kde-config PATHS
|
||||
FIND_PROGRAM(KDECONFIG_EXECUTABLE NAMES kde-config
|
||||
HINTS
|
||||
$ENV{KDEDIR}/bin
|
||||
PATHS
|
||||
/opt/kde3/bin
|
||||
/opt/kde/bin
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
|
||||
FIND_PROGRAM(KDECONFIG_EXECUTABLE kde-config)
|
||||
|
||||
|
||||
SET(KDE3PREFIX)
|
||||
IF(KDECONFIG_EXECUTABLE)
|
||||
EXECUTE_PROCESS(COMMAND ${KDECONFIG_EXECUTABLE} --version
|
||||
@ -143,29 +120,26 @@ ENDIF(KDECONFIG_EXECUTABLE)
|
||||
# at first the KDE include direcory
|
||||
# kpassdlg.h comes from kdeui and doesn't exist in KDE4 anymore
|
||||
FIND_PATH(KDE3_INCLUDE_DIR kpassdlg.h
|
||||
HINTS
|
||||
$ENV{KDEDIR}/include
|
||||
${KDE3PREFIX}/include
|
||||
PATHS
|
||||
/opt/kde3/include
|
||||
/opt/kde/include
|
||||
/usr/include/kde
|
||||
/usr/local/include/kde
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
FIND_PATH(KDE3_INCLUDE_DIR kpassdlg.h)
|
||||
|
||||
#now the KDE library directory
|
||||
FIND_LIBRARY(KDE3_KDECORE_LIBRARY NAMES kdecore
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{KDEDIR}/lib
|
||||
${KDE3PREFIX}/lib
|
||||
PATHS
|
||||
/opt/kde3/lib
|
||||
/opt/kde/lib
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
FIND_LIBRARY(KDE3_KDECORE_LIBRARY NAMES kdecore)
|
||||
|
||||
SET(QT_AND_KDECORE_LIBS ${QT_LIBRARIES} ${KDE3_KDECORE_LIBRARY})
|
||||
|
||||
GET_FILENAME_COMPONENT(KDE3_LIB_DIR ${KDE3_KDECORE_LIBRARY} PATH )
|
||||
@ -179,39 +153,33 @@ IF(NOT KDE3_LIBTOOL_DIR)
|
||||
ENDIF(NOT KDE3_LIBTOOL_DIR)
|
||||
|
||||
#now search for the dcop utilities
|
||||
FIND_PROGRAM(KDE3_DCOPIDL_EXECUTABLE NAMES dcopidl PATHS
|
||||
FIND_PROGRAM(KDE3_DCOPIDL_EXECUTABLE NAMES dcopidl
|
||||
HINTS
|
||||
$ENV{KDEDIR}/bin
|
||||
${KDE3PREFIX}/bin
|
||||
PATHS
|
||||
/opt/kde3/bin
|
||||
/opt/kde/bin
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
FIND_PROGRAM(KDE3_DCOPIDL_EXECUTABLE NAMES dcopidl)
|
||||
|
||||
FIND_PROGRAM(KDE3_DCOPIDL2CPP_EXECUTABLE NAMES dcopidl2cpp PATHS
|
||||
FIND_PROGRAM(KDE3_DCOPIDL2CPP_EXECUTABLE NAMES dcopidl2cpp
|
||||
HINTS
|
||||
$ENV{KDEDIR}/bin
|
||||
${KDE3PREFIX}/bin
|
||||
PATHS
|
||||
/opt/kde3/bin
|
||||
/opt/kde/bin
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
FIND_PROGRAM(KDE3_DCOPIDL2CPP_EXECUTABLE NAMES dcopidl2cpp)
|
||||
|
||||
FIND_PROGRAM(KDE3_KCFGC_EXECUTABLE NAMES kconfig_compiler PATHS
|
||||
FIND_PROGRAM(KDE3_KCFGC_EXECUTABLE NAMES kconfig_compiler
|
||||
HINTS
|
||||
$ENV{KDEDIR}/bin
|
||||
${KDE3PREFIX}/bin
|
||||
PATHS
|
||||
/opt/kde3/bin
|
||||
/opt/kde/bin
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
FIND_PROGRAM(KDE3_KCFGC_EXECUTABLE NAMES kconfig_compiler)
|
||||
|
||||
# KDE3Macros.cmake contains all the KDE specific macros
|
||||
INCLUDE(KDE3Macros)
|
||||
|
||||
|
||||
#SET KDE3_FOUND
|
||||
IF (KDE3_INCLUDE_DIR AND KDE3_LIB_DIR AND KDE3_DCOPIDL_EXECUTABLE AND KDE3_DCOPIDL2CPP_EXECUTABLE AND KDE3_KCFGC_EXECUTABLE)
|
||||
@ -220,6 +188,51 @@ ELSE (KDE3_INCLUDE_DIR AND KDE3_LIB_DIR AND KDE3_DCOPIDL_EXECUTABLE AND KDE3_DCO
|
||||
SET(KDE3_FOUND FALSE)
|
||||
ENDIF (KDE3_INCLUDE_DIR AND KDE3_LIB_DIR AND KDE3_DCOPIDL_EXECUTABLE AND KDE3_DCOPIDL2CPP_EXECUTABLE AND KDE3_KCFGC_EXECUTABLE)
|
||||
|
||||
# add some KDE specific stuff
|
||||
SET(KDE3_DEFINITIONS -DQT_CLEAN_NAMESPACE -D_GNU_SOURCE)
|
||||
|
||||
# set compiler flags only if KDE3 has actually been found
|
||||
IF(KDE3_FOUND)
|
||||
SET(_KDE3_USE_FLAGS FALSE)
|
||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(_KDE3_USE_FLAGS TRUE) # use flags for gnu compiler
|
||||
EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} --version
|
||||
OUTPUT_VARIABLE out)
|
||||
# gnu gcc 2.96 does not work with flags
|
||||
# I guess 2.95 also doesn't then
|
||||
IF("${out}" MATCHES "2.9[56]")
|
||||
SET(_KDE3_USE_FLAGS FALSE)
|
||||
ENDIF("${out}" MATCHES "2.9[56]")
|
||||
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
||||
#only on linux, but NOT e.g. on FreeBSD:
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "Linux" AND _KDE3_USE_FLAGS)
|
||||
SET (KDE3_DEFINITIONS ${KDE3_DEFINITIONS} -D_XOPEN_SOURCE=500 -D_BSD_SOURCE)
|
||||
SET ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")
|
||||
SET ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -fno-exceptions -fno-check-new -fno-common")
|
||||
ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux" AND _KDE3_USE_FLAGS)
|
||||
|
||||
# works on FreeBSD, NOT tested on NetBSD and OpenBSD
|
||||
IF (CMAKE_SYSTEM_NAME MATCHES BSD AND _KDE3_USE_FLAGS)
|
||||
SET ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long -ansi -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-common")
|
||||
SET ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -Wundef -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common")
|
||||
ENDIF (CMAKE_SYSTEM_NAME MATCHES BSD AND _KDE3_USE_FLAGS)
|
||||
|
||||
# if no special buildtype is selected, add -O2 as default optimization
|
||||
IF (NOT CMAKE_BUILD_TYPE AND _KDE3_USE_FLAGS)
|
||||
SET ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
|
||||
SET ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
||||
ENDIF (NOT CMAKE_BUILD_TYPE AND _KDE3_USE_FLAGS)
|
||||
|
||||
#SET(CMAKE_SHARED_LINKER_FLAGS "-avoid-version -module -Wl,--no-undefined -Wl,--allow-shlib-undefined")
|
||||
#SET(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc")
|
||||
#SET(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings -avoid-version -Wl,--no-undefined -lc")
|
||||
ENDIF(KDE3_FOUND)
|
||||
|
||||
|
||||
# KDE3Macros.cmake contains all the KDE specific macros
|
||||
INCLUDE(KDE3Macros)
|
||||
|
||||
|
||||
MACRO (KDE3_PRINT_RESULTS)
|
||||
IF(KDE3_INCLUDE_DIR)
|
||||
|
@ -9,6 +9,18 @@
|
||||
#
|
||||
# Author: Alexander Neundorf <neundorf@kde.org>
|
||||
|
||||
# If Qt3 has already been found, fail.
|
||||
IF(QT_QT_LIBRARY)
|
||||
IF(KDE4_FIND_REQUIRED)
|
||||
MESSAGE( FATAL_ERROR "KDE4/Qt4 and Qt3 cannot be used together in one project.")
|
||||
ELSE(KDE4_FIND_REQUIRED)
|
||||
IF(NOT KDE4_FIND_QUIETLY)
|
||||
MESSAGE( STATUS "KDE4/Qt4 and Qt3 cannot be used together in one project.")
|
||||
ENDIF(NOT KDE_FIND_QUIETLY)
|
||||
RETURN()
|
||||
ENDIF(KDE4_FIND_REQUIRED)
|
||||
ENDIF(QT_QT_LIBRARY)
|
||||
|
||||
FILE(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS)
|
||||
|
||||
# when cross compiling, searching kde4-config in order to run it later on
|
||||
@ -20,16 +32,13 @@ FILE(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS)
|
||||
FIND_PROGRAM(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config
|
||||
# the suffix must be used since KDEDIRS can be a list of directories which don't have bin/ appended
|
||||
PATH_SUFFIXES bin
|
||||
PATHS
|
||||
HINTS
|
||||
${CMAKE_INSTALL_PREFIX}
|
||||
${_KDEDIRS}
|
||||
/opt/kde4
|
||||
NO_DEFAULT_PATH
|
||||
ONLY_CMAKE_FIND_ROOT_PATH
|
||||
)
|
||||
|
||||
FIND_PROGRAM(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config ONLY_CMAKE_FIND_ROOT_PATH)
|
||||
|
||||
IF (NOT KDE4_KDECONFIG_EXECUTABLE)
|
||||
IF (KDE4_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "ERROR: Could not find KDE4 kde4-config")
|
||||
@ -45,10 +54,13 @@ IF(NOT KDE4_DATA_DIR)
|
||||
GET_FILENAME_COMPONENT(KDE4_DATA_DIR "${KDE4_DATA_DIR}" PATH)
|
||||
ELSE(CMAKE_CROSSCOMPILING)
|
||||
# then ask kde4-config for the kde data dirs
|
||||
EXECUTE_PROCESS(COMMAND "${KDE4_KDECONFIG_EXECUTABLE}" --path data OUTPUT_VARIABLE _data_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
FILE(TO_CMAKE_PATH "${_data_DIR}" _data_DIR)
|
||||
# then check the data dirs for FindKDE4Internal.cmake
|
||||
FIND_PATH(KDE4_DATA_DIR cmake/modules/FindKDE4Internal.cmake ${_data_DIR})
|
||||
|
||||
IF(KDE4_KDECONFIG_EXECUTABLE)
|
||||
EXECUTE_PROCESS(COMMAND "${KDE4_KDECONFIG_EXECUTABLE}" --path data OUTPUT_VARIABLE _data_DIR ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
FILE(TO_CMAKE_PATH "${_data_DIR}" _data_DIR)
|
||||
# then check the data dirs for FindKDE4Internal.cmake
|
||||
FIND_PATH(KDE4_DATA_DIR cmake/modules/FindKDE4Internal.cmake ${_data_DIR})
|
||||
ENDIF(KDE4_KDECONFIG_EXECUTABLE)
|
||||
ENDIF(CMAKE_CROSSCOMPILING)
|
||||
ENDIF(NOT KDE4_DATA_DIR)
|
||||
|
||||
|
@ -10,25 +10,42 @@
|
||||
# is found
|
||||
# LAPACK_LINKER_FLAGS - uncached list of required linker flags (excluding -l
|
||||
# and -L).
|
||||
# LAPACK_LIBRARIES - uncached list of libraries (using full path name) to
|
||||
# LAPACK_LIBRARIES - uncached list of libraries (using full path name) to
|
||||
# link against to use LAPACK
|
||||
# LAPACK95_LIBRARIES - uncached list of libraries (using full path name) to
|
||||
# LAPACK95_LIBRARIES - uncached list of libraries (using full path name) to
|
||||
# link against to use LAPACK95
|
||||
# LAPACK95_FOUND - set to true if a library implementing the LAPACK f95
|
||||
# interface is found
|
||||
# BLA_STATIC if set on this determines what kind of linkage we do (static)
|
||||
# BLA_VENDOR if set checks only the specified vendor, if not set checks
|
||||
# all the posibilities
|
||||
# BLA_F95 if set on tries to find the f95 interfaces for BLAS/LAPACK
|
||||
### List of vendors (BLA_VENDOR) valid in this module
|
||||
## Intel(mkl), ACML,Apple, NAS, Generic
|
||||
get_property(_LANGUAGES_ GLOBAL PROPERTY ENABLED_LANGUAGES)
|
||||
if(NOT _LANGUAGES_ MATCHES Fortran)
|
||||
if(LAPACK_FIND_REQUIRED)
|
||||
message(FATAL_ERROR
|
||||
"FindLAPACK is Fortran-only so Fortran must be enabled.")
|
||||
else(LAPACK_FIND_REQUIRED)
|
||||
message(STATUS "Looking for LAPACK... - NOT found (Fortran not enabled)")
|
||||
return()
|
||||
endif(LAPACK_FIND_REQUIRED)
|
||||
endif(NOT _LANGUAGES_ MATCHES Fortran)
|
||||
|
||||
#
|
||||
|
||||
include(CheckFortranFunctionExists)
|
||||
set(LAPACK_FOUND FALSE)
|
||||
set(LAPACK95_FOUND FALSE)
|
||||
|
||||
macro(Check_Lapack_Libraries LIBRARIES _prefix _name _flags _list _blas)
|
||||
macro(Check_Lapack_Libraries LIBRARIES _prefix _name _flags _list _blas _threads)
|
||||
# This macro checks for the existence of the combination of fortran libraries
|
||||
# given by _list. If the combination is found, this macro checks (using the
|
||||
# given by _list. If the combination is found, this macro checks (using the
|
||||
# Check_Fortran_Function_Exists macro) whether can link against that library
|
||||
# combination using the name of a routine given by _name using the linker
|
||||
# flags given by _flags. If the combination of libraries is found and passes
|
||||
# the link test, LIBRARIES is set to the list of complete library paths that
|
||||
# have been found. Otherwise, LIBRARIES is set to FALSE.
|
||||
|
||||
|
||||
# N.B. _prefix is the prefix applied to the names of all cached variables that
|
||||
# are generated internally and marked advanced by this macro.
|
||||
|
||||
@ -39,20 +56,29 @@ foreach(_library ${_list})
|
||||
set(_combined_name ${_combined_name}_${_library})
|
||||
|
||||
if(_libraries_work)
|
||||
IF (WIN32)
|
||||
IF (WIN32)
|
||||
if(BLA_STATIC)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib;.dll")
|
||||
endif(BLA_STATIC)
|
||||
find_library(${_prefix}_${_library}_LIBRARY
|
||||
NAMES ${_library}
|
||||
PATHS ENV LIB
|
||||
PATHS ENV LIB
|
||||
)
|
||||
ENDIF (WIN32)
|
||||
ENDIF (WIN32)
|
||||
|
||||
if(APPLE)
|
||||
if(BLA_STATIC)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.so;.dylib")
|
||||
endif(BLA_STATIC)
|
||||
find_library(${_prefix}_${_library}_LIBRARY
|
||||
NAMES ${_library}
|
||||
PATHS /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV DYLD_LIBRARY_PATH
|
||||
)
|
||||
else(APPLE)
|
||||
find_library(${_prefix}_${_library}_LIBRARY
|
||||
if(BLA_STATIC)
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.so")
|
||||
endif(BLA_STATIC)
|
||||
find_library(${_prefix}_${_library}_LIBRARY
|
||||
NAMES ${_library}
|
||||
PATHS /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV LD_LIBRARY_PATH
|
||||
)
|
||||
@ -66,8 +92,12 @@ endforeach(_library ${_list})
|
||||
|
||||
if(_libraries_work)
|
||||
# Test this combination of libraries.
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_blas})
|
||||
#message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}")
|
||||
if(UNIX AND BLA_STATIC)
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${_flags} "-Wl,--start-group ${${LIBRARIES}} ${_blas};-Wl,--end-group" ${_threads})
|
||||
else(UNIX AND BLA_STATIC)
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_blas} ${_threads})
|
||||
endif(UNIX AND BLA_STATIC)
|
||||
# message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}")
|
||||
check_fortran_function_exists(${_name} ${_prefix}${_combined_name}_WORKS)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
mark_as_advanced(${_prefix}${_combined_name}_WORKS)
|
||||
@ -75,9 +105,11 @@ if(_libraries_work)
|
||||
#message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}")
|
||||
endif(_libraries_work)
|
||||
|
||||
if(NOT _libraries_work)
|
||||
set(${LIBRARIES} FALSE)
|
||||
endif(NOT _libraries_work)
|
||||
if(_libraries_work)
|
||||
set(${LIBRARIES} ${${LIBRARIES}} ${_blas})
|
||||
else(_libraries_work)
|
||||
set(${LIBRARIES} FALSE)
|
||||
endif(_libraries_work)
|
||||
|
||||
endmacro(Check_Lapack_Libraries)
|
||||
|
||||
@ -93,49 +125,34 @@ else(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
|
||||
find_package(BLAS REQUIRED)
|
||||
endif(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
|
||||
|
||||
|
||||
if(BLAS_FOUND)
|
||||
set(LAPACK_LINKER_FLAGS ${BLAS_LINKER_FLAGS})
|
||||
|
||||
#intel lapack
|
||||
if(NOT LAPACK_LIBRARIES)
|
||||
|
||||
check_lapack_libraries(
|
||||
LAPACK_LIBRARIES
|
||||
LAPACK
|
||||
cheev
|
||||
""
|
||||
"mkl_lapack"
|
||||
"${BLAS_LIBRARIES}"
|
||||
)
|
||||
endif(NOT LAPACK_LIBRARIES)
|
||||
|
||||
if(NOT LAPACK95_LIBRARIES)
|
||||
check_lapack_libraries(
|
||||
LAPACK95_LIBRARIES
|
||||
LAPACK
|
||||
cheev
|
||||
""
|
||||
"mkl_lapack95"
|
||||
"${BLAS_LIBRARIES}"
|
||||
)
|
||||
endif(NOT LAPACK95_LIBRARIES)
|
||||
|
||||
if ($ENV{BLA_VENDOR} MATCHES ".+")
|
||||
set(BLA_VENDOR $ENV{BLA_VENDOR})
|
||||
else ($ENV{BLA_VENDOR} MATCHES ".+")
|
||||
if(NOT BLA_VENDOR)
|
||||
set(BLA_VENDOR "All")
|
||||
endif(NOT BLA_VENDOR)
|
||||
endif ($ENV{BLA_VENDOR} MATCHES ".+")
|
||||
#acml lapack
|
||||
if (BLA_VENDOR STREQUAL "ACML" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT LAPACK_LIBRARIES)
|
||||
|
||||
check_lapack_libraries(
|
||||
LAPACK_LIBRARIES
|
||||
LAPACK
|
||||
cheev
|
||||
""
|
||||
"acml"
|
||||
"${BLAS_LIBRARIES}"
|
||||
)
|
||||
endif(NOT LAPACK_LIBRARIES)
|
||||
|
||||
check_lapack_libraries(
|
||||
LAPACK_LIBRARIES
|
||||
LAPACK
|
||||
cheev
|
||||
""
|
||||
"acml"
|
||||
""
|
||||
""
|
||||
)
|
||||
endif(NOT LAPACK_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "ACML" OR BLA_VENDOR STREQUAL "All")
|
||||
|
||||
# Apple LAPACK library?
|
||||
if(NOT LAPACK_LIBRARIES)
|
||||
if (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All")
|
||||
if(NOT LAPACK_LIBRARIES)
|
||||
check_lapack_libraries(
|
||||
LAPACK_LIBRARIES
|
||||
LAPACK
|
||||
@ -143,9 +160,11 @@ if(NOT LAPACK_LIBRARIES)
|
||||
""
|
||||
"Accelerate"
|
||||
"${BLAS_LIBRARIES}"
|
||||
""
|
||||
)
|
||||
endif(NOT LAPACK_LIBRARIES)
|
||||
|
||||
endif(NOT LAPACK_LIBRARIES)
|
||||
endif (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All")
|
||||
if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
|
||||
if ( NOT LAPACK_LIBRARIES )
|
||||
check_lapack_libraries(
|
||||
LAPACK_LIBRARIES
|
||||
@ -154,10 +173,12 @@ if(NOT LAPACK_LIBRARIES)
|
||||
""
|
||||
"vecLib"
|
||||
"${BLAS_LIBRARIES}"
|
||||
""
|
||||
)
|
||||
endif ( NOT LAPACK_LIBRARIES )
|
||||
|
||||
endif (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
|
||||
# Generic LAPACK library?
|
||||
if (BLA_VENDOR STREQUAL "Generic" OR BLA_VENDOR STREQUAL "All")
|
||||
if ( NOT LAPACK_LIBRARIES )
|
||||
check_lapack_libraries(
|
||||
LAPACK_LIBRARIES
|
||||
@ -166,25 +187,85 @@ if(NOT LAPACK_LIBRARIES)
|
||||
""
|
||||
"lapack"
|
||||
"${BLAS_LIBRARIES}"
|
||||
""
|
||||
)
|
||||
endif ( NOT LAPACK_LIBRARIES )
|
||||
|
||||
endif (BLA_VENDOR STREQUAL "Generic" OR BLA_VENDOR STREQUAL "All")
|
||||
#intel lapack
|
||||
if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
|
||||
if (_LANGUAGES_ MATCHES C OR _LANGUAGES_ MATCHES CXX)
|
||||
if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
|
||||
find_PACKAGE(Threads)
|
||||
else(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
|
||||
find_package(Threads REQUIRED)
|
||||
endif(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
|
||||
if (BLA_F95)
|
||||
if(NOT LAPACK95_LIBRARIES)
|
||||
check_lapack_libraries(
|
||||
LAPACK95_LIBRARIES
|
||||
LAPACK
|
||||
cheev
|
||||
""
|
||||
"mkl_lapack95"
|
||||
"${BLAS95_LIBRARIES}"
|
||||
"${CMAKE_THREAD_LIBS_INIT}"
|
||||
)
|
||||
endif(NOT LAPACK95_LIBRARIES)
|
||||
else(BLA_F95)
|
||||
if(NOT LAPACK_LIBRARIES)
|
||||
check_lapack_libraries(
|
||||
LAPACK_LIBRARIES
|
||||
LAPACK
|
||||
cheev
|
||||
""
|
||||
"mkl_lapack"
|
||||
"${BLAS_LIBRARIES}"
|
||||
"${CMAKE_THREAD_LIBS_INIT}"
|
||||
)
|
||||
endif(NOT LAPACK_LIBRARIES)
|
||||
endif(BLA_F95)
|
||||
endif (_LANGUAGES_ MATCHES C OR _LANGUAGES_ MATCHES CXX)
|
||||
endif(BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
|
||||
else(BLAS_FOUND)
|
||||
message(STATUS "LAPACK requires BLAS")
|
||||
endif(BLAS_FOUND)
|
||||
|
||||
if(LAPACK_LIBRARIES)
|
||||
if(BLA_F95)
|
||||
if(LAPACK95_LIBRARIES)
|
||||
set(LAPACK95_FOUND TRUE)
|
||||
else(LAPACK95_LIBRARIES)
|
||||
set(LAPACK95_FOUND FALSE)
|
||||
endif(LAPACK95_LIBRARIES)
|
||||
if(NOT LAPACK_FIND_QUIETLY)
|
||||
if(LAPACK95_FOUND)
|
||||
message(STATUS "A library with LAPACK95 API found.")
|
||||
else(LAPACK95_FOUND)
|
||||
if(LAPACK_FIND_REQUIRED)
|
||||
message(FATAL_ERROR
|
||||
"A required library with LAPACK95 API not found. Please specify library location."
|
||||
)
|
||||
else(LAPACK_FIND_REQUIRED)
|
||||
message(STATUS
|
||||
"A library with LAPACK95 API not found. Please specify library location."
|
||||
)
|
||||
endif(LAPACK_FIND_REQUIRED)
|
||||
endif(LAPACK95_FOUND)
|
||||
endif(NOT LAPACK_FIND_QUIETLY)
|
||||
set(LAPACK_FOUND "${LAPACK95_FOUND}")
|
||||
set(LAPACK_LIBRARIES "${LAPACK95_LIBRARIES}")
|
||||
else(BLA_F95)
|
||||
if(LAPACK_LIBRARIES)
|
||||
set(LAPACK_FOUND TRUE)
|
||||
else(LAPACK_LIBRARIES)
|
||||
else(LAPACK_LIBRARIES)
|
||||
set(LAPACK_FOUND FALSE)
|
||||
endif(LAPACK_LIBRARIES)
|
||||
endif(LAPACK_LIBRARIES)
|
||||
|
||||
if(NOT LAPACK_FIND_QUIETLY)
|
||||
if(NOT LAPACK_FIND_QUIETLY)
|
||||
if(LAPACK_FOUND)
|
||||
message(STATUS "A library with LAPACK API found.")
|
||||
else(LAPACK_FOUND)
|
||||
if(LAPACK_FIND_REQUIRED)
|
||||
message(FATAL_ERROR
|
||||
message(FATAL_ERROR
|
||||
"A required library with LAPACK API not found. Please specify library location."
|
||||
)
|
||||
else(LAPACK_FIND_REQUIRED)
|
||||
@ -193,4 +274,5 @@ if(NOT LAPACK_FIND_QUIETLY)
|
||||
)
|
||||
endif(LAPACK_FIND_REQUIRED)
|
||||
endif(LAPACK_FOUND)
|
||||
endif(NOT LAPACK_FIND_QUIETLY)
|
||||
endif(NOT LAPACK_FIND_QUIETLY)
|
||||
endif(BLA_F95)
|
||||
|
@ -1,10 +1,11 @@
|
||||
# - Try to find LibXml2
|
||||
# Once done this will define
|
||||
#
|
||||
# LIBXML2_FOUND - system has LibXml2
|
||||
# LIBXML2_INCLUDE_DIR - the LibXml2 include directory
|
||||
# LIBXML2_LIBRARIES - the libraries needed to use LibXml2
|
||||
# LIBXML2_FOUND - System has LibXml2
|
||||
# LIBXML2_INCLUDE_DIR - The LibXml2 include directory
|
||||
# LIBXML2_LIBRARIES - The libraries needed to use LibXml2
|
||||
# LIBXML2_DEFINITIONS - Compiler switches required for using LibXml2
|
||||
# LIBXML2_XMLLINT_EXECUTABLE - The XML checking tool xmllint coming with LibXml2
|
||||
|
||||
# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
|
||||
#
|
||||
@ -36,11 +37,15 @@ FIND_LIBRARY(LIBXML2_LIBRARIES NAMES xml2 libxml2
|
||||
${_LibXml2LinkDir}
|
||||
)
|
||||
|
||||
FIND_PROGRAM(LIBXML2_XMLLINT_EXECUTABLE xmllint)
|
||||
# for backwards compat. with KDE 4.0.x:
|
||||
SET(XMLLINT_EXECUTABLE "${LIBXML2_XMLLINT_EXECUTABLE}")
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set LIBXML2_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 DEFAULT_MSG LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
|
||||
|
||||
MARK_AS_ADVANCED(LIBXML2_INCLUDE_DIR LIBXML2_LIBRARIES)
|
||||
MARK_AS_ADVANCED(LIBXML2_INCLUDE_DIR LIBXML2_LIBRARIES LIBXML2_XMLLINT_EXECUTABLE)
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Locate Lua library
|
||||
# This module defines
|
||||
# LUA50_FOUND, if false, do not try to link to Lua
|
||||
# LUA_LIBRARIES, both lua and lualib
|
||||
# LUA_FOUND, if false, do not try to link to Lua
|
||||
# LUA_INCLUDE_DIR, where to find lua.h and lualib.h (and probably lauxlib.h)
|
||||
#
|
||||
# Note that the expected include convention is
|
||||
@ -13,13 +13,9 @@
|
||||
|
||||
|
||||
FIND_PATH(LUA_INCLUDE_DIR lua.h
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{LUA_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include/lua50 include/lua5.0 include/lua5 include/lua include
|
||||
)
|
||||
|
||||
FIND_PATH(LUA_INCLUDE_DIR lua.h
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -29,19 +25,13 @@ FIND_PATH(LUA_INCLUDE_DIR lua.h
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt
|
||||
PATH_SUFFIXES include/lua50 include/lua5.0 include/lua5 include/lua include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(LUA_LIBRARY_lua
|
||||
NAMES lua50 lua5.0 lua5 lua
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{LUA_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(LUA_LIBRARY_lua
|
||||
NAMES lua50 lua5.0 lua5 lua
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -51,7 +41,6 @@ FIND_LIBRARY(LUA_LIBRARY_lua
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
# In an OS X framework, lualib is usually included as part of the framework
|
||||
@ -61,15 +50,10 @@ IF(${LUA_LIBRARY_lua} MATCHES "framework")
|
||||
ELSE(${LUA_LIBRARY_lua} MATCHES "framework")
|
||||
FIND_LIBRARY(LUA_LIBRARY_lualib
|
||||
NAMES lualib50 lualib5.0 lualib5 lualib
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{LUALIB_DIR}
|
||||
$ENV{LUA_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(LUA_LIBRARY_lualib
|
||||
NAMES lualib50 lualib5.0 lualib5 lualib
|
||||
PATHS
|
||||
/usr/local
|
||||
/usr
|
||||
@ -77,7 +61,6 @@ ELSE(${LUA_LIBRARY_lua} MATCHES "framework")
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
IF(LUA_LIBRARY_lualib AND LUA_LIBRARY_lua)
|
||||
# include the math library for Unix
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Locate Lua library
|
||||
# This module defines
|
||||
# LUA51_FOUND, if false, do not try to link to Lua
|
||||
# LUA_LIBRARIES
|
||||
# LUA_FOUND, if false, do not try to link to Lua
|
||||
# LUA_INCLUDE_DIR, where to find lua.h
|
||||
#
|
||||
# Note that the expected include convention is
|
||||
@ -13,13 +13,9 @@
|
||||
|
||||
|
||||
FIND_PATH(LUA_INCLUDE_DIR lua.h
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{LUA_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include/lua51 include/lua5.1 include/lua include
|
||||
)
|
||||
|
||||
FIND_PATH(LUA_INCLUDE_DIR lua.h
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -29,19 +25,13 @@ FIND_PATH(LUA_INCLUDE_DIR lua.h
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt
|
||||
PATH_SUFFIXES include/lua51 include/lua5.1 include/lua include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(LUA_LIBRARY
|
||||
NAMES lua51 lua5.1 lua
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{LUA_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(LUA_LIBRARY
|
||||
NAMES lua51 lua5.1 lua
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -51,7 +41,6 @@ FIND_LIBRARY(LUA_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
IF(LUA_LIBRARY)
|
||||
@ -68,7 +57,7 @@ ENDIF(LUA_LIBRARY)
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua50 DEFAULT_MSG LUA_LIBRARIES LUA_INCLUDE_DIR)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua51 DEFAULT_MSG LUA_LIBRARIES LUA_INCLUDE_DIR)
|
||||
|
||||
MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY)
|
||||
|
||||
|
@ -210,11 +210,11 @@ elseif (MPI_COMPILE_CMDLINE)
|
||||
foreach(LIB ${MPI_LIBNAMES})
|
||||
string(REGEX REPLACE "^-l" "" LIB ${LIB})
|
||||
set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
|
||||
find_library(MPI_LIB ${LIB} PATHS ${MPI_LINK_PATH})
|
||||
find_library(MPI_LIB ${LIB} HINTS ${MPI_LINK_PATH})
|
||||
if (MPI_LIB)
|
||||
list(APPEND MPI_LIBRARIES ${MPI_LIB})
|
||||
else (MPI_LIB)
|
||||
status(ERROR "Unable to find MPI library ${LIB}")
|
||||
message(SEND_ERROR "Unable to find MPI library ${LIB}")
|
||||
endif (MPI_LIB)
|
||||
endforeach(LIB)
|
||||
set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE INTERNAL "Scratch variable for MPI detection" FORCE)
|
||||
@ -222,12 +222,13 @@ elseif (MPI_COMPILE_CMDLINE)
|
||||
# Chop MPI_LIBRARIES into the old-style MPI_LIBRARY and
|
||||
# MPI_EXTRA_LIBRARY.
|
||||
list(LENGTH MPI_LIBRARIES MPI_NUMLIBS)
|
||||
if (MPI_NUMLIBS GREATER 0)
|
||||
list(LENGTH MPI_LIBNAMES MPI_NUMLIBS_EXPECTED)
|
||||
if (MPI_NUMLIBS EQUAL MPI_NUMLIBS_EXPECTED)
|
||||
list(GET MPI_LIBRARIES 0 MPI_LIBRARY_WORK)
|
||||
set(MPI_LIBRARY ${MPI_LIBRARY_WORK} CACHE FILEPATH "MPI library to link against" FORCE)
|
||||
else (MPI_NUMLIBS GREATER 0)
|
||||
set(MPI_LIBRARY "MPI_LIBRARY-NOTFOUND" CACHE STRING "MPI library to link against" FORCE)
|
||||
endif (MPI_NUMLIBS GREATER 0)
|
||||
else (MPI_NUMLIBS EQUAL MPI_NUMLIBS_EXPECTED)
|
||||
set(MPI_LIBRARY "MPI_LIBRARY-NOTFOUND" CACHE FILEPATH "MPI library to link against" FORCE)
|
||||
endif (MPI_NUMLIBS EQUAL MPI_NUMLIBS_EXPECTED)
|
||||
if (MPI_NUMLIBS GREATER 1)
|
||||
set(MPI_EXTRA_LIBRARY_WORK ${MPI_LIBRARIES})
|
||||
list(REMOVE_AT MPI_EXTRA_LIBRARY_WORK 0)
|
||||
|
@ -21,7 +21,9 @@ IF(WIN32)
|
||||
# Same here, there are also: bcc50 and bcc51 directories
|
||||
SET(MATLAB_ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\7.0;MATLABROOT]/extern/lib/win32/microsoft/bcc54")
|
||||
ELSE(${CMAKE_GENERATOR} MATCHES "Borland")
|
||||
MESSAGE(FATAL_ERROR "Generator not compatible: ${CMAKE_GENERATOR}")
|
||||
IF(MATLAB_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Generator not compatible: ${CMAKE_GENERATOR}")
|
||||
ENDIF(MATLAB_FIND_REQUIRED)
|
||||
ENDIF(${CMAKE_GENERATOR} MATCHES "Borland")
|
||||
ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio 7")
|
||||
ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
|
||||
|
@ -49,13 +49,9 @@
|
||||
# CMAKE_INCLUDE_PATH to modify the search paths.
|
||||
|
||||
FIND_PATH(OPENAL_INCLUDE_DIR al.h
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OPENALDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include/AL include/OpenAL include
|
||||
)
|
||||
|
||||
FIND_PATH(OPENAL_INCLUDE_DIR al.h
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -66,19 +62,13 @@ FIND_PATH(OPENAL_INCLUDE_DIR al.h
|
||||
/opt/csw # Blastwave
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]
|
||||
PATH_SUFFIXES include/AL include/OpenAL include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OPENAL_LIBRARY
|
||||
NAMES OpenAL al openal OpenAL32
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OPENALDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OPENAL_LIBRARY
|
||||
NAMES OpenAL al openal OpenAL32
|
||||
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -89,7 +79,6 @@ FIND_LIBRARY(OPENAL_LIBRARY
|
||||
/opt/csw
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]
|
||||
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
|
||||
)
|
||||
|
||||
|
||||
|
@ -57,20 +57,20 @@ ELSE (WIN32)
|
||||
FIND_PATH(OPENGL_INCLUDE_DIR GL/gl.h
|
||||
/usr/share/doc/NVIDIA_GLX-1.0/include
|
||||
/usr/openwin/share/include
|
||||
/opt/graphics/OpenGL/include
|
||||
/opt/graphics/OpenGL/include /usr/X11R6/include
|
||||
)
|
||||
|
||||
FIND_PATH(OPENGL_xmesa_INCLUDE_DIR GL/xmesa.h
|
||||
/usr/share/doc/NVIDIA_GLX-1.0/include
|
||||
/usr/openwin/share/include
|
||||
/opt/graphics/OpenGL/include
|
||||
/opt/graphics/OpenGL/include /usr/X11R6/include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OPENGL_gl_LIBRARY
|
||||
NAMES GL MesaGL
|
||||
PATHS /opt/graphics/OpenGL/lib
|
||||
/usr/openwin/lib
|
||||
/usr/shlib
|
||||
/usr/shlib /usr/X11R6/lib
|
||||
)
|
||||
|
||||
# On Unix OpenGL most certainly always requires X11.
|
||||
@ -94,7 +94,7 @@ ELSE (WIN32)
|
||||
PATHS ${OPENGL_gl_LIBRARY}
|
||||
/opt/graphics/OpenGL/lib
|
||||
/usr/openwin/lib
|
||||
/usr/shlib
|
||||
/usr/shlib /usr/X11R6/lib
|
||||
)
|
||||
|
||||
ENDIF(APPLE)
|
||||
|
@ -1,70 +1,71 @@
|
||||
# - Try to find the OpenSSL encryption library
|
||||
# Once done this will define
|
||||
#
|
||||
# OPENSSL_FOUND - system has the OpenSSL library
|
||||
# OPENSSL_INCLUDE_DIR - the OpenSSL include directory
|
||||
# OPENSSL_LIBRARIES - The libraries needed to use OpenSSL
|
||||
|
||||
# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
|
||||
IF(OPENSSL_LIBRARIES)
|
||||
SET(OpenSSL_FIND_QUIETLY TRUE)
|
||||
ENDIF(OPENSSL_LIBRARIES)
|
||||
|
||||
IF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
|
||||
SET(LIB_FOUND 1)
|
||||
ENDIF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
|
||||
|
||||
FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h )
|
||||
|
||||
IF(WIN32 AND MSVC)
|
||||
# /MD and /MDd are the standard values - if somone wants to use
|
||||
# others, the libnames have to change here too
|
||||
# use also ssl and ssleay32 in debug as fallback for openssl < 0.9.8b
|
||||
|
||||
FIND_LIBRARY(SSL_EAY_DEBUG NAMES ssleay32MDd ssl ssleay32)
|
||||
FIND_LIBRARY(SSL_EAY_RELEASE NAMES ssleay32MD ssl ssleay32)
|
||||
|
||||
IF(MSVC_IDE)
|
||||
IF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
|
||||
SET(OPENSSL_LIBRARIES optimized ${SSL_EAY_RELEASE} debug ${SSL_EAY_DEBUG})
|
||||
ELSE(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
|
||||
MESSAGE(FATAL_ERROR "Could not find the debug and release version of openssl")
|
||||
ENDIF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
|
||||
ELSE(MSVC_IDE)
|
||||
STRING(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER)
|
||||
IF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
|
||||
SET(OPENSSL_LIBRARIES ${SSL_EAY_DEBUG})
|
||||
ELSE(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
|
||||
SET(OPENSSL_LIBRARIES ${SSL_EAY_RELEASE})
|
||||
ENDIF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
|
||||
ENDIF(MSVC_IDE)
|
||||
MARK_AS_ADVANCED(SSL_EAY_DEBUG SSL_EAY_RELEASE)
|
||||
ELSE(WIN32 AND MSVC)
|
||||
|
||||
FIND_LIBRARY(OPENSSL_LIBRARIES NAMES ssl ssleay32 ssleay32MD )
|
||||
|
||||
ENDIF(WIN32 AND MSVC)
|
||||
|
||||
IF(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
|
||||
SET(OPENSSL_FOUND TRUE)
|
||||
ELSE(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
|
||||
SET(OPENSSL_FOUND FALSE)
|
||||
ENDIF (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
|
||||
|
||||
IF (OPENSSL_FOUND)
|
||||
IF (NOT OpenSSL_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found OpenSSL: ${OPENSSL_LIBRARIES}")
|
||||
ENDIF (NOT OpenSSL_FIND_QUIETLY)
|
||||
ELSE (OPENSSL_FOUND)
|
||||
IF (OpenSSL_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Could NOT find OpenSSL")
|
||||
ENDIF (OpenSSL_FIND_REQUIRED)
|
||||
ENDIF (OPENSSL_FOUND)
|
||||
|
||||
MARK_AS_ADVANCED(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
|
||||
|
||||
# - Try to find the OpenSSL encryption library
|
||||
# Once done this will define
|
||||
#
|
||||
# OPENSSL_FOUND - system has the OpenSSL library
|
||||
# OPENSSL_INCLUDE_DIR - the OpenSSL include directory
|
||||
# OPENSSL_LIBRARIES - The libraries needed to use OpenSSL
|
||||
|
||||
# Copyright (c) 2006, Alexander Neundorf, <neundorf@kde.org>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
|
||||
IF(OPENSSL_LIBRARIES)
|
||||
SET(OpenSSL_FIND_QUIETLY TRUE)
|
||||
ENDIF(OPENSSL_LIBRARIES)
|
||||
|
||||
IF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
|
||||
SET(LIB_FOUND 1)
|
||||
ENDIF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
|
||||
|
||||
FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h )
|
||||
|
||||
IF(WIN32 AND MSVC)
|
||||
# /MD and /MDd are the standard values - if somone wants to use
|
||||
# others, the libnames have to change here too
|
||||
# use also ssl and ssleay32 in debug as fallback for openssl < 0.9.8b
|
||||
|
||||
FIND_LIBRARY(SSL_EAY_DEBUG NAMES ssleay32MDd ssl ssleay32)
|
||||
FIND_LIBRARY(SSL_EAY_RELEASE NAMES ssleay32MD ssl ssleay32)
|
||||
|
||||
IF(MSVC_IDE)
|
||||
IF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
|
||||
SET(OPENSSL_LIBRARIES optimized ${SSL_EAY_RELEASE} debug ${SSL_EAY_DEBUG})
|
||||
ELSE(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
|
||||
SET(OPENSSL_LIBRARIES NOTFOUND)
|
||||
MESSAGE(STATUS "Could not find the debug and release version of openssl")
|
||||
ENDIF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE)
|
||||
ELSE(MSVC_IDE)
|
||||
STRING(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER)
|
||||
IF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
|
||||
SET(OPENSSL_LIBRARIES ${SSL_EAY_DEBUG})
|
||||
ELSE(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
|
||||
SET(OPENSSL_LIBRARIES ${SSL_EAY_RELEASE})
|
||||
ENDIF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug)
|
||||
ENDIF(MSVC_IDE)
|
||||
MARK_AS_ADVANCED(SSL_EAY_DEBUG SSL_EAY_RELEASE)
|
||||
ELSE(WIN32 AND MSVC)
|
||||
|
||||
FIND_LIBRARY(OPENSSL_LIBRARIES NAMES ssl ssleay32 ssleay32MD )
|
||||
|
||||
ENDIF(WIN32 AND MSVC)
|
||||
|
||||
IF(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
|
||||
SET(OPENSSL_FOUND TRUE)
|
||||
ELSE(OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
|
||||
SET(OPENSSL_FOUND FALSE)
|
||||
ENDIF (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES)
|
||||
|
||||
IF (OPENSSL_FOUND)
|
||||
IF (NOT OpenSSL_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found OpenSSL: ${OPENSSL_LIBRARIES}")
|
||||
ENDIF (NOT OpenSSL_FIND_QUIETLY)
|
||||
ELSE (OPENSSL_FOUND)
|
||||
IF (OpenSSL_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Could NOT find OpenSSL")
|
||||
ENDIF (OpenSSL_FIND_REQUIRED)
|
||||
ENDIF (OPENSSL_FOUND)
|
||||
|
||||
MARK_AS_ADVANCED(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
||||
# Explicit -DVAR=value arguments should still be able to override everything.
|
||||
|
||||
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OPENTHREADS_INCLUDE_DIR}
|
||||
$ENV{OPENTHREADS_DIR}/include
|
||||
$ENV{OPENTHREADS_DIR}
|
||||
@ -48,12 +48,7 @@ FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}/include
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
|
||||
|
||||
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local/include
|
||||
@ -69,7 +64,7 @@ FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
|
||||
|
||||
FIND_LIBRARY(OPENTHREADS_LIBRARY
|
||||
NAMES OpenThreads OpenThreadsWin32
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OPENTHREADS_LIBRARY_DIR}
|
||||
$ENV{OPENTHREADS_DIR}/lib64
|
||||
$ENV{OPENTHREADS_DIR}/lib
|
||||
@ -81,13 +76,6 @@ FIND_LIBRARY(OPENTHREADS_LIBRARY
|
||||
$ENV{OSGDIR}/lib64
|
||||
$ENV{OSGDIR}/lib
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
|
||||
|
||||
FIND_LIBRARY(OPENTHREADS_LIBRARY
|
||||
NAMES OpenThreads OpenThreadsWin32
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -110,7 +98,7 @@ FIND_LIBRARY(OPENTHREADS_LIBRARY
|
||||
|
||||
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
|
||||
NAMES OpenThreadsd OpenThreadsWin32d
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OPENTHREADS_DEBUG_LIBRARY_DIR}
|
||||
$ENV{OPENTHREADS_LIBRARY_DIR}
|
||||
$ENV{OPENTHREADS_DIR}/lib64
|
||||
@ -123,13 +111,6 @@ FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
|
||||
$ENV{OSGDIR}/lib64
|
||||
$ENV{OSGDIR}/lib
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
|
||||
|
||||
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
|
||||
NAMES OpenThreadsd OpenThreadsWin32d
|
||||
PATHS
|
||||
/usr/local/lib64
|
||||
/usr/local/lib
|
||||
|
@ -68,3 +68,5 @@ IF(APPLE)
|
||||
ENDFOREACH(symbol)
|
||||
ENDIF(APPLE)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PHP4 DEFAULT_MSG PHP4_EXECUTABLE PHP4_INCLUDE_PATH)
|
||||
|
@ -16,7 +16,7 @@ IF(ZLIB_FOUND)
|
||||
/usr/local/include/libpng # OpenBSD
|
||||
)
|
||||
|
||||
SET(PNG_NAMES ${PNG_NAMES} png libpng)
|
||||
SET(PNG_NAMES ${PNG_NAMES} png libpng png12 libpng12)
|
||||
FIND_LIBRARY(PNG_LIBRARY NAMES ${PNG_NAMES} )
|
||||
|
||||
IF (PNG_LIBRARY AND PNG_PNG_INCLUDE_DIR)
|
||||
|
@ -28,10 +28,14 @@ FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FAIL_MSG _VAR1 )
|
||||
|
||||
STRING(TOUPPER ${_NAME} _NAME_UPPER)
|
||||
|
||||
# collect all variables which were not found, so they can be printed, so the
|
||||
# user knows better what went wrong (#6375)
|
||||
SET(MISSING_VARS "")
|
||||
SET(DETAILS "")
|
||||
SET(${_NAME_UPPER}_FOUND TRUE)
|
||||
IF(NOT ${_VAR1})
|
||||
SET(${_NAME_UPPER}_FOUND FALSE)
|
||||
SET(MISSING_VARS " ${_VAR1}")
|
||||
ELSE(NOT ${_VAR1})
|
||||
SET(DETAILS "${DETAILS}[${${_VAR1}}]")
|
||||
ENDIF(NOT ${_VAR1})
|
||||
@ -40,6 +44,7 @@ FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FAIL_MSG _VAR1 )
|
||||
FOREACH(_CURRENT_VAR ${ARGN})
|
||||
IF(NOT ${_CURRENT_VAR})
|
||||
SET(${_NAME_UPPER}_FOUND FALSE)
|
||||
SET(MISSING_VARS "${MISSING_VARS} ${_CURRENT_VAR}")
|
||||
ELSE(NOT ${_CURRENT_VAR})
|
||||
SET(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]")
|
||||
ENDIF(NOT ${_CURRENT_VAR})
|
||||
@ -49,10 +54,10 @@ FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FAIL_MSG _VAR1 )
|
||||
FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_VAR1}}" "${DETAILS}")
|
||||
ELSE (${_NAME_UPPER}_FOUND)
|
||||
IF (${_NAME}_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "${_FAIL_MESSAGE}")
|
||||
MESSAGE(FATAL_ERROR "${_FAIL_MESSAGE} (missing: ${MISSING_VARS})")
|
||||
ELSE (${_NAME}_FIND_REQUIRED)
|
||||
IF (NOT ${_NAME}_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "${_FAIL_MESSAGE}")
|
||||
MESSAGE(STATUS "${_FAIL_MESSAGE} (missing: ${MISSING_VARS})")
|
||||
ENDIF (NOT ${_NAME}_FIND_QUIETLY)
|
||||
ENDIF (${_NAME}_FIND_REQUIRED)
|
||||
ENDIF (${_NAME_UPPER}_FOUND)
|
||||
|
@ -11,13 +11,9 @@
|
||||
# Created by Eric Wing.
|
||||
|
||||
FIND_PATH(PHYSFS_INCLUDE_DIR physfs.h
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{PHYSFSDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(PHYSFS_INCLUDE_DIR physfs.h
|
||||
PATH_SUFFIXES include/physfs include
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -27,19 +23,13 @@ FIND_PATH(PHYSFS_INCLUDE_DIR physfs.h
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt
|
||||
PATH_SUFFIXES include/physfs include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(PHYSFS_LIBRARY
|
||||
NAMES physfs
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{PHYSFSDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(PHYSFS_LIBRARY
|
||||
NAMES physfs
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -49,7 +39,6 @@ FIND_LIBRARY(PHYSFS_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(PHYSFS_FOUND "NO")
|
||||
|
@ -30,15 +30,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(PRODUCER_INCLUDE_DIR Producer/CameraGroup
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{PRODUCER_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(PRODUCER_INCLUDE_DIR Producer/CameraGroup
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -54,16 +50,11 @@ FIND_PATH(PRODUCER_INCLUDE_DIR Producer/CameraGroup
|
||||
|
||||
FIND_LIBRARY(PRODUCER_LIBRARY
|
||||
NAMES Producer
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{PRODUCER_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(PRODUCER_LIBRARY
|
||||
NAMES Producer
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
/usr/local
|
||||
/usr
|
||||
@ -71,7 +62,6 @@ FIND_LIBRARY(PRODUCER_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(PRODUCER_FOUND "NO")
|
||||
|
@ -20,6 +20,19 @@
|
||||
# QT_WRAP_CPP, set true if QT_MOC_EXECUTABLE is found
|
||||
# QT_WRAP_UI set true if QT_UIC_EXECUTABLE is found
|
||||
|
||||
# If Qt4 has already been found, fail.
|
||||
IF(QT4_FOUND)
|
||||
IF(Qt3_FIND_REQUIRED)
|
||||
MESSAGE( FATAL_ERROR "Qt3 and Qt4 cannot be used together in one project.")
|
||||
ELSE(Qt3_FIND_REQUIRED)
|
||||
IF(NOT Qt3_FIND_QUIETLY)
|
||||
MESSAGE( STATUS "Qt3 and Qt4 cannot be used together in one project.")
|
||||
ENDIF(NOT Qt3_FIND_QUIETLY)
|
||||
RETURN()
|
||||
ENDIF(Qt3_FIND_REQUIRED)
|
||||
ENDIF(QT4_FOUND)
|
||||
|
||||
|
||||
FILE(GLOB GLOB_PATHS_BIN /usr/lib/qt-3*/bin/)
|
||||
FIND_PATH(QT_INCLUDE_DIR qt.h
|
||||
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt"
|
||||
@ -34,13 +47,12 @@ FIND_PATH(QT_INCLUDE_DIR qt.h
|
||||
/usr/share/qt3/include
|
||||
C:/Progra~1/qt/include
|
||||
/usr/include/qt3
|
||||
/usr/X11R6/include
|
||||
)
|
||||
|
||||
# if qglobal.h is not in the qt_include_dir then set
|
||||
# QT_INCLUDE_DIR to NOTFOUND
|
||||
IF(NOT EXISTS ${QT_INCLUDE_DIR}/qglobal.h)
|
||||
SET(QT_INCLUDE_DIR QT_INCLUDE_DIR-NOTFOUND CACHE PATH "path to qt3 include directory" FORCE)
|
||||
SET(QT_INCLUDE_DIR QT_INCLUDE_DIR-NOTFOUND CACHE PATH "path to Qt3 include directory" FORCE)
|
||||
ENDIF(NOT EXISTS ${QT_INCLUDE_DIR}/qglobal.h)
|
||||
|
||||
IF(QT_INCLUDE_DIR)
|
||||
@ -52,7 +64,6 @@ IF(QT_INCLUDE_DIR)
|
||||
# Under windows the qt library (MSVC) has the format qt-mtXYZ where XYZ is the
|
||||
# version X.Y.Z, so we need to remove the dots from version
|
||||
STRING(REGEX REPLACE "\\." "" qt_version_str_lib "${qt_version_str}")
|
||||
ELSE(QT_INCLUDE_DIR)
|
||||
ENDIF(QT_INCLUDE_DIR)
|
||||
|
||||
FILE(GLOB GLOB_PATHS_LIB /usr/lib/qt-3*/lib/)
|
||||
@ -73,7 +84,6 @@ IF (QT_MT_REQUIRED)
|
||||
/usr/lib/qt3/lib64
|
||||
/usr/share/qt3/lib
|
||||
C:/Progra~1/qt/lib
|
||||
/usr/X11R6/lib
|
||||
)
|
||||
|
||||
ELSE (QT_MT_REQUIRED)
|
||||
@ -94,14 +104,9 @@ ELSE (QT_MT_REQUIRED)
|
||||
/usr/lib/qt3/lib64
|
||||
/usr/share/qt3/lib
|
||||
C:/Progra~1/qt/lib
|
||||
/usr/X11R6/lib
|
||||
)
|
||||
ENDIF (QT_MT_REQUIRED)
|
||||
|
||||
IF(QT_QT_LIBRARY)
|
||||
ELSE(QT_QT_LIBRARY)
|
||||
ENDIF(QT_QT_LIBRARY)
|
||||
|
||||
|
||||
FIND_LIBRARY(QT_QASSISTANTCLIENT_LIBRARY
|
||||
NAMES qassistantclient
|
||||
@ -116,19 +121,13 @@ FIND_LIBRARY(QT_QASSISTANTCLIENT_LIBRARY
|
||||
/usr/lib/qt3/lib64
|
||||
/usr/share/qt3/lib
|
||||
C:/Progra~1/qt/lib
|
||||
/usr/X11R6/lib
|
||||
)
|
||||
|
||||
# qt 3 should prefer QTDIR over the PATH
|
||||
FIND_PROGRAM(QT_MOC_EXECUTABLE
|
||||
NAMES moc moc-qt3
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{QTDIR}/bin
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
FIND_PROGRAM(QT_MOC_EXECUTABLE
|
||||
NAMES moc moc-qt3
|
||||
PATHS
|
||||
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt"
|
||||
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
|
||||
@ -145,20 +144,16 @@ FIND_PROGRAM(QT_MOC_EXECUTABLE
|
||||
|
||||
IF(QT_MOC_EXECUTABLE)
|
||||
SET ( QT_WRAP_CPP "YES")
|
||||
ELSE(QT_MOC_EXECUTABLE)
|
||||
ENDIF(QT_MOC_EXECUTABLE)
|
||||
|
||||
# qt 3 should prefer QTDIR over the PATH
|
||||
FIND_PROGRAM(QT_UIC_EXECUTABLE uic
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{QTDIR}/bin
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
FIND_PROGRAM(QT_UIC_EXECUTABLE uic
|
||||
PATHS
|
||||
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt"
|
||||
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt"
|
||||
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/include/Qt"
|
||||
$ENV{QTDIR}/bin
|
||||
${GLOB_PATHS_BIN}
|
||||
/usr/local/qt/bin
|
||||
/usr/lib/qt/bin
|
||||
@ -170,7 +165,6 @@ FIND_PROGRAM(QT_UIC_EXECUTABLE uic
|
||||
|
||||
IF(QT_UIC_EXECUTABLE)
|
||||
SET ( QT_WRAP_UI "YES")
|
||||
ELSE(QT_UIC_EXECUTABLE)
|
||||
ENDIF(QT_UIC_EXECUTABLE)
|
||||
|
||||
IF (WIN32)
|
||||
@ -194,7 +188,7 @@ IF (QT_MIN_VERSION)
|
||||
#now parse the parts of the user given version string into variables
|
||||
STRING(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+$" req_qt_major_vers "${QT_MIN_VERSION}")
|
||||
IF (NOT req_qt_major_vers)
|
||||
MESSAGE( FATAL_ERROR "Invalid Qt version string given: \"${QT_MIN_VERSION}\", expected e.g. \"3.1.5\"")
|
||||
error_message( "Invalid Qt version string given: \"${QT_MIN_VERSION}\", expected e.g. \"3.1.5\"")
|
||||
ENDIF (NOT req_qt_major_vers)
|
||||
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" req_qt_major_vers "${QT_MIN_VERSION}")
|
||||
@ -202,21 +196,28 @@ IF (QT_MIN_VERSION)
|
||||
STRING(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" req_qt_patch_vers "${QT_MIN_VERSION}")
|
||||
|
||||
# req = "6.5.4", qt = "3.2.1"
|
||||
MACRO(error_message msg)
|
||||
IF(QT3_REQUIRED)
|
||||
MESSAGE( FATAL_ERROR ${msg})
|
||||
ELSE(QT3_REQUIRED)
|
||||
MESSAGE( STATUS ${msg})
|
||||
ENDIF(QT3_REQUIRED)
|
||||
ENDMACRO(error_message)
|
||||
|
||||
IF (req_qt_major_vers GREATER qt_major_vers) # (6 > 3) ?
|
||||
MESSAGE( FATAL_ERROR "Qt major version not matched (required: ${QT_MIN_VERSION}, found: ${qt_version_str})") # yes
|
||||
ERROR_MESSAGE( "Qt major version not matched (required: ${QT_MIN_VERSION}, found: ${qt_version_str})") # yes
|
||||
ELSE (req_qt_major_vers GREATER qt_major_vers) # no
|
||||
IF (req_qt_major_vers LESS qt_major_vers) # (6 < 3) ?
|
||||
SET( QT_VERSION_BIG_ENOUGH "YES" ) # yes
|
||||
ELSE (req_qt_major_vers LESS qt_major_vers) # ( 6==3) ?
|
||||
IF (req_qt_minor_vers GREATER qt_minor_vers) # (5>2) ?
|
||||
MESSAGE( FATAL_ERROR "Qt minor version not matched (required: ${QT_MIN_VERSION}, found: ${qt_version_str})") # yes
|
||||
ERROR_MESSAGE( "Qt minor version not matched (required: ${QT_MIN_VERSION}, found: ${qt_version_str})") # yes
|
||||
ELSE (req_qt_minor_vers GREATER qt_minor_vers) # no
|
||||
IF (req_qt_minor_vers LESS qt_minor_vers) # (5<2) ?
|
||||
SET( QT_VERSION_BIG_ENOUGH "YES" ) # yes
|
||||
ELSE (req_qt_minor_vers LESS qt_minor_vers) # (5==2)
|
||||
IF (req_qt_patch_vers GREATER qt_patch_vers) # (4>1) ?
|
||||
MESSAGE( FATAL_ERROR "Qt patch level not matched (required: ${QT_MIN_VERSION}, found: ${qt_version_str})") # yes
|
||||
ERROR_MESSAGE( "Qt patch level not matched (required: ${QT_MIN_VERSION}, found: ${qt_version_str})") # yes
|
||||
ELSE (req_qt_patch_vers GREATER qt_patch_vers) # (4>1) ?
|
||||
SET( QT_VERSION_BIG_ENOUGH "YES" ) # yes
|
||||
ENDIF (req_qt_patch_vers GREATER qt_patch_vers) # (4>1) ?
|
||||
@ -227,11 +228,9 @@ IF (QT_MIN_VERSION)
|
||||
ENDIF (QT_MIN_VERSION)
|
||||
|
||||
# if the include a library are found then we have it
|
||||
IF(QT_INCLUDE_DIR)
|
||||
IF(QT_QT_LIBRARY)
|
||||
SET( QT_FOUND "YES" )
|
||||
ENDIF(QT_QT_LIBRARY)
|
||||
ENDIF(QT_INCLUDE_DIR)
|
||||
IF(QT_INCLUDE_DIR AND QT_QT_LIBRARY)
|
||||
SET( QT_FOUND "YES" )
|
||||
ENDIF(QT_INCLUDE_DIR AND QT_QT_LIBRARY)
|
||||
|
||||
IF(QT_FOUND)
|
||||
SET( QT_LIBRARIES ${QT_LIBRARIES} ${QT_QT_LIBRARY} )
|
||||
@ -294,18 +293,14 @@ IF("${QTVERSION_MOC}" MATCHES ".* 3..*")
|
||||
ENDIF("${QTVERSION_MOC}" MATCHES ".* 3..*")
|
||||
|
||||
SET(QT_WRAP_CPP FALSE)
|
||||
IF (QT_MOC_EXECUTABLE)
|
||||
IF(_QT_MOC_VERSION_3)
|
||||
SET ( QT_WRAP_CPP TRUE)
|
||||
ENDIF(_QT_MOC_VERSION_3)
|
||||
ENDIF (QT_MOC_EXECUTABLE)
|
||||
IF (QT_MOC_EXECUTABLE AND _QT_MOC_VERSION_3)
|
||||
SET ( QT_WRAP_CPP TRUE)
|
||||
ENDIF (QT_MOC_EXECUTABLE AND _QT_MOC_VERSION_3)
|
||||
|
||||
SET(QT_WRAP_UI FALSE)
|
||||
IF (QT_UIC_EXECUTABLE)
|
||||
IF(_QT_UIC_VERSION_3)
|
||||
SET ( QT_WRAP_UI TRUE)
|
||||
ENDIF(_QT_UIC_VERSION_3)
|
||||
ENDIF (QT_UIC_EXECUTABLE)
|
||||
IF (QT_UIC_EXECUTABLE AND _QT_UIC_VERSION_3)
|
||||
SET ( QT_WRAP_UI TRUE)
|
||||
ENDIF (QT_UIC_EXECUTABLE AND _QT_UIC_VERSION_3)
|
||||
|
||||
MARK_AS_ADVANCED(
|
||||
QT_INCLUDE_DIR
|
||||
|
@ -48,8 +48,9 @@
|
||||
#
|
||||
# macro QT4_WRAP_CPP(outfiles inputfile ... OPTIONS ...)
|
||||
# create moc code from a list of files containing Qt class with
|
||||
# the Q_OBJECT declaration. Options may be given to moc, such as those found
|
||||
# when executing "moc -help"
|
||||
# the Q_OBJECT declaration. Per-direcotry preprocessor definitions
|
||||
# are also added. Options may be given to moc, such as those found
|
||||
# when executing "moc -help".
|
||||
#
|
||||
# macro QT4_WRAP_UI(outfiles inputfile ... OPTIONS ...)
|
||||
# create code from a list of Qt designer ui files.
|
||||
@ -102,11 +103,14 @@
|
||||
# interface file is constructed from the basename of the header with
|
||||
# the suffix .xml appended.
|
||||
#
|
||||
# macro QT4_CREATE_TRANSLATION( qm_files sources ... ts_files ... )
|
||||
# macro QT4_CREATE_TRANSLATION( qm_files directories ... sources ...
|
||||
# ts_files ... OPTIONS ...)
|
||||
# out: qm_files
|
||||
# in: sources ts_files
|
||||
# in: directories sources ts_files
|
||||
# options: flags to pass to lupdate, such as -extensions to specify
|
||||
# extensions for a directory scan.
|
||||
# generates commands to create .ts (vie lupdate) and .qm
|
||||
# (via lrelease) - files from sources. The ts files are
|
||||
# (via lrelease) - files from directories and/or sources. The ts files are
|
||||
# created and/or updated in the source tree (unless given with full paths).
|
||||
# The qm files are generated in the build tree.
|
||||
# Updating the translations can be done by adding the qm_files
|
||||
@ -256,6 +260,19 @@
|
||||
# (They make no sense in Qt4)
|
||||
# QT_QT_LIBRARY Qt-Library is now split
|
||||
|
||||
# If Qt3 has already been found, fail.
|
||||
IF(QT_QT_LIBRARY)
|
||||
IF(Qt4_FIND_REQUIRED)
|
||||
MESSAGE( FATAL_ERROR "Qt3 and Qt4 cannot be used together in one project.")
|
||||
ELSE(Qt4_FIND_REQUIRED)
|
||||
IF(NOT Qt4_FIND_QUIETLY)
|
||||
MESSAGE( STATUS "Qt3 and Qt4 cannot be used together in one project.")
|
||||
ENDIF(NOT Qt4_FIND_QUIETLY)
|
||||
RETURN()
|
||||
ENDIF(Qt4_FIND_REQUIRED)
|
||||
ENDIF(QT_QT_LIBRARY)
|
||||
|
||||
|
||||
INCLUDE(CheckSymbolExists)
|
||||
INCLUDE(MacroAddFileDependencies)
|
||||
|
||||
@ -267,6 +284,7 @@ SET(QT4_INSTALLED_VERSION_TOO_OLD FALSE)
|
||||
|
||||
# macro for asking qmake to process pro files
|
||||
MACRO(QT_QUERY_QMAKE outvar invar)
|
||||
IF(QT_QMAKE_EXECUTABLE)
|
||||
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmpQmake/tmp.pro
|
||||
"message(CMAKE_MESSAGE<$$${invar}>)")
|
||||
|
||||
@ -289,6 +307,7 @@ MACRO(QT_QUERY_QMAKE outvar invar)
|
||||
STRING(REGEX REPLACE ".*CMAKE_MESSAGE<([^>]*).*" "\\1" ${outvar} "${_qmake_query_output}")
|
||||
ENDIF(_qmake_result)
|
||||
|
||||
ENDIF(QT_QMAKE_EXECUTABLE)
|
||||
ENDMACRO(QT_QUERY_QMAKE)
|
||||
|
||||
GET_FILENAME_COMPONENT(qt_install_version "[HKEY_CURRENT_USER\\Software\\trolltech\\Versions;DefaultQtVersion]" NAME)
|
||||
@ -455,6 +474,7 @@ IF (QT4_QMAKE_FOUND)
|
||||
########################################
|
||||
|
||||
FIND_PATH(QT_QTCORE_INCLUDE_DIR QtGlobal
|
||||
PATHS
|
||||
${QT_HEADERS_DIR}/QtCore
|
||||
${QT_LIBRARY_DIR}/QtCore.framework/Headers
|
||||
NO_DEFAULT_PATH
|
||||
@ -471,9 +491,9 @@ IF (QT4_QMAKE_FOUND)
|
||||
ENDIF( QT_QTCORE_INCLUDE_DIR AND NOT QT_INCLUDE_DIR)
|
||||
|
||||
IF( NOT QT_INCLUDE_DIR)
|
||||
IF( NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED)
|
||||
IF(Qt4_FIND_REQUIRED)
|
||||
MESSAGE( FATAL_ERROR "Could NOT find QtGlobal header")
|
||||
ENDIF( NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED)
|
||||
ENDIF(Qt4_FIND_REQUIRED)
|
||||
ENDIF( NOT QT_INCLUDE_DIR)
|
||||
|
||||
#############################################
|
||||
@ -509,10 +529,6 @@ IF (QT4_QMAKE_FOUND)
|
||||
#
|
||||
#############################################
|
||||
|
||||
IF (QT_USE_FRAMEWORKS)
|
||||
SET(QT_DEFINITIONS ${QT_DEFINITIONS} -F${QT_LIBRARY_DIR} -L${QT_LIBRARY_DIR} )
|
||||
ENDIF (QT_USE_FRAMEWORKS)
|
||||
|
||||
# Set QT_QT3SUPPORT_INCLUDE_DIR
|
||||
FIND_PATH(QT_QT3SUPPORT_INCLUDE_DIR Qt3Support
|
||||
PATHS
|
||||
@ -701,11 +717,11 @@ IF (QT4_QMAKE_FOUND)
|
||||
|
||||
# Set QT_QT3SUPPORT_LIBRARY
|
||||
FIND_LIBRARY(QT_QT3SUPPORT_LIBRARY_RELEASE NAMES Qt3Support Qt3Support4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QT3SUPPORT_LIBRARY_DEBUG NAMES Qt3Support_debug Qt3Supportd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QT3SUPPORT_LIBRARY_DEBUG NAMES Qt3Support_debug Qt3Supportd Qt3Supportd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTGUI_LIBRARY
|
||||
FIND_LIBRARY(QT_QTGUI_LIBRARY_RELEASE NAMES QtGui QtGui4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTGUI_LIBRARY_DEBUG NAMES QtGui_debug QtGuid4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTGUI_LIBRARY_DEBUG NAMES QtGui_debug QtGuid QtGuid4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTMOTIF_LIBRARY
|
||||
IF(Q_WS_X11)
|
||||
@ -715,7 +731,7 @@ IF (QT4_QMAKE_FOUND)
|
||||
|
||||
# Set QT_QTNETWORK_LIBRARY
|
||||
FIND_LIBRARY(QT_QTNETWORK_LIBRARY_RELEASE NAMES QtNetwork QtNetwork4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTNETWORK_LIBRARY_DEBUG NAMES QtNetwork_debug QtNetworkd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTNETWORK_LIBRARY_DEBUG NAMES QtNetwork_debug QtNetworkd QtNetworkd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTNSPLUGIN_LIBRARY
|
||||
FIND_LIBRARY(QT_QTNSPLUGIN_LIBRARY_RELEASE NAMES QtNsPlugin PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
@ -723,19 +739,19 @@ IF (QT4_QMAKE_FOUND)
|
||||
|
||||
# Set QT_QTOPENGL_LIBRARY
|
||||
FIND_LIBRARY(QT_QTOPENGL_LIBRARY_RELEASE NAMES QtOpenGL QtOpenGL4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTOPENGL_LIBRARY_DEBUG NAMES QtOpenGL_debug QtOpenGLd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTOPENGL_LIBRARY_DEBUG NAMES QtOpenGL_debug QtOpenGLd QtOpenGLd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTSQL_LIBRARY
|
||||
FIND_LIBRARY(QT_QTSQL_LIBRARY_RELEASE NAMES QtSql QtSql4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTSQL_LIBRARY_DEBUG NAMES QtSql_debug QtSqld4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTSQL_LIBRARY_DEBUG NAMES QtSql_debug QtSqld QtSqld4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTXML_LIBRARY
|
||||
FIND_LIBRARY(QT_QTXML_LIBRARY_RELEASE NAMES QtXml QtXml4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTXML_LIBRARY_DEBUG NAMES QtXml_debug QtXmld4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTXML_LIBRARY_DEBUG NAMES QtXml_debug QtXmld QtXmld4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTSVG_LIBRARY
|
||||
FIND_LIBRARY(QT_QTSVG_LIBRARY_RELEASE NAMES QtSvg QtSvg4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTSVG_LIBRARY_DEBUG NAMES QtSvg_debug QtSvgd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTSVG_LIBRARY_DEBUG NAMES QtSvg_debug QtSvgd QtSvgd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTUITOOLS_LIBRARY
|
||||
FIND_LIBRARY(QT_QTUITOOLS_LIBRARY_RELEASE NAMES QtUiTools QtUiTools4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
@ -747,22 +763,30 @@ IF (QT4_QMAKE_FOUND)
|
||||
|
||||
# Set QT_QTTEST_LIBRARY
|
||||
FIND_LIBRARY(QT_QTTEST_LIBRARY_RELEASE NAMES QtTest QtTest4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTTEST_LIBRARY_DEBUG NAMES QtTest_debug QtTest_debug4 QtTestd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTTEST_LIBRARY_DEBUG NAMES QtTest_debug QtTestd QtTestd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTDBUS_LIBRARY
|
||||
# This was introduced with Qt 4.2, where also the naming scheme for debug libs was changed
|
||||
# So does any of the debug lib names listed here actually exist ?
|
||||
FIND_LIBRARY(QT_QTDBUS_LIBRARY_RELEASE NAMES QtDBus QtDBus4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTDBUS_LIBRARY_DEBUG NAMES QtDBus_debug QtDBus_debug4 QtDBusd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTDBUS_LIBRARY_DEBUG NAMES QtDBus_debug QtDBusd QtDBusd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTSCRIPT_LIBRARY
|
||||
FIND_LIBRARY(QT_QTSCRIPT_LIBRARY_RELEASE NAMES QtScript QtScript4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTSCRIPT_LIBRARY_DEBUG NAMES QtScript_debug QtScriptd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTSCRIPT_LIBRARY_DEBUG NAMES QtScript_debug QtScriptd QtScriptd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
IF( NOT QT_QTCORE_LIBRARY_DEBUG AND NOT QT_QTCORE_LIBRARY_RELEASE )
|
||||
IF( NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED)
|
||||
|
||||
# try dropping a hint if trying to use Visual Studio with Qt built by mingw
|
||||
IF(QT_LIBRARY_DIR AND MSVC)
|
||||
IF(EXISTS ${QT_LIBRARY_DIR}/libqtmain.a)
|
||||
MESSAGE( FATAL_ERROR "It appears you're trying to use Visual Studio with Qt built by mingw")
|
||||
ENDIF(EXISTS ${QT_LIBRARY_DIR}/libqtmain.a)
|
||||
ENDIF(QT_LIBRARY_DIR AND MSVC)
|
||||
|
||||
IF(Qt4_FIND_REQUIRED)
|
||||
MESSAGE( FATAL_ERROR "Could NOT find QtCore. Check ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log for more details.")
|
||||
ENDIF( NOT Qt4_FIND_QUIETLY AND Qt4_FIND_REQUIRED)
|
||||
ENDIF(Qt4_FIND_REQUIRED)
|
||||
ENDIF( NOT QT_QTCORE_LIBRARY_DEBUG AND NOT QT_QTCORE_LIBRARY_RELEASE )
|
||||
|
||||
# Set QT_QTASSISTANT_LIBRARY
|
||||
@ -771,11 +795,11 @@ IF (QT4_QMAKE_FOUND)
|
||||
|
||||
# Set QT_QTDESIGNER_LIBRARY
|
||||
FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_RELEASE NAMES QtDesigner QtDesigner4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_DEBUG NAMES QtDesigner_debug QtDesignerd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_DEBUG NAMES QtDesigner_debug QtDesignerd QtDesignerd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTDESIGNERCOMPONENTS_LIBRARY
|
||||
FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NAMES QtDesignerComponents QtDesignerComponents4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NAMES QtDesignerComponents_debug QtDesignerComponentsd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NAMES QtDesignerComponents_debug QtDesignerComponentsd QtDesignerComponentsd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTMAIN_LIBRARY
|
||||
IF(WIN32)
|
||||
@ -787,25 +811,29 @@ IF (QT4_QMAKE_FOUND)
|
||||
|
||||
# Set QT_QTASSISTANTCLIENT_LIBRARY
|
||||
FIND_LIBRARY(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NAMES QtAssistantClient QtAssistantClient4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG NAMES QtAssistantClient_debug QtAssistantClientd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG NAMES QtAssistantClient_debug QtAssistantClientd QtAssistantClientd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTHELP_LIBRARY
|
||||
FIND_LIBRARY(QT_QTHELP_LIBRARY_RELEASE NAMES QtHelp QtHelp4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTHELP_LIBRARY_DEBUG NAMES QtHelp_debug QtHelpd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTHELP_LIBRARY_DEBUG NAMES QtHelp_debug QtHelpd QtHelpd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene QtCLucene4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTCLUCENE_LIBRARY_DEBUG NAMES QtCLucene_debug QtCLucened4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTCLUCENE_LIBRARY_DEBUG NAMES QtCLucene_debug QtCLucened QtCLucened4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
# QtCLucene not with other frameworks with binary installation (in /usr/lib)
|
||||
IF(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCLUCENE_LIBRARY_RELEASE)
|
||||
FIND_LIBRARY(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene PATHS ${QT_LIBRARY_DIR})
|
||||
ENDIF(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCLUCENE_LIBRARY_RELEASE)
|
||||
|
||||
# Set QT_QTWEBKIT_LIBRARY
|
||||
FIND_LIBRARY(QT_QTWEBKIT_LIBRARY_RELEASE NAMES QtWebKit QtWebKit4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTWEBKIT_LIBRARY_DEBUG NAMES QtWebKit_debug QtWebKitd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTWEBKIT_LIBRARY_DEBUG NAMES QtWebKit_debug QtWebKitd QtWebKitd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_QTXMLPATTERNS_LIBRARY
|
||||
FIND_LIBRARY(QT_QTXMLPATTERNS_LIBRARY_RELEASE NAMES QtXmlPatterns QtXmlPatterns4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTXMLPATTERNS_LIBRARY_DEBUG NAMES QtXmlPatterns_debug QtXmlPatternsd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_QTXMLPATTERNS_LIBRARY_DEBUG NAMES QtXmlPatterns_debug QtXmlPatternsd QtXmlPatternsd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
# Set QT_PHONON_LIBRARY
|
||||
FIND_LIBRARY(QT_PHONON_LIBRARY_RELEASE NAMES phonon phonon4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_PHONON_LIBRARY_DEBUG NAMES phonon_debug phonond4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
FIND_LIBRARY(QT_PHONON_LIBRARY_DEBUG NAMES phonon_debug phonond phonond4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
|
||||
|
||||
############################################
|
||||
#
|
||||
@ -1006,24 +1034,34 @@ IF (QT4_QMAKE_FOUND)
|
||||
FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
|
||||
ENDIF(CMAKE_CURRENT_BINARY_DIR MATCHES "${_checkinfile}")
|
||||
SET(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${rel}")
|
||||
STRING(REPLACE ".." "__" _outfile ${_outfile})
|
||||
GET_FILENAME_COMPONENT(outpath ${_outfile} PATH)
|
||||
GET_FILENAME_COMPONENT(_outfile ${_outfile} NAME_WE)
|
||||
FILE(MAKE_DIRECTORY ${outpath})
|
||||
SET(${outfile} ${outpath}/${prefix}${_outfile}.${ext})
|
||||
ENDMACRO (QT4_MAKE_OUTPUT_FILE )
|
||||
|
||||
MACRO (QT4_GET_MOC_INC_DIRS _moc_INC_DIRS)
|
||||
SET(${_moc_INC_DIRS})
|
||||
MACRO (QT4_GET_MOC_FLAGS _moc_flags)
|
||||
SET(${_moc_flags})
|
||||
GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
|
||||
|
||||
FOREACH(_current ${_inc_DIRS})
|
||||
SET(${_moc_INC_DIRS} ${${_moc_INC_DIRS}} "-I" ${_current})
|
||||
SET(${_moc_flags} ${${_moc_flags}} "-I${_current}")
|
||||
ENDFOREACH(_current ${_inc_DIRS})
|
||||
|
||||
GET_DIRECTORY_PROPERTY(_defines COMPILE_DEFINITIONS)
|
||||
FOREACH(_current ${_defines})
|
||||
SET(${_moc_flags} ${${_moc_flags}} "-D${_current}")
|
||||
ENDFOREACH(_current ${_defines})
|
||||
|
||||
ENDMACRO(QT4_GET_MOC_INC_DIRS)
|
||||
IF(Q_WS_WIN)
|
||||
SET(${_moc_flags} ${${_moc_flags}} -DWIN32)
|
||||
ENDIF(Q_WS_WIN)
|
||||
|
||||
ENDMACRO(QT4_GET_MOC_FLAGS)
|
||||
|
||||
# helper macro to set up a moc rule
|
||||
MACRO (QT4_CREATE_MOC_COMMAND infile outfile moc_includes moc_options)
|
||||
MACRO (QT4_CREATE_MOC_COMMAND infile outfile moc_flags moc_options)
|
||||
# For Windows, create a parameters file to work around command line length limit
|
||||
IF (WIN32)
|
||||
# Pass the parameters in a file. Set the working directory to
|
||||
@ -1037,7 +1075,7 @@ IF (QT4_QMAKE_FOUND)
|
||||
SET(_moc_working_dir WORKING_DIRECTORY ${_moc_outfile_dir})
|
||||
ENDIF(_moc_outfile_dir)
|
||||
SET (_moc_parameters_file ${outfile}_parameters)
|
||||
SET (_moc_parameters ${moc_includes} ${moc_options} -o "${outfile}" "${infile}")
|
||||
SET (_moc_parameters ${moc_flags} ${moc_options} -o "${outfile}" "${infile}")
|
||||
FILE (REMOVE ${_moc_parameters_file})
|
||||
FOREACH(arg ${_moc_parameters})
|
||||
FILE (APPEND ${_moc_parameters_file} "${arg}\n")
|
||||
@ -1050,16 +1088,16 @@ IF (QT4_QMAKE_FOUND)
|
||||
ELSE (WIN32)
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
|
||||
COMMAND ${QT_MOC_EXECUTABLE}
|
||||
ARGS ${moc_includes} ${moc_options} -o ${outfile} ${infile}
|
||||
ARGS ${moc_flags} ${moc_options} -o ${outfile} ${infile}
|
||||
DEPENDS ${infile})
|
||||
ENDIF (WIN32)
|
||||
ENDMACRO (QT4_CREATE_MOC_COMMAND)
|
||||
|
||||
|
||||
MACRO (QT4_GENERATE_MOC infile outfile )
|
||||
QT4_GET_MOC_INC_DIRS(moc_includes)
|
||||
QT4_GET_MOC_FLAGS(moc_flags)
|
||||
GET_FILENAME_COMPONENT(abs_infile ${infile} ABSOLUTE)
|
||||
QT4_CREATE_MOC_COMMAND(${abs_infile} ${outfile} "${moc_includes}" "")
|
||||
QT4_CREATE_MOC_COMMAND(${abs_infile} ${outfile} "${moc_flags}" "")
|
||||
SET_SOURCE_FILES_PROPERTIES(${outfile} PROPERTIES SKIP_AUTOMOC TRUE) # dont run automoc on this file
|
||||
ENDMACRO (QT4_GENERATE_MOC)
|
||||
|
||||
@ -1068,13 +1106,13 @@ IF (QT4_QMAKE_FOUND)
|
||||
|
||||
MACRO (QT4_WRAP_CPP outfiles )
|
||||
# get include dirs
|
||||
QT4_GET_MOC_INC_DIRS(moc_includes)
|
||||
QT4_GET_MOC_FLAGS(moc_flags)
|
||||
QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
|
||||
|
||||
FOREACH (it ${moc_files})
|
||||
GET_FILENAME_COMPONENT(it ${it} ABSOLUTE)
|
||||
QT4_MAKE_OUTPUT_FILE(${it} moc_ cxx outfile)
|
||||
QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_includes}" "${moc_options}")
|
||||
QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}")
|
||||
SET(${outfiles} ${${outfiles}} ${outfile})
|
||||
ENDFOREACH(it)
|
||||
|
||||
@ -1218,7 +1256,7 @@ IF (QT4_QMAKE_FOUND)
|
||||
ENDMACRO(QT4_ADD_DBUS_ADAPTOR)
|
||||
|
||||
MACRO(QT4_AUTOMOC)
|
||||
QT4_GET_MOC_INC_DIRS(_moc_INCS)
|
||||
QT4_GET_MOC_FLAGS(_moc_INCS)
|
||||
|
||||
SET(_matching_FILES )
|
||||
FOREACH (_current_FILE ${ARGN})
|
||||
@ -1255,9 +1293,12 @@ IF (QT4_QMAKE_FOUND)
|
||||
ENDMACRO(QT4_AUTOMOC)
|
||||
|
||||
MACRO(QT4_CREATE_TRANSLATION _qm_files)
|
||||
QT4_EXTRACT_OPTIONS(_lupdate_files _lupdate_options ${ARGN})
|
||||
MESSAGE("lupdate_files ${_lupdate_files}")
|
||||
MESSAGE("lupdate_options ${_lupdate_options}")
|
||||
SET(_my_sources)
|
||||
SET(_my_tsfiles)
|
||||
FOREACH (_file ${ARGN})
|
||||
FOREACH (_file ${_lupdate_files})
|
||||
GET_FILENAME_COMPONENT(_ext ${_file} EXT)
|
||||
GET_FILENAME_COMPONENT(_abs_FILE ${_file} ABSOLUTE)
|
||||
IF(_ext MATCHES "ts")
|
||||
@ -1269,7 +1310,7 @@ IF (QT4_QMAKE_FOUND)
|
||||
FOREACH(_ts_file ${_my_tsfiles})
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${_ts_file}
|
||||
COMMAND ${QT_LUPDATE_EXECUTABLE}
|
||||
ARGS ${_my_sources} -ts ${_ts_file}
|
||||
ARGS ${_lupdate_options} ${_my_sources} -ts ${_ts_file}
|
||||
DEPENDS ${_my_sources})
|
||||
ENDFOREACH(_ts_file)
|
||||
QT4_ADD_TRANSLATION(${_qm_files} ${_my_tsfiles})
|
||||
@ -1301,18 +1342,22 @@ IF (QT4_QMAKE_FOUND)
|
||||
######################################
|
||||
|
||||
# if the includes,libraries,moc,uic and rcc are found then we have it
|
||||
IF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
|
||||
IF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND
|
||||
QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE AND QT_QTCORE_LIBRARY)
|
||||
SET( QT4_FOUND "YES" )
|
||||
INCLUDE(FindPackageMessage)
|
||||
FIND_PACKAGE_MESSAGE(Qt4 "Found Qt-Version ${QTVERSION}"
|
||||
"[${QT_LIBRARY_DIR}][${QT_INCLUDE_DIR}][${QT_MOC_EXECUTABLE}][${QT_UIC_EXECUTABLE}][${QT_RCC_EXECUTABLE}]")
|
||||
ELSE( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
|
||||
ELSE( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND
|
||||
QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE AND QT_QTCORE_LIBRARY)
|
||||
SET( QT4_FOUND "NO")
|
||||
SET(QT_QMAKE_EXECUTABLE "${QT_QMAKE_EXECUTABLE}-NOTFOUND" CACHE FILEPATH "Invalid qmake found" FORCE)
|
||||
IF( Qt4_FIND_REQUIRED)
|
||||
MESSAGE( FATAL_ERROR "Qt libraries, includes, moc, uic or/and rcc NOT found!")
|
||||
ENDIF( Qt4_FIND_REQUIRED)
|
||||
ENDIF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE)
|
||||
ENDIF( QT_LIBRARY_DIR AND QT_INCLUDE_DIR AND QT_MOC_EXECUTABLE AND
|
||||
QT_UIC_EXECUTABLE AND QT_RCC_EXECUTABLE AND QT_QTCORE_LIBRARY)
|
||||
|
||||
SET(QT_FOUND ${QT4_FOUND})
|
||||
|
||||
|
||||
@ -1323,9 +1368,9 @@ IF (QT4_QMAKE_FOUND)
|
||||
#######################################
|
||||
IF(EXISTS "${QT_MKSPECS_DIR}/qconfig.pri")
|
||||
FILE(READ ${QT_MKSPECS_DIR}/qconfig.pri _qconfig_FILE_contents)
|
||||
STRING(REGEX MATCH "QT_CONFIG[^\n]+" QT_QCONFIG ${_qconfig_FILE_contents})
|
||||
STRING(REGEX MATCH "CONFIG[^\n]+" QT_CONFIG ${_qconfig_FILE_contents})
|
||||
STRING(REGEX MATCH "EDITION[^\n]+" QT_EDITION ${_qconfig_FILE_contents})
|
||||
STRING(REGEX MATCH "QT_CONFIG[^\n]+" QT_QCONFIG "${_qconfig_FILE_contents}")
|
||||
STRING(REGEX MATCH "CONFIG[^\n]+" QT_CONFIG "${_qconfig_FILE_contents}")
|
||||
STRING(REGEX MATCH "EDITION[^\n]+" QT_EDITION "${_qconfig_FILE_contents}")
|
||||
ENDIF(EXISTS "${QT_MKSPECS_DIR}/qconfig.pri")
|
||||
IF("${QT_EDITION}" MATCHES "DesktopLight")
|
||||
SET(QT_EDITION_DESKTOPLIGHT 1)
|
||||
@ -1337,6 +1382,13 @@ IF (QT4_QMAKE_FOUND)
|
||||
# configuration/system dependent settings
|
||||
#
|
||||
###############################################
|
||||
|
||||
# find dependencies for some Qt modules
|
||||
# when doing builds against a static Qt, they are required
|
||||
# when doing builds against a shared Qt, they are sometimes not required
|
||||
# even some Linux distros do not require these dependencies
|
||||
# if a user needs the dependencies, and they couldn't be found, they can set
|
||||
# the variables themselves.
|
||||
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES "")
|
||||
SET(QT_QTCORE_LIB_DEPENDENCIES "")
|
||||
@ -1359,8 +1411,10 @@ IF (QT4_QMAKE_FOUND)
|
||||
## system png
|
||||
IF(QT_QCONFIG MATCHES "system-png")
|
||||
FIND_LIBRARY(QT_PNG_LIBRARY NAMES png)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_PNG_LIBRARY})
|
||||
MARK_AS_ADVANCED(QT_PNG_LIBRARY)
|
||||
IF(QT_PNG_LIBRARY)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_PNG_LIBRARY})
|
||||
ENDIF(QT_PNG_LIBRARY)
|
||||
ENDIF(QT_QCONFIG MATCHES "system-png")
|
||||
|
||||
# for X11, get X11 library directory
|
||||
@ -1373,78 +1427,100 @@ IF (QT4_QMAKE_FOUND)
|
||||
# ask qmake where the x11 libs are
|
||||
FIND_LIBRARY(QT_X11_SM_LIBRARY NAMES SM PATHS ${QMAKE_LIBDIR_X11})
|
||||
FIND_LIBRARY(QT_X11_ICE_LIBRARY NAMES ICE PATHS ${QMAKE_LIBDIR_X11})
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_X11_SM_LIBRARY} ${QT_X11_ICE_LIBRARY})
|
||||
MARK_AS_ADVANCED(QT_X11_SM_LIBRARY)
|
||||
MARK_AS_ADVANCED(QT_X11_ICE_LIBRARY)
|
||||
IF(QT_X11_SM_LIBRARY AND QT_X11_ICE_LIBRARY)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_X11_SM_LIBRARY} ${QT_X11_ICE_LIBRARY})
|
||||
ENDIF(QT_X11_SM_LIBRARY AND QT_X11_ICE_LIBRARY)
|
||||
ENDIF(QT_QCONFIG MATCHES "x11sm")
|
||||
|
||||
## Xi
|
||||
IF(QT_QCONFIG MATCHES "tablet")
|
||||
FIND_LIBRARY(QT_XI_LIBRARY NAMES Xi PATHS ${QMAKE_LIBDIR_X11})
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XI_LIBRARY})
|
||||
MARK_AS_ADVANCED(QT_XI_LIBRARY)
|
||||
IF(QT_XI_LIBRARY)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XI_LIBRARY})
|
||||
ENDIF(QT_XI_LIBRARY)
|
||||
ENDIF(QT_QCONFIG MATCHES "tablet")
|
||||
|
||||
## Xrender
|
||||
IF(QT_QCONFIG MATCHES "xrender")
|
||||
FIND_LIBRARY(QT_XRENDER_LIBRARY NAMES Xrender PATHS ${QMAKE_LIBDIR_X11})
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XRENDER_LIBRARY})
|
||||
MARK_AS_ADVANCED(QT_XRENDER_LIBRARY)
|
||||
IF(QT_XRENDER_LIBRARY)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XRENDER_LIBRARY})
|
||||
ENDIF(QT_XRENDER_LIBRARY)
|
||||
ENDIF(QT_QCONFIG MATCHES "xrender")
|
||||
|
||||
## Xrandr
|
||||
IF(QT_QCONFIG MATCHES "xrandr")
|
||||
FIND_LIBRARY(QT_XRANDR_LIBRARY NAMES Xrandr PATHS ${QMAKE_LIBDIR_X11})
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XRANDR_LIBRARY})
|
||||
MARK_AS_ADVANCED(QT_XRANDR_LIBRARY)
|
||||
IF(QT_XRANDR_LIBRARY)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XRANDR_LIBRARY})
|
||||
ENDIF(QT_XRANDR_LIBRARY)
|
||||
ENDIF(QT_QCONFIG MATCHES "xrandr")
|
||||
|
||||
## Xcursor
|
||||
IF(QT_QCONFIG MATCHES "xcursor")
|
||||
FIND_LIBRARY(QT_XCURSOR_LIBRARY NAMES Xcursor PATHS ${QMAKE_LIBDIR_X11})
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XCURSOR_LIBRARY})
|
||||
MARK_AS_ADVANCED(QT_XCURSOR_LIBRARY)
|
||||
IF(QT_XCURSOR_LIBRARY)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XCURSOR_LIBRARY})
|
||||
ENDIF(QT_XCURSOR_LIBRARY)
|
||||
ENDIF(QT_QCONFIG MATCHES "xcursor")
|
||||
|
||||
## Xinerama
|
||||
IF(QT_QCONFIG MATCHES "xinerama")
|
||||
FIND_LIBRARY(QT_XINERAMA_LIBRARY NAMES Xinerama PATHS ${QMAKE_LIBDIR_X11})
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XINERAMA_LIBRARY})
|
||||
MARK_AS_ADVANCED(QT_XINERAMA_LIBRARY)
|
||||
IF(QT_XINERAMA_LIBRARY)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XINERAMA_LIBRARY})
|
||||
ENDIF(QT_XINERAMA_LIBRARY)
|
||||
ENDIF(QT_QCONFIG MATCHES "xinerama")
|
||||
|
||||
## Xfixes
|
||||
IF(QT_QCONFIG MATCHES "xfixes")
|
||||
FIND_LIBRARY(QT_XFIXES_LIBRARY NAMES Xfixes PATHS ${QMAKE_LIBDIR_X11})
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XFIXES_LIBRARY})
|
||||
MARK_AS_ADVANCED(QT_XFIXES_LIBRARY)
|
||||
IF(QT_XFIXES_LIBRARY)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_XFIXES_LIBRARY})
|
||||
ENDIF(QT_XFIXES_LIBRARY)
|
||||
ENDIF(QT_QCONFIG MATCHES "xfixes")
|
||||
|
||||
## system-freetype
|
||||
IF(QT_QCONFIG MATCHES "system-freetype")
|
||||
FIND_LIBRARY(QT_FREETYPE_LIBRARY NAMES freetype)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_FREETYPE_LIBRARY})
|
||||
MARK_AS_ADVANCED(QT_FREETYPE_LIBRARY)
|
||||
IF(QT_FREETYPE_LIBRARY)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_FREETYPE_LIBRARY})
|
||||
ENDIF(QT_FREETYPE_LIBRARY)
|
||||
ENDIF(QT_QCONFIG MATCHES "system-freetype")
|
||||
|
||||
## fontconfig
|
||||
IF(QT_QCONFIG MATCHES "fontconfig")
|
||||
FIND_LIBRARY(QT_FONTCONFIG_LIBRARY NAMES fontconfig)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_FONTCONFIG_LIBRARY})
|
||||
MARK_AS_ADVANCED(QT_FONTCONFIG_LIBRARY)
|
||||
IF(QT_FONTCONFIG_LIBRARY)
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_FONTCONFIG_LIBRARY})
|
||||
ENDIF(QT_FONTCONFIG_LIBRARY)
|
||||
ENDIF(QT_QCONFIG MATCHES "fontconfig")
|
||||
|
||||
## system-zlib
|
||||
IF(QT_QCONFIG MATCHES "system-zlib")
|
||||
FIND_LIBRARY(QT_ZLIB_LIBRARY NAMES z)
|
||||
SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${QT_ZLIB_LIBRARY})
|
||||
MARK_AS_ADVANCED(QT_ZLIB_LIBRARY)
|
||||
IF(QT_ZLIB_LIBRARY)
|
||||
SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${QT_ZLIB_LIBRARY})
|
||||
ENDIF(QT_ZLIB_LIBRARY)
|
||||
ENDIF(QT_QCONFIG MATCHES "system-zlib")
|
||||
|
||||
## openssl
|
||||
IF(QT_QCONFIG MATCHES "openssl" AND NOT Q_WS_WIN)
|
||||
FIND_PACKAGE(OpenSSL)
|
||||
SET(QT_QTNETWORK_LIB_DEPENDENCIES ${QT_QTNETWORK_LIB_DEPENDENCIES} ${OPENSSL_LIBRARIES})
|
||||
IF(OPENSSL_LIBRARIES)
|
||||
SET(QT_QTNETWORK_LIB_DEPENDENCIES ${QT_QTNETWORK_LIB_DEPENDENCIES} ${OPENSSL_LIBRARIES})
|
||||
ENDIF(OPENSSL_LIBRARIES)
|
||||
ENDIF(QT_QCONFIG MATCHES "openssl" AND NOT Q_WS_WIN)
|
||||
|
||||
## qdbus
|
||||
@ -1517,8 +1593,10 @@ IF (QT4_QMAKE_FOUND)
|
||||
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
|
||||
IF(QT_POSIX_TIMERS)
|
||||
FIND_LIBRARY(QT_RT_LIBRARY NAMES rt)
|
||||
SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${QT_RT_LIBRARY})
|
||||
MARK_AS_ADVANCED(QT_RT_LIBRARY)
|
||||
IF(QT_RT_LIBRARY)
|
||||
SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${QT_RT_LIBRARY})
|
||||
ENDIF(QT_RT_LIBRARY)
|
||||
ENDIF(QT_POSIX_TIMERS)
|
||||
ENDIF(QT_QCONFIG MATCHES "clock-monotonic")
|
||||
|
||||
@ -1530,8 +1608,10 @@ IF (QT4_QMAKE_FOUND)
|
||||
STRING(REGEX REPLACE "-l" "" QT_X11_LIB "${QT_X11_LIB}")
|
||||
SET(QT_TMP_STR "QT_X11_${QT_X11_LIB}_LIBRARY")
|
||||
FIND_LIBRARY(${QT_TMP_STR} NAMES "${QT_X11_LIB}" PATHS ${QMAKE_LIBDIR_X11})
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${${QT_TMP_STR}})
|
||||
MARK_AS_ADVANCED(${QT_TMP_STR})
|
||||
IF(${QT_TMP_STR})
|
||||
SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${${QT_TMP_STR}})
|
||||
ENDIF(${QT_TMP_STR})
|
||||
ENDFOREACH(QT_X11_LIB)
|
||||
|
||||
QT_QUERY_QMAKE(QT_LIBS_THREAD "QMAKE_LIBS_THREAD")
|
||||
|
@ -17,20 +17,15 @@ IF(APPLE)
|
||||
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime)
|
||||
ELSE(APPLE)
|
||||
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime.h
|
||||
HINTS
|
||||
$ENV{QUICKTIME_DIR}/include
|
||||
$ENV{QUICKTIME_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime.h)
|
||||
|
||||
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime
|
||||
HINTS
|
||||
$ENV{QUICKTIME_DIR}/lib
|
||||
$ENV{QUICKTIME_DIR}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime)
|
||||
ENDIF(APPLE)
|
||||
|
||||
SET(QUICKTIME_FOUND "NO")
|
||||
|
@ -53,13 +53,9 @@
|
||||
# reasons because not all systems place things in SDL/ (see FreeBSD).
|
||||
|
||||
FIND_PATH(SDL_INCLUDE_DIR SDL.h
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{SDLDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(SDL_INCLUDE_DIR SDL.h
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -86,14 +82,9 @@ FIND_PATH(SDL_INCLUDE_DIR SDL.h
|
||||
# don't confuse it for the version number.
|
||||
FIND_LIBRARY(SDL_LIBRARY_TEMP
|
||||
NAMES SDL SDL-1.1
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{SDLDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SDL_LIBRARY_TEMP
|
||||
NAMES SDL SDL-1.1
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
/usr/local
|
||||
/usr
|
||||
@ -101,7 +92,6 @@ FIND_LIBRARY(SDL_LIBRARY_TEMP
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
#MESSAGE("SDL_LIBRARY_TEMP is ${SDL_LIBRARY_TEMP}")
|
||||
@ -114,14 +104,9 @@ IF(NOT SDL_BUILDING_LIBRARY)
|
||||
# necessarily need it.
|
||||
FIND_LIBRARY(SDLMAIN_LIBRARY
|
||||
NAMES SDLmain SDLmain-1.1
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{SDLDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SDLMAIN_LIBRARY
|
||||
NAMES SDLmain SDLmain-1.1
|
||||
PATHS
|
||||
/usr/local
|
||||
/usr
|
||||
@ -129,7 +114,6 @@ IF(NOT SDL_BUILDING_LIBRARY)
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
ENDIF(NOT ${SDL_INCLUDE_DIR} MATCHES ".framework")
|
||||
ENDIF(NOT SDL_BUILDING_LIBRARY)
|
||||
|
@ -13,14 +13,10 @@
|
||||
# additional Unix paths (FreeBSD, etc).
|
||||
|
||||
FIND_PATH(SDLIMAGE_INCLUDE_DIR SDL_image.h
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{SDLIMAGEDIR}
|
||||
$ENV{SDLDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(SDLIMAGE_INCLUDE_DIR SDL_image.h
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -44,15 +40,10 @@ FIND_PATH(SDLIMAGE_INCLUDE_DIR SDL_image.h
|
||||
|
||||
FIND_LIBRARY(SDLIMAGE_LIBRARY
|
||||
NAMES SDL_image
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{SDLIMAGEDIR}
|
||||
$ENV{SDLDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SDLIMAGE_LIBRARY
|
||||
NAMES SDL_image
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -62,7 +53,6 @@ FIND_LIBRARY(SDLIMAGE_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(SDLIMAGE_FOUND "NO")
|
||||
|
@ -13,14 +13,10 @@
|
||||
# additional Unix paths (FreeBSD, etc).
|
||||
|
||||
FIND_PATH(SDLMIXER_INCLUDE_DIR SDL_mixer.h
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{SDLMIXERDIR}
|
||||
$ENV{SDLDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(SDLMIXER_INCLUDE_DIR SDL_mixer.h
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -44,15 +40,10 @@ FIND_PATH(SDLMIXER_INCLUDE_DIR SDL_mixer.h
|
||||
|
||||
FIND_LIBRARY(SDLMIXER_LIBRARY
|
||||
NAMES SDL_mixer
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{SDLMIXERDIR}
|
||||
$ENV{SDLDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SDLMIXER_LIBRARY
|
||||
NAMES SDL_mixer
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -62,7 +53,6 @@ FIND_LIBRARY(SDLMIXER_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(SDLMIXER_FOUND "NO")
|
||||
|
@ -14,14 +14,10 @@
|
||||
|
||||
|
||||
FIND_PATH(SDLNET_INCLUDE_DIR SDL_net.h
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{SDLNETDIR}
|
||||
$ENV{SDLDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(SDLNET_INCLUDE_DIR SDL_net.h
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -44,15 +40,10 @@ FIND_PATH(SDLNET_INCLUDE_DIR SDL_net.h
|
||||
)
|
||||
FIND_LIBRARY(SDLNET_LIBRARY
|
||||
NAMES SDL_net
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{SDLNETDIR}
|
||||
$ENV{SDLDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SDLNET_LIBRARY
|
||||
NAMES SDL_net
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -62,7 +53,6 @@ FIND_LIBRARY(SDLNET_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(SDLNET_FOUND "NO")
|
||||
|
@ -62,16 +62,12 @@ MARK_AS_ADVANCED(SDL_SOUND_EXTRAS)
|
||||
|
||||
# Find SDL_sound.h
|
||||
FIND_PATH(SDL_SOUND_INCLUDE_DIR SDL_sound.h
|
||||
HINTS
|
||||
$ENV{SDLSOUNDDIR}/include
|
||||
$ENV{SDLSOUNDDIR}
|
||||
$ENV{SDLDIR}/include
|
||||
$ENV{SDLDIR}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
FIND_PATH(SDL_SOUND_INCLUDE_DIR SDL_sound.h
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
FIND_PATH(SDL_SOUND_INCLUDE_DIR SDL_sound.h
|
||||
PATHS
|
||||
/usr/local/include/SDL
|
||||
/usr/include/SDL
|
||||
/usr/local/include/SDL12
|
||||
@ -92,11 +88,12 @@ FIND_PATH(SDL_SOUND_INCLUDE_DIR SDL_sound.h
|
||||
|
||||
FIND_LIBRARY(SDL_SOUND_LIBRARY
|
||||
NAMES SDL_sound
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{SDLSOUNDDIR}/lib
|
||||
$ENV{SDLSOUNDDIR}
|
||||
$ENV{SDLDIR}/lib
|
||||
$ENV{SDLDIR}
|
||||
PATHS
|
||||
/usr/local/lib
|
||||
/usr/lib
|
||||
/sw/lib
|
||||
|
@ -12,16 +12,11 @@
|
||||
# module, but with modifications to recognize OS X frameworks and
|
||||
# additional Unix paths (FreeBSD, etc).
|
||||
|
||||
|
||||
FIND_PATH(SDLTTF_INCLUDE_DIR SDL_ttf.h
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{SDLTTFDIR}
|
||||
$ENV{SDLDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(SDLTTF_INCLUDE_DIR SDL_ttf.h
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -45,15 +40,9 @@ FIND_PATH(SDLTTF_INCLUDE_DIR SDL_ttf.h
|
||||
|
||||
FIND_LIBRARY(SDLTTF_LIBRARY
|
||||
NAMES SDL_ttf
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{SDLTTFDIR}
|
||||
$ENV{SDLDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(SDLTTF_LIBRARY
|
||||
NAMES SDL_ttf
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
|
@ -20,8 +20,12 @@ IF(SWIG_EXECUTABLE)
|
||||
ERROR_VARIABLE SWIG_swiglib_error
|
||||
RESULT_VARIABLE SWIG_swiglib_result)
|
||||
|
||||
IF(SWIG_swiglib_result)
|
||||
MESSAGE(SEND_ERROR "Command \"${SWIG_EXECUTABLE} -swiglib\" failed with output:\n${SWIG_swiglib_error}")
|
||||
IF(SWIG_swiglib_result)
|
||||
IF(SWIG_FIND_REQUIRED)
|
||||
MESSAGE(SEND_ERROR "Command \"${SWIG_EXECUTABLE} -swiglib\" failed with output:\n${SWIG_swiglib_error}")
|
||||
ELSE(SWIG_FIND_REQUIRED)
|
||||
MESSAGE(STATUS "Command \"${SWIG_EXECUTABLE} -swiglib\" failed with output:\n${SWIG_swiglib_error}")
|
||||
ENDIF(SWIG_FIND_REQUIRED)
|
||||
ELSE(SWIG_swiglib_result)
|
||||
STRING(REGEX REPLACE "[\n\r]+" ";" SWIG_swiglib_output ${SWIG_swiglib_output})
|
||||
# force the path to be computed each time in case SWIG_EXECUTABLE has changed.
|
||||
|
@ -20,6 +20,8 @@
|
||||
# IF(Subversion_FOUND)
|
||||
# Subversion_WC_INFO(${PROJECT_SOURCE_DIR} Project)
|
||||
# MESSAGE("Current revision is ${Project_WC_REVISION}")
|
||||
# Subversion_WC_LOG(${PROJECT_SOURCE_DIR} Project)
|
||||
# MESSAGE("Last changed log is ${Project_LAST_CHANGED_LOG}")
|
||||
# ENDIF(Subversion_FOUND)
|
||||
|
||||
# Copyright (c) 2006, Tristan Carel
|
||||
@ -47,16 +49,11 @@
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
# $Id: FindSubversion.cmake,v 1.2.2.2 2008-03-26 18:08:24 hoffman Exp $
|
||||
# $Id: FindSubversion.cmake,v 1.2.2.3 2008-05-23 20:09:34 hoffman Exp $
|
||||
|
||||
SET(Subversion_FOUND FALSE)
|
||||
SET(Subversion_SVN_FOUND FALSE)
|
||||
|
||||
# the subversion commands should be executed with the C locale, otherwise
|
||||
# the message (which are parsed) may be translated, Alex
|
||||
SET(_Subversion_SAVED_LC_ALL "$ENV{LC_ALL}" )
|
||||
SET(ENV{LC_ALL} C)
|
||||
|
||||
FIND_PROGRAM(Subversion_SVN_EXECUTABLE svn
|
||||
DOC "subversion command line client")
|
||||
MARK_AS_ADVANCED(Subversion_SVN_EXECUTABLE)
|
||||
@ -66,6 +63,11 @@ IF(Subversion_SVN_EXECUTABLE)
|
||||
SET(Subversion_FOUND TRUE)
|
||||
|
||||
MACRO(Subversion_WC_INFO dir prefix)
|
||||
# the subversion commands should be executed with the C locale, otherwise
|
||||
# the message (which are parsed) may be translated, Alex
|
||||
SET(_Subversion_SAVED_LC_ALL "$ENV{LC_ALL}")
|
||||
SET(ENV{LC_ALL} C)
|
||||
|
||||
EXECUTE_PROCESS(COMMAND ${Subversion_SVN_EXECUTABLE} --version
|
||||
WORKING_DIRECTORY ${dir}
|
||||
OUTPUT_VARIABLE Subversion_VERSION_SVN
|
||||
@ -96,9 +98,19 @@ IF(Subversion_SVN_EXECUTABLE)
|
||||
|
||||
ENDIF(NOT ${Subversion_svn_info_result} EQUAL 0)
|
||||
|
||||
# restore the previous LC_ALL
|
||||
SET(ENV{LC_ALL} ${_Subversion_SAVED_LC_ALL})
|
||||
|
||||
ENDMACRO(Subversion_WC_INFO)
|
||||
|
||||
MACRO(Subversion_WC_LOG dir prefix)
|
||||
# This macro can block if the certificate is not signed:
|
||||
# svn ask you to accept the certificate and wait for your answer
|
||||
# This macro requires a svn server network access (Internet most of the time)
|
||||
# and can also be slow since it access the svn server
|
||||
EXECUTE_PROCESS(COMMAND
|
||||
${Subversion_SVN_EXECUTABLE} log -r BASE ${dir}
|
||||
OUTPUT_VARIABLE Subversion_LAST_CHANGED_LOG
|
||||
OUTPUT_VARIABLE ${prefix}_LAST_CHANGED_LOG
|
||||
ERROR_VARIABLE Subversion_svn_log_error
|
||||
RESULT_VARIABLE Subversion_svn_log_result
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
@ -106,13 +118,10 @@ IF(Subversion_SVN_EXECUTABLE)
|
||||
IF(NOT ${Subversion_svn_log_result} EQUAL 0)
|
||||
MESSAGE(SEND_ERROR "Command \"${Subversion_SVN_EXECUTABLE} log -r BASE ${dir}\" failed with output:\n${Subversion_svn_log_error}")
|
||||
ENDIF(NOT ${Subversion_svn_log_result} EQUAL 0)
|
||||
ENDMACRO(Subversion_WC_INFO)
|
||||
ENDMACRO(Subversion_WC_LOG)
|
||||
|
||||
ENDIF(Subversion_SVN_EXECUTABLE)
|
||||
|
||||
# restore the previous LC_ALL
|
||||
SET(ENV{LC_ALL} ${_Subversion_SAVED_LC_ALL})
|
||||
|
||||
IF(NOT Subversion_FOUND)
|
||||
IF(NOT Subversion_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Subversion was not found.")
|
||||
|
@ -174,22 +174,12 @@ ENDIF(WIN32)
|
||||
|
||||
FIND_PATH(TCL_INCLUDE_PATH
|
||||
NAMES tcl.h
|
||||
PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
FIND_PATH(TCL_INCLUDE_PATH
|
||||
NAMES tcl.h
|
||||
PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
|
||||
HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
FIND_PATH(TK_INCLUDE_PATH
|
||||
NAMES tk.h
|
||||
PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
FIND_PATH(TK_INCLUDE_PATH
|
||||
NAMES tk.h
|
||||
PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
|
||||
HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set TCL_FOUND to TRUE if
|
||||
|
@ -9,14 +9,16 @@
|
||||
|
||||
FIND_PATH(TIFF_INCLUDE_DIR tiff.h)
|
||||
|
||||
SET(TIFF_NAMES ${TIFF_NAMES} tiff)
|
||||
SET(TIFF_NAMES ${TIFF_NAMES} tiff libtiff libtiff3)
|
||||
FIND_LIBRARY(TIFF_LIBRARY NAMES ${TIFF_NAMES} )
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set TIFF_FOUND to TRUE if
|
||||
# all listed variables are TRUE
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TIFF DEFAULT_MSG TIFF_LIBRARY TIFF_INCLUDE_DIR)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TIFF DEFAULT_MSG TIFF_LIBRARY TIFF_INCLUDE_DIR)
|
||||
|
||||
IF(TIFF_FOUND)
|
||||
SET( TIFF_LIBRARIES ${TIFF_LIBRARY} )
|
||||
ENDIF(TIFF_FOUND)
|
||||
|
||||
MARK_AS_ADVANCED(TIFF_INCLUDE_DIR TIFF_LIBRARY)
|
||||
|
@ -66,11 +66,7 @@ SET(TCL_TCLSH_NAMES
|
||||
|
||||
FIND_PROGRAM(TCL_TCLSH
|
||||
NAMES ${TCL_TCLSH_NAMES}
|
||||
PATHS ${TCLTK_POSSIBLE_BIN_PATHS} NO_DEFAULT_PATH
|
||||
)
|
||||
FIND_PROGRAM(TCL_TCLSH
|
||||
NAMES ${TCL_TCLSH_NAMES}
|
||||
PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
|
||||
HINTS ${TCLTK_POSSIBLE_BIN_PATHS}
|
||||
)
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set TIFF_FOUND to TRUE if
|
||||
|
@ -8,6 +8,7 @@
|
||||
|
||||
INCLUDE (CheckIncludeFiles)
|
||||
INCLUDE (CheckLibraryExists)
|
||||
SET(Threads_FOUND FALSE)
|
||||
|
||||
# Do we have sproc?
|
||||
IF(CMAKE_SYSTEM MATCHES IRIX)
|
||||
@ -30,11 +31,13 @@ ELSE(CMAKE_HAVE_SPROC_H)
|
||||
IF(CMAKE_HAVE_PTHREADS_CREATE)
|
||||
SET(CMAKE_THREAD_LIBS_INIT "-lpthreads")
|
||||
SET(CMAKE_HAVE_THREADS_LIBRARY 1)
|
||||
SET(Threads_FOUND TRUE)
|
||||
ENDIF(CMAKE_HAVE_PTHREADS_CREATE)
|
||||
# Ok, how about -lpthread
|
||||
CHECK_LIBRARY_EXISTS(pthread pthread_create "" CMAKE_HAVE_PTHREAD_CREATE)
|
||||
IF(CMAKE_HAVE_PTHREAD_CREATE)
|
||||
SET(CMAKE_THREAD_LIBS_INIT "-lpthread")
|
||||
SET(Threads_FOUND TRUE)
|
||||
SET(CMAKE_HAVE_THREADS_LIBRARY 1)
|
||||
ENDIF(CMAKE_HAVE_PTHREAD_CREATE)
|
||||
IF(CMAKE_SYSTEM MATCHES "SunOS.*")
|
||||
@ -43,6 +46,7 @@ ELSE(CMAKE_HAVE_SPROC_H)
|
||||
IF(CMAKE_HAVE_THR_CREATE)
|
||||
SET(CMAKE_THREAD_LIBS_INIT "-lthread")
|
||||
SET(CMAKE_HAVE_THREADS_LIBRARY 1)
|
||||
SET(Threads_FOUND TRUE)
|
||||
ENDIF(CMAKE_HAVE_THR_CREATE)
|
||||
ENDIF(CMAKE_SYSTEM MATCHES "SunOS.*")
|
||||
ENDIF(NOT THREADS_HAVE_PTHREAD_ARG)
|
||||
@ -58,6 +62,7 @@ ELSE(CMAKE_HAVE_SPROC_H)
|
||||
COMPILE_OUTPUT_VARIABLE OUTPUT)
|
||||
IF(THREADS_HAVE_PTHREAD_ARG)
|
||||
IF(THREADS_PTHREAD_ARG MATCHES "^2$")
|
||||
SET(Threads_FOUND TRUE)
|
||||
MESSAGE(STATUS "Check if compiler accepts -pthread - yes")
|
||||
ELSE(THREADS_PTHREAD_ARG MATCHES "^2$")
|
||||
MESSAGE(STATUS "Check if compiler accepts -pthread - no")
|
||||
@ -73,6 +78,7 @@ ELSE(CMAKE_HAVE_SPROC_H)
|
||||
ENDIF(THREADS_HAVE_PTHREAD_ARG)
|
||||
ENDIF("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG")
|
||||
IF(THREADS_HAVE_PTHREAD_ARG)
|
||||
SET(Threads_FOUND TRUE)
|
||||
SET(CMAKE_THREAD_LIBS_INIT "-pthread")
|
||||
ENDIF(THREADS_HAVE_PTHREAD_ARG)
|
||||
ENDIF(NOT CMAKE_HAVE_THREADS_LIBRARY)
|
||||
@ -81,10 +87,12 @@ ENDIF(CMAKE_HAVE_SPROC_H)
|
||||
|
||||
IF(CMAKE_THREAD_LIBS_INIT)
|
||||
SET(CMAKE_USE_PTHREADS_INIT 1)
|
||||
SET(Threads_FOUND TRUE)
|
||||
ENDIF(CMAKE_THREAD_LIBS_INIT)
|
||||
|
||||
IF(CMAKE_SYSTEM MATCHES "Windows")
|
||||
SET(CMAKE_USE_WIN32_THREADS_INIT 1)
|
||||
SET(Threads_FOUND TRUE)
|
||||
ENDIF(CMAKE_SYSTEM MATCHES "Windows")
|
||||
|
||||
IF(CMAKE_USE_PTHREADS_INIT)
|
||||
@ -101,6 +109,7 @@ IF(CMAKE_USE_PTHREADS_INIT)
|
||||
IF(CMAKE_HAVE_HP_CMA)
|
||||
SET(CMAKE_THREAD_LIBS_INIT "-lcma")
|
||||
SET(CMAKE_HP_PTHREADS_INIT 1)
|
||||
SET(Threads_FOUND TRUE)
|
||||
ENDIF(CMAKE_HAVE_HP_CMA)
|
||||
SET(CMAKE_USE_PTHREADS_INIT 1)
|
||||
ENDIF(CMAKE_SYSTEM MATCHES "HP-UX-*")
|
||||
@ -112,8 +121,11 @@ IF(CMAKE_USE_PTHREADS_INIT)
|
||||
|
||||
IF(CMAKE_SYSTEM MATCHES "CYGWIN_NT*")
|
||||
SET(CMAKE_USE_PTHREADS_INIT 1)
|
||||
SET(Threads_FOUND TRUE)
|
||||
SET(CMAKE_THREAD_LIBS_INIT )
|
||||
SET(CMAKE_USE_WIN32_THREADS_INIT 0)
|
||||
ENDIF(CMAKE_SYSTEM MATCHES "CYGWIN_NT*")
|
||||
ENDIF(CMAKE_USE_PTHREADS_INIT)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Threads DEFAULT_MSG Threads_FOUND)
|
||||
|
@ -65,11 +65,7 @@ SET(TK_WISH_NAMES
|
||||
|
||||
FIND_PROGRAM(TK_WISH
|
||||
NAMES ${TK_WISH_NAMES}
|
||||
PATHS ${TCLTK_POSSIBLE_BIN_PATHS} NO_DEFAULT_PATH
|
||||
)
|
||||
FIND_PROGRAM(TK_WISH
|
||||
NAMES ${TK_WISH_NAMES}
|
||||
PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
|
||||
HINTS ${TCLTK_POSSIBLE_BIN_PATHS}
|
||||
)
|
||||
|
||||
MARK_AS_ADVANCED(TK_WISH)
|
||||
|
@ -46,20 +46,18 @@ IF (UNIX)
|
||||
SET(X11_INC_SEARCH_PATH
|
||||
/usr/pkg/xorg/include
|
||||
/usr/X11R6/include
|
||||
/usr/local/include
|
||||
/usr/X11R7/include
|
||||
/usr/include/X11
|
||||
/usr/openwin/include
|
||||
/usr/openwin/share/include
|
||||
/opt/graphics/OpenGL/include
|
||||
/usr/include
|
||||
)
|
||||
|
||||
SET(X11_LIB_SEARCH_PATH
|
||||
/usr/pkg/xorg/lib
|
||||
/usr/X11R6/lib
|
||||
/usr/local/lib
|
||||
/usr/X11R7/lib
|
||||
/usr/openwin/lib
|
||||
/usr/lib
|
||||
)
|
||||
|
||||
FIND_PATH(X11_X11_INCLUDE_PATH X11/X.h ${X11_INC_SEARCH_PATH})
|
||||
|
@ -101,10 +101,8 @@ IF(XMLRPC_FOUND)
|
||||
# Look for this library.
|
||||
FIND_LIBRARY(XMLRPC_${name}_LIBRARY
|
||||
NAMES ${name}
|
||||
PATHS ${XMLRPC_LIBRARY_DIRS}
|
||||
NO_DEFAULT_PATH
|
||||
HINTS ${XMLRPC_LIBRARY_DIRS}
|
||||
)
|
||||
FIND_LIBRARY(XMLRPC_${name}_LIBRARY NAMES ${name})
|
||||
MARK_AS_ADVANCED(XMLRPC_${name}_LIBRARY)
|
||||
|
||||
# If any library is not found then the whole package is not found.
|
||||
|
@ -27,14 +27,10 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSG_INCLUDE_DIR osg/PositionAttitudeTransform
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSG_INCLUDE_DIR osg/PositionAttitudeTransform
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -46,20 +42,14 @@ FIND_PATH(OSG_INCLUDE_DIR osg/PositionAttitudeTransform
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSG_LIBRARY
|
||||
NAMES osg
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSG_LIBRARY
|
||||
NAMES osg
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -69,7 +59,6 @@ FIND_LIBRARY(OSG_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSG_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGDB_INCLUDE_DIR osgDB/DatabasePager
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGDB_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGDB_INCLUDE_DIR osgDB/DatabasePager
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGDB_INCLUDE_DIR osgDB/DatabasePager
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGDB_LIBRARY
|
||||
NAMES osgDB
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGDB_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGDB_LIBRARY
|
||||
NAMES osgDB
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGDB_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGDB_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGFX_INCLUDE_DIR osgFX/BumpMapping
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGFX_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGFX_INCLUDE_DIR osgFX/BumpMapping
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGFX_INCLUDE_DIR osgFX/BumpMapping
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGFX_LIBRARY
|
||||
NAMES osgFX
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGFX_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGFX_LIBRARY
|
||||
NAMES osgFX
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGFX_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGFX_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGGA_INCLUDE_DIR osgGA/FlightManipulator
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGGA_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGGA_INCLUDE_DIR osgGA/FlightManipulator
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGGA_INCLUDE_DIR osgGA/FlightManipulator
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGGA_LIBRARY
|
||||
NAMES osgGA
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGGA_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGGA_LIBRARY
|
||||
NAMES osgGA
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGGA_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGGA_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGINTROSPECTION_INCLUDE_DIR osgIntrospection/Reflection
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGINTROSPECTION_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGINTROSPECTION_INCLUDE_DIR osgIntrospection/Reflection
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGINTROSPECTION_INCLUDE_DIR osgIntrospection/Reflection
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGINTROSPECTION_LIBRARY
|
||||
NAMES osgIntrospection
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGINTROSPECTION_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGINTROSPECTION_LIBRARY
|
||||
NAMES osgIntrospection
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGINTROSPECTION_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGINTROSPECTION_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGMANIPULATOR_INCLUDE_DIR osgManipulator/TrackballDragger
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGMANIPULATOR_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGMANIPULATOR_INCLUDE_DIR osgManipulator/TrackballDragger
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGMANIPULATOR_INCLUDE_DIR osgManipulator/TrackballDragger
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGMANIPULATOR_LIBRARY
|
||||
NAMES osgManipulator
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGMANIPULATOR_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGMANIPULATOR_LIBRARY
|
||||
NAMES osgManipulator
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGMANIPULATOR_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGMANIPULATOR_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGPARTICLE_INCLUDE_DIR osgParticle/FireEffect
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGPARTICLE_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGPARTICLE_INCLUDE_DIR osgParticle/FireEffect
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGPARTICLE_INCLUDE_DIR osgParticle/FireEffect
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGPARTICLE_LIBRARY
|
||||
NAMES osgParticle
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGPARTICLE_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGPARTICLE_LIBRARY
|
||||
NAMES osgParticle
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGPARTICLE_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGPARTICLE_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGPRODUCER_INCLUDE_DIR osgProducer/OsgSceneHandler
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGPRODUCER_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGPRODUCER_INCLUDE_DIR osgProducer/OsgSceneHandler
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGPRODUCER_INCLUDE_DIR osgProducer/OsgSceneHandler
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGPRODUCER_LIBRARY
|
||||
NAMES osgProducer
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGPRODUCER_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGPRODUCER_LIBRARY
|
||||
NAMES osgProducer
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGPRODUCER_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGPRODUCER_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGSHADOW_INCLUDE_DIR osgShadow/ShadowTexture
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGSHADOW_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGSHADOW_INCLUDE_DIR osgShadow/ShadowTexture
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGSHADOW_INCLUDE_DIR osgShadow/ShadowTexture
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGSHADOW_LIBRARY
|
||||
NAMES osgShadow
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGSHADOW_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGSHADOW_LIBRARY
|
||||
NAMES osgShadow
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGSHADOW_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGSHADOW_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGSIM_INCLUDE_DIR osgSim/ImpostorSprite
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGSIM_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGSIM_INCLUDE_DIR osgSim/ImpostorSprite
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGSIM_INCLUDE_DIR osgSim/ImpostorSprite
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGSIM_LIBRARY
|
||||
NAMES osgSim
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGSIM_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGSIM_LIBRARY
|
||||
NAMES osgSim
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGSIM_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGSIM_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGTERRAIN_INCLUDE_DIR osgTerrain/Terrain
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGTERRAIN_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGTERRAIN_INCLUDE_DIR osgTerrain/Terrain
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGTERRAIN_INCLUDE_DIR osgTerrain/Terrain
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGTERRAIN_LIBRARY
|
||||
NAMES osgTerrain
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGTERRAIN_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGTERRAIN_LIBRARY
|
||||
NAMES osgTerrain
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGTERRAIN_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGTERRAIN_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGTEXT_INCLUDE_DIR osgText/Text
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGTEXT_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGTEXT_INCLUDE_DIR osgText/Text
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGTEXT_INCLUDE_DIR osgText/Text
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGTEXT_LIBRARY
|
||||
NAMES osgText
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGTEXT_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGTEXT_LIBRARY
|
||||
NAMES osgText
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGTEXT_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGTEXT_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGUTIL_INCLUDE_DIR osgUtil/SceneView
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGUTIL_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGUTIL_INCLUDE_DIR osgUtil/SceneView
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGUTIL_INCLUDE_DIR osgUtil/SceneView
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGUTIL_LIBRARY
|
||||
NAMES osgUtil
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGUTIL_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGUTIL_LIBRARY
|
||||
NAMES osgUtil
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGUTIL_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGUTIL_FOUND "NO")
|
||||
|
@ -27,15 +27,11 @@
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OSGVIEWER_INCLUDE_DIR osgViewer/Viewer
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGVIEWER_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_PATH(OSGVIEWER_INCLUDE_DIR osgViewer/Viewer
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -47,21 +43,15 @@ FIND_PATH(OSGVIEWER_INCLUDE_DIR osgViewer/Viewer
|
||||
/opt
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
|
||||
PATH_SUFFIXES include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGVIEWER_LIBRARY
|
||||
NAMES osgViewer
|
||||
PATHS
|
||||
HINTS
|
||||
$ENV{OSGVIEWER_DIR}
|
||||
$ENV{OSG_DIR}
|
||||
$ENV{OSGDIR}
|
||||
NO_DEFAULT_PATH
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
FIND_LIBRARY(OSGVIEWER_LIBRARY
|
||||
NAMES osgViewer
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
@ -71,7 +61,6 @@ FIND_LIBRARY(OSGVIEWER_LIBRARY
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
PATH_SUFFIXES lib64 lib
|
||||
)
|
||||
|
||||
SET(OSGVIEWER_FOUND "NO")
|
||||
|
@ -174,21 +174,18 @@ ENDIF(EXISTS "${wxWidgets_CURRENT_LIST_DIR}/UsewxWidgets.cmake")
|
||||
|
||||
#=====================================================================
|
||||
#=====================================================================
|
||||
IF(WIN32)
|
||||
SET(WIN32_STYLE_FIND 1)
|
||||
ENDIF(WIN32)
|
||||
IF(MINGW)
|
||||
SET(WIN32_STYLE_FIND 0)
|
||||
SET(UNIX_STYLE_FIND 1)
|
||||
ENDIF(MINGW)
|
||||
IF(UNIX)
|
||||
SET(UNIX_STYLE_FIND 1)
|
||||
ENDIF(UNIX)
|
||||
IF(WIN32 AND NOT CYGWIN AND NOT MSYS)
|
||||
SET(wxWidgets_FIND_STYLE "win32")
|
||||
ELSE(WIN32 AND NOT CYGWIN AND NOT MSYS)
|
||||
IF(UNIX OR MSYS)
|
||||
SET(wxWidgets_FIND_STYLE "unix")
|
||||
ENDIF(UNIX OR MSYS)
|
||||
ENDIF(WIN32 AND NOT CYGWIN AND NOT MSYS)
|
||||
|
||||
#=====================================================================
|
||||
# WIN32_STYLE_FIND
|
||||
# WIN32_FIND_STYLE
|
||||
#=====================================================================
|
||||
IF(WIN32_STYLE_FIND)
|
||||
IF(wxWidgets_FIND_STYLE STREQUAL "win32")
|
||||
# Useful common wx libs needed by almost all components.
|
||||
SET(wxWidgets_COMMON_LIBRARIES png tiff jpeg zlib regex expat)
|
||||
|
||||
@ -283,7 +280,7 @@ IF(WIN32_STYLE_FIND)
|
||||
MARK_AS_ADVANCED(WX_mono${_DBG})
|
||||
|
||||
# Find wxWidgets multilib libraries.
|
||||
FOREACH(LIB core adv aui html media xrc dbgrid gl qa)
|
||||
FOREACH(LIB core adv aui html media xrc dbgrid gl qa richtext)
|
||||
FIND_LIBRARY(WX_${LIB}${_DBG}
|
||||
NAMES
|
||||
wxmsw${_UNV}29${_UCD}${_DBG}_${LIB}
|
||||
@ -324,7 +321,7 @@ IF(WIN32_STYLE_FIND)
|
||||
WX_CLEAR_LIB(WX_mono${_DBG})
|
||||
|
||||
# Clear wxWidgets multilib libraries.
|
||||
FOREACH(LIB core adv aui html media xrc dbgrid gl qa)
|
||||
FOREACH(LIB core adv aui html media xrc dbgrid gl qa richtext)
|
||||
WX_CLEAR_LIB(WX_${LIB}${_DBG})
|
||||
ENDFOREACH(LIB)
|
||||
ENDMACRO(WX_CLEAR_ALL_LIBS)
|
||||
@ -398,6 +395,12 @@ IF(WIN32_STYLE_FIND)
|
||||
D:/
|
||||
$ENV{ProgramFiles}
|
||||
PATH_SUFFIXES
|
||||
wxWidgets-2.9.4
|
||||
wxWidgets-2.9.3
|
||||
wxWidgets-2.9.2
|
||||
wxWidgets-2.9.1
|
||||
wxWidgets-2.9.0
|
||||
wxWidgets-2.8.8
|
||||
wxWidgets-2.8.7
|
||||
wxWidgets-2.8.6
|
||||
wxWidgets-2.8.5
|
||||
@ -412,6 +415,7 @@ IF(WIN32_STYLE_FIND)
|
||||
wxWidgest-2.7.1
|
||||
wxWidgets-2.7.0
|
||||
wxWidgets-2.7.0-1
|
||||
wxWidgets-2.6.4
|
||||
wxWidgets-2.6.3
|
||||
wxWidgets-2.6.2
|
||||
wxWidgets-2.6.1
|
||||
@ -435,21 +439,26 @@ IF(WIN32_STYLE_FIND)
|
||||
# Select one default tree inside the already determined wx tree.
|
||||
# Prefer static/shared order usually consistent with build
|
||||
# settings.
|
||||
IF(MINGW)
|
||||
SET(WX_LIB_DIR_PREFIX gcc)
|
||||
ELSE(MINGW)
|
||||
SET(WX_LIB_DIR_PREFIX vc)
|
||||
ENDIF(MINGW)
|
||||
IF(BUILD_SHARED_LIBS)
|
||||
FIND_PATH(wxWidgets_LIB_DIR
|
||||
NAMES wxpng.lib wxpngd.lib
|
||||
NAMES msw/build.cfg mswd/build.cfg
|
||||
PATHS
|
||||
${WX_ROOT_DIR}/lib/vc_dll # prefer shared
|
||||
${WX_ROOT_DIR}/lib/vc_lib
|
||||
${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_dll # prefer shared
|
||||
${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_lib
|
||||
DOC "Path to wxWidgets libraries?"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
ELSE(BUILD_SHARED_LIBS)
|
||||
FIND_PATH(wxWidgets_LIB_DIR
|
||||
NAMES wxpng.lib wxpngd.lib
|
||||
NAMES msw/build.cfg mswd/build.cfg
|
||||
PATHS
|
||||
${WX_ROOT_DIR}/lib/vc_lib # prefer static
|
||||
${WX_ROOT_DIR}/lib/vc_dll
|
||||
${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_lib # prefer static
|
||||
${WX_ROOT_DIR}/lib/${WX_LIB_DIR_PREFIX}_dll
|
||||
DOC "Path to wxWidgets libraries?"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
@ -543,10 +552,10 @@ IF(WIN32_STYLE_FIND)
|
||||
ENDIF(WX_ROOT_DIR)
|
||||
|
||||
#=====================================================================
|
||||
# UNIX_STYLE_FIND
|
||||
# UNIX_FIND_STYLE
|
||||
#=====================================================================
|
||||
ELSE(WIN32_STYLE_FIND)
|
||||
IF(UNIX_STYLE_FIND)
|
||||
ELSE(wxWidgets_FIND_STYLE STREQUAL "win32")
|
||||
IF(wxWidgets_FIND_STYLE STREQUAL "unix")
|
||||
#-----------------------------------------------------------------
|
||||
# UNIX: Helper MACROS
|
||||
#-----------------------------------------------------------------
|
||||
@ -572,7 +581,7 @@ ELSE(WIN32_STYLE_FIND)
|
||||
ELSE(_wx_result EQUAL 0)
|
||||
FOREACH(_upper_opt_name DEBUG STATIC UNICODE UNIVERSAL)
|
||||
SET(wxWidgets_DEFAULT_${_upper_opt_name} OFF)
|
||||
ENDFOREACH(_opt_name)
|
||||
ENDFOREACH(_upper_opt_name)
|
||||
ENDIF(_wx_result EQUAL 0)
|
||||
ENDMACRO(WX_CONFIG_SELECT_GET_DEFAULT)
|
||||
|
||||
@ -729,18 +738,18 @@ ELSE(WIN32_STYLE_FIND)
|
||||
ENDIF(wxWidgets_CONFIG_EXECUTABLE)
|
||||
|
||||
#=====================================================================
|
||||
# Neither UNIX_STYLE_FIND, nor WIN32_STYLE_FIND
|
||||
# Neither UNIX_FIND_STYLE, nor WIN32_FIND_STYLE
|
||||
#=====================================================================
|
||||
ELSE(UNIX_STYLE_FIND)
|
||||
ELSE(wxWidgets_FIND_STYLE STREQUAL "unix")
|
||||
IF(NOT wxWidgets_FIND_QUIETLY)
|
||||
MESSAGE(STATUS
|
||||
"${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): \n"
|
||||
" Platform unknown/unsupported. It's neither WIN32 nor UNIX "
|
||||
"style find."
|
||||
"find style."
|
||||
)
|
||||
ENDIF(NOT wxWidgets_FIND_QUIETLY)
|
||||
ENDIF(UNIX_STYLE_FIND)
|
||||
ENDIF(WIN32_STYLE_FIND)
|
||||
ENDIF(wxWidgets_FIND_STYLE STREQUAL "unix")
|
||||
ENDIF(wxWidgets_FIND_STYLE STREQUAL "win32")
|
||||
|
||||
# Debug output:
|
||||
DBG_MSG("wxWidgets_FOUND : ${wxWidgets_FOUND}")
|
||||
|
@ -12,13 +12,16 @@
|
||||
# gp_append_unique
|
||||
# gp_file_type
|
||||
# is_file_executable
|
||||
# gp_item_default_embedded_path
|
||||
# (projects can override with gp_item_default_embedded_path_override)
|
||||
# gp_resolve_item
|
||||
# (projects can override with gp_resolve_item_override)
|
||||
# get_prerequisites
|
||||
# list_prerequisites
|
||||
# list_prerequisites_by_glob
|
||||
#
|
||||
# Requires CMake 2.5 or greater because it uses function, break, return and
|
||||
# Requires CMake 2.6 or greater because it uses function, break, return and
|
||||
# PARENT_SCOPE.
|
||||
#
|
||||
cmake_minimum_required(VERSION 2.5 FATAL_ERROR)
|
||||
|
||||
|
||||
# gp_append_unique list_var value
|
||||
@ -135,7 +138,7 @@ function(is_file_executable file result_var)
|
||||
endif("${file_full_lower}" MATCHES "\\.(exe|dll)$")
|
||||
|
||||
# A clause could be added here that uses output or return value of dumpbin
|
||||
# to determine ${result_var}. In 95%+ practical cases, the exe|dll name
|
||||
# to determine ${result_var}. In 99%+? practical cases, the exe|dll name
|
||||
# match will be sufficient...
|
||||
#
|
||||
endif(WIN32)
|
||||
@ -184,7 +187,171 @@ function(is_file_executable file result_var)
|
||||
endfunction(is_file_executable)
|
||||
|
||||
|
||||
# get_prerequisites target prerequisites_var exclude_system recurse
|
||||
# gp_item_default_embedded_path item default_embedded_path_var
|
||||
#
|
||||
# Return the path that others should refer to the item by when the item
|
||||
# is embedded inside a bundle.
|
||||
#
|
||||
# Override on a per-project basis by providing a project-specific
|
||||
# gp_item_default_embedded_path_override function.
|
||||
#
|
||||
function(gp_item_default_embedded_path item default_embedded_path_var)
|
||||
#
|
||||
# The assumption here is that all executables in the bundle will be
|
||||
# in same-level-directories inside the bundle. The parent directory
|
||||
# of an executable inside the bundle should be MacOS or a sibling of
|
||||
# MacOS and all embedded paths returned from here will begin with
|
||||
# "@executable_path/../" and will work from all executables in all
|
||||
# such same-level-directories inside the bundle.
|
||||
#
|
||||
|
||||
# By default, embed things right next to the main bundle executable:
|
||||
#
|
||||
set(path "@executable_path/../../Contents/MacOS")
|
||||
|
||||
set(overridden 0)
|
||||
|
||||
# Embed .dylibs right next to the main bundle executable:
|
||||
#
|
||||
if(item MATCHES "\\.dylib$")
|
||||
set(path "@executable_path/../MacOS")
|
||||
set(overridden 1)
|
||||
endif(item MATCHES "\\.dylib$")
|
||||
|
||||
# Embed frameworks in the embedded "Frameworks" directory (sibling of MacOS):
|
||||
#
|
||||
if(NOT overridden)
|
||||
if(item MATCHES "[^/]+\\.framework/")
|
||||
set(path "@executable_path/../Frameworks")
|
||||
set(overridden 1)
|
||||
endif(item MATCHES "[^/]+\\.framework/")
|
||||
endif(NOT overridden)
|
||||
|
||||
# Provide a hook so that projects can override the default embedded location of
|
||||
# any given library by whatever logic they choose:
|
||||
#
|
||||
if(COMMAND gp_item_default_embedded_path_override)
|
||||
gp_item_default_embedded_path_override("${item}" path)
|
||||
endif(COMMAND gp_item_default_embedded_path_override)
|
||||
|
||||
set(${default_embedded_path_var} "${path}" PARENT_SCOPE)
|
||||
endfunction(gp_item_default_embedded_path)
|
||||
|
||||
|
||||
# gp_resolve_item context item exepath dirs resolved_item_var
|
||||
#
|
||||
# Resolve an item into an existing full path file.
|
||||
#
|
||||
# Override on a per-project basis by providing a project-specific
|
||||
# gp_resolve_item_override function.
|
||||
#
|
||||
function(gp_resolve_item context item exepath dirs resolved_item_var)
|
||||
set(resolved 0)
|
||||
set(resolved_item "${item}")
|
||||
|
||||
# Is it already resolved?
|
||||
#
|
||||
if(EXISTS "${resolved_item}")
|
||||
set(resolved 1)
|
||||
endif(EXISTS "${resolved_item}")
|
||||
|
||||
if(NOT resolved)
|
||||
if(item MATCHES "@executable_path")
|
||||
#
|
||||
# @executable_path references are assumed relative to exepath
|
||||
#
|
||||
string(REPLACE "@executable_path" "${exepath}" ri "${item}")
|
||||
get_filename_component(ri "${ri}" ABSOLUTE)
|
||||
|
||||
if(EXISTS "${ri}")
|
||||
#message(STATUS "info: embedded item exists (${ri})")
|
||||
set(resolved 1)
|
||||
set(resolved_item "${ri}")
|
||||
else(EXISTS "${ri}")
|
||||
message(STATUS "info: embedded item does not exist '${ri}'")
|
||||
endif(EXISTS "${ri}")
|
||||
endif(item MATCHES "@executable_path")
|
||||
endif(NOT resolved)
|
||||
|
||||
if(NOT resolved)
|
||||
if(item MATCHES "@loader_path")
|
||||
#
|
||||
# @loader_path references are assumed relative to the
|
||||
# PATH of the given "context" (presumably another library)
|
||||
#
|
||||
get_filename_component(contextpath "${context}" PATH)
|
||||
string(REPLACE "@loader_path" "${contextpath}" ri "${item}")
|
||||
get_filename_component(ri "${ri}" ABSOLUTE)
|
||||
|
||||
if(EXISTS "${ri}")
|
||||
#message(STATUS "info: embedded item exists (${ri})")
|
||||
set(resolved 1)
|
||||
set(resolved_item "${ri}")
|
||||
else(EXISTS "${ri}")
|
||||
message(STATUS "info: embedded item does not exist '${ri}'")
|
||||
endif(EXISTS "${ri}")
|
||||
endif(item MATCHES "@loader_path")
|
||||
endif(NOT resolved)
|
||||
|
||||
if(NOT resolved)
|
||||
set(ri "ri-NOTFOUND")
|
||||
find_file(ri "${item}" ${dirs})
|
||||
if(ri)
|
||||
#message(STATUS "info: found item in dirs (${ri})")
|
||||
set(resolved 1)
|
||||
set(resolved_item "${ri}")
|
||||
set(ri "ri-NOTFOUND")
|
||||
endif(ri)
|
||||
endif(NOT resolved)
|
||||
|
||||
if(NOT resolved)
|
||||
if(item MATCHES "[^/]+\\.framework/")
|
||||
set(fw "fw-NOTFOUND")
|
||||
find_file(fw "${item}"
|
||||
"~/Library/Frameworks"
|
||||
"/Library/Frameworks"
|
||||
"/System/Library/Frameworks"
|
||||
)
|
||||
if(fw)
|
||||
#message(STATUS "info: found framework (${fw})")
|
||||
set(resolved 1)
|
||||
set(resolved_item "${fw}")
|
||||
set(fw "fw-NOTFOUND")
|
||||
endif(fw)
|
||||
endif(item MATCHES "[^/]+\\.framework/")
|
||||
endif(NOT resolved)
|
||||
|
||||
# Using find_program on Windows will find dll files that are in the PATH.
|
||||
# (Converting simple file names into full path names if found.)
|
||||
#
|
||||
if(WIN32)
|
||||
if(NOT resolved)
|
||||
set(ri "ri-NOTFOUND")
|
||||
find_program(ri "${item}" PATHS "${dirs}")
|
||||
if(ri)
|
||||
set(resolved 1)
|
||||
set(resolved_item "${ri}")
|
||||
set(ri "ri-NOTFOUND")
|
||||
endif(ri)
|
||||
endif(NOT resolved)
|
||||
endif(WIN32)
|
||||
|
||||
# Provide a hook so that projects can override item resolution
|
||||
# by whatever logic they choose:
|
||||
#
|
||||
if(COMMAND gp_resolve_item_override)
|
||||
gp_resolve_item_override("${context}" "${item}" "${exepath}" "${dirs}" resolved_item resolved)
|
||||
endif(COMMAND gp_resolve_item_override)
|
||||
|
||||
if(NOT resolved)
|
||||
message(STATUS "warning: cannot resolve item '${item}'")
|
||||
endif(NOT resolved)
|
||||
|
||||
set(${resolved_item_var} "${resolved_item}" PARENT_SCOPE)
|
||||
endfunction(gp_resolve_item)
|
||||
|
||||
|
||||
# get_prerequisites target prerequisites_var exclude_system recurse dirs
|
||||
#
|
||||
# Get the list of shared library files required by ${target}. The list in
|
||||
# the variable named ${prerequisites_var} should be empty on first entry to
|
||||
@ -201,20 +368,25 @@ endfunction(is_file_executable)
|
||||
# recurse is 0 or 1: 0 for direct prerequisites only, 1 for all prerequisites
|
||||
# recursively
|
||||
#
|
||||
# optional ARGV4 (verbose) is 0 or 1: 0 to skip informational message output,
|
||||
# 1 to print it
|
||||
# exepath is the path to the top level executable used for @executable_path
|
||||
# replacment on the Mac
|
||||
#
|
||||
function(get_prerequisites target prerequisites_var exclude_system recurse)
|
||||
# set(verbose 0)
|
||||
# if(NOT "${ARGV4}" STREQUAL "")
|
||||
# message(STATUS "ARGV4='${ARGV4}'")
|
||||
# set(verbose "${ARGV4}")
|
||||
# endif(NOT "${ARGV4}" STREQUAL "")
|
||||
# message(STATUS "verbose='${verbose}'")
|
||||
# dirs is a list of paths where libraries might be found: these paths are
|
||||
# searched first when a target without any path info is given. Then standard
|
||||
# system locations are also searched: PATH, Framework locations, /usr/lib...
|
||||
#
|
||||
function(get_prerequisites target prerequisites_var exclude_system recurse exepath dirs)
|
||||
set(verbose 0)
|
||||
|
||||
set(eol_char "E")
|
||||
|
||||
if(NOT IS_ABSOLUTE "${target}")
|
||||
message("warning: target '${target}' is not absolute...")
|
||||
endif(NOT IS_ABSOLUTE "${target}")
|
||||
|
||||
if(NOT EXISTS "${target}")
|
||||
message("warning: target '${target}' does not exist...")
|
||||
endif(NOT EXISTS "${target}")
|
||||
|
||||
# <setup-gp_tool-vars>
|
||||
#
|
||||
# Try to choose the right tool by default. Caller can set gp_tool prior to
|
||||
@ -288,7 +460,10 @@ function(get_prerequisites target prerequisites_var exclude_system recurse)
|
||||
get_filename_component(gp_cmd_dir "${gp_cmd}" PATH)
|
||||
get_filename_component(gp_cmd_dlls_dir "${gp_cmd_dir}/../../Common7/IDE" ABSOLUTE)
|
||||
if(EXISTS "${gp_cmd_dlls_dir}")
|
||||
set(ENV{PATH} "$ENV{PATH};${gp_cmd_dlls_dir}")
|
||||
# only add to the path if it is not already in the path
|
||||
if(NOT "$ENV{PATH}" MATCHES "${gp_cmd_dlls_dir}")
|
||||
set(ENV{PATH} "$ENV{PATH};${gp_cmd_dlls_dir}")
|
||||
endif(NOT "$ENV{PATH}" MATCHES "${gp_cmd_dlls_dir}")
|
||||
endif(EXISTS "${gp_cmd_dlls_dir}")
|
||||
endif("${gp_tool}" STREQUAL "dumpbin")
|
||||
#
|
||||
@ -340,19 +515,11 @@ function(get_prerequisites target prerequisites_var exclude_system recurse)
|
||||
string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\3" current_patch_version "${raw_current_version}")
|
||||
endif(gp_regex_cmp_count GREATER 2)
|
||||
|
||||
# Using find_program on Windows will find dll files that are in the PATH.
|
||||
# (Converting simple file names into full path names if found.)
|
||||
# Use the raw_item as the list entries returned by this function. Use the
|
||||
# gp_resolve_item function to resolve it to an actual full path file if
|
||||
# necessary.
|
||||
#
|
||||
set(item "item-NOTFOUND")
|
||||
find_program(item "${raw_item}" PATHS "${target_dir}")
|
||||
if(NOT item)
|
||||
set(item "${raw_item}")
|
||||
endif(NOT item)
|
||||
|
||||
if(verbose)
|
||||
message(STATUS "raw_item='${raw_item}'")
|
||||
message(STATUS "item='${item}'")
|
||||
endif(verbose)
|
||||
set(item "${raw_item}")
|
||||
|
||||
# Add each item unless it is excluded:
|
||||
#
|
||||
@ -377,8 +544,12 @@ function(get_prerequisites target prerequisites_var exclude_system recurse)
|
||||
# Add it to unseen_prereqs so that we can recursively add *its*
|
||||
# prerequisites...
|
||||
#
|
||||
# But first: resolve its name to an absolute full path name such
|
||||
# that the analysis tools can simply accept it as input.
|
||||
#
|
||||
if(NOT list_length_before_append EQUAL list_length_after_append)
|
||||
set(unseen_prereqs ${unseen_prereqs} "${item}")
|
||||
gp_resolve_item("${target}" "${item}" "${exepath}" "${dirs}" resolved_item)
|
||||
set(unseen_prereqs ${unseen_prereqs} "${resolved_item}")
|
||||
endif(NOT list_length_before_append EQUAL list_length_after_append)
|
||||
endif(${recurse})
|
||||
endif(add_item)
|
||||
@ -394,7 +565,7 @@ function(get_prerequisites target prerequisites_var exclude_system recurse)
|
||||
if(${recurse})
|
||||
set(more_inputs ${unseen_prereqs})
|
||||
foreach(input ${more_inputs})
|
||||
get_prerequisites("${input}" ${prerequisites_var} ${exclude_system} ${recurse})
|
||||
get_prerequisites("${input}" ${prerequisites_var} ${exclude_system} ${recurse} "${exepath}" "${dirs}")
|
||||
endforeach(input)
|
||||
endif(${recurse})
|
||||
|
||||
@ -441,8 +612,10 @@ function(list_prerequisites target)
|
||||
set(print_target "${verbose}")
|
||||
set(type_str "")
|
||||
|
||||
get_filename_component(exepath "${target}" PATH)
|
||||
|
||||
set(prereqs "")
|
||||
get_prerequisites("${target}" prereqs ${exclude_system} ${all})
|
||||
get_prerequisites("${target}" prereqs ${exclude_system} ${all} "${exepath}" "")
|
||||
|
||||
if(print_target)
|
||||
message(STATUS "File '${target}' depends on:")
|
||||
|
@ -26,13 +26,20 @@ IF(MSVC)
|
||||
"${SYSTEMROOT}/system32/msvcr71.dll"
|
||||
)
|
||||
ENDIF(MSVC71)
|
||||
|
||||
IF(CMAKE_CL_64)
|
||||
SET(CMAKE_MSVC_ARCH amd64)
|
||||
ELSE(CMAKE_CL_64)
|
||||
SET(CMAKE_MSVC_ARCH x86)
|
||||
ENDIF(CMAKE_CL_64)
|
||||
|
||||
IF(MSVC80)
|
||||
# Find the runtime library redistribution directory.
|
||||
FIND_PATH(MSVC80_REDIST_DIR NAMES x86/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest
|
||||
FIND_PATH(MSVC80_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest
|
||||
PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]/../../VC/redist"
|
||||
)
|
||||
MARK_AS_ADVANCED(MSVC80_REDIST_DIR)
|
||||
SET(MSVC80_CRT_DIR "${MSVC80_REDIST_DIR}/x86/Microsoft.VC80.CRT")
|
||||
SET(MSVC80_CRT_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT")
|
||||
|
||||
# Install the manifest that allows DLLs to be loaded from the
|
||||
# directory containing the executable.
|
||||
@ -45,7 +52,7 @@ IF(MSVC)
|
||||
|
||||
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
||||
SET(MSVC80_CRT_DIR
|
||||
"${MSVC80_REDIST_DIR}/Debug_NonRedist/x86/Microsoft.VC80.DebugCRT")
|
||||
"${MSVC80_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC80.DebugCRT")
|
||||
SET(__install__libs ${__install__libs}
|
||||
"${MSVC80_CRT_DIR}/Microsoft.VC80.DebugCRT.manifest"
|
||||
"${MSVC80_CRT_DIR}/msvcm80d.dll"
|
||||
@ -57,13 +64,13 @@ IF(MSVC)
|
||||
ENDIF(MSVC80)
|
||||
IF(MSVC90)
|
||||
# Find the runtime library redistribution directory.
|
||||
FIND_PATH(MSVC90_REDIST_DIR NAMES x86/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
|
||||
FIND_PATH(MSVC90_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
|
||||
PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0;InstallDir]/../../VC/redist"
|
||||
|
||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\9.0;InstallDir]/../../VC/redist"
|
||||
)
|
||||
MARK_AS_ADVANCED(MSVC90_REDIST_DIR)
|
||||
SET(MSVC90_CRT_DIR "${MSVC90_REDIST_DIR}/x86/Microsoft.VC90.CRT")
|
||||
SET(MSVC90_CRT_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT")
|
||||
|
||||
# Install the manifest that allows DLLs to be loaded from the
|
||||
# directory containing the executable.
|
||||
@ -75,7 +82,7 @@ IF(MSVC)
|
||||
)
|
||||
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
||||
SET(MSVC90_CRT_DIR
|
||||
"${MSVC90_REDIST_DIR}/Debug_NonRedist/x86/Microsoft.VC90.DebugCRT")
|
||||
"${MSVC90_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugCRT")
|
||||
SET(__install__libs ${__install__libs}
|
||||
"${MSVC90_CRT_DIR}/Microsoft.VC90.DebugCRT.manifest"
|
||||
"${MSVC90_CRT_DIR}/msvcm90d.dll"
|
||||
@ -98,7 +105,7 @@ IF(MSVC)
|
||||
IF(MSVC80)
|
||||
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
||||
SET(MSVC80_MFC_DIR
|
||||
"${MSVC80_REDIST_DIR}/Debug_NonRedist/x86/Microsoft.VC80.DebugMFC")
|
||||
"${MSVC80_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC80.DebugMFC")
|
||||
SET(__install__libs ${__install__libs}
|
||||
"${MSVC80_MFC_DIR}/Microsoft.VC80.DebugMFC.manifest"
|
||||
"${MSVC80_MFC_DIR}/mfc80d.dll"
|
||||
@ -108,7 +115,7 @@ IF(MSVC)
|
||||
)
|
||||
ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
||||
|
||||
SET(MSVC80_MFC_DIR "${MSVC80_REDIST_DIR}/x86/Microsoft.VC80.MFC")
|
||||
SET(MSVC80_MFC_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.MFC")
|
||||
# Install the manifest that allows DLLs to be loaded from the
|
||||
# directory containing the executable.
|
||||
SET(__install__libs ${__install__libs}
|
||||
@ -119,7 +126,7 @@ IF(MSVC)
|
||||
"${MSVC80_MFC_DIR}/mfcm80u.dll"
|
||||
)
|
||||
# include the language dll's for vs8 as well as the actuall dll's
|
||||
SET(MSVC80_MFCLOC_DIR "${MSVC80_REDIST_DIR}/x86/Microsoft.VC80.MFCLOC")
|
||||
SET(MSVC80_MFCLOC_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.MFCLOC")
|
||||
# Install the manifest that allows DLLs to be loaded from the
|
||||
# directory containing the executable.
|
||||
SET(__install__libs ${__install__libs}
|
||||
@ -138,7 +145,7 @@ IF(MSVC)
|
||||
IF(MSVC90)
|
||||
IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
||||
SET(MSVC90_MFC_DIR
|
||||
"${MSVC90_REDIST_DIR}/Debug_NonRedist/x86/Microsoft.VC90.DebugMFC")
|
||||
"${MSVC90_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugMFC")
|
||||
SET(__install__libs ${__install__libs}
|
||||
"${MSVC90_MFC_DIR}/Microsoft.VC90.DebugMFC.manifest"
|
||||
"${MSVC90_MFC_DIR}/mfc90d.dll"
|
||||
@ -148,7 +155,7 @@ IF(MSVC)
|
||||
)
|
||||
ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
|
||||
|
||||
SET(MSVC90_MFC_DIR "${MSVC90_REDIST_DIR}/x86/Microsoft.VC90.MFC")
|
||||
SET(MSVC90_MFC_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.MFC")
|
||||
# Install the manifest that allows DLLs to be loaded from the
|
||||
# directory containing the executable.
|
||||
SET(__install__libs ${__install__libs}
|
||||
@ -159,7 +166,7 @@ IF(MSVC)
|
||||
"${MSVC90_MFC_DIR}/mfcm90u.dll"
|
||||
)
|
||||
# include the language dll's for vs9 as well as the actuall dll's
|
||||
SET(MSVC90_MFCLOC_DIR "${MSVC90_REDIST_DIR}/x86/Microsoft.VC90.MFCLOC")
|
||||
SET(MSVC90_MFCLOC_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.MFCLOC")
|
||||
# Install the manifest that allows DLLs to be loaded from the
|
||||
# directory containing the executable.
|
||||
SET(__install__libs ${__install__libs}
|
||||
|
36
Modules/MacOSXBundleInfo.plist.in
Normal file
36
Modules/MacOSXBundleInfo.plist.in
Normal file
@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleLongVersionString</key>
|
||||
<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>LSRequiresCarbon</key>
|
||||
<true/>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
||||
</dict>
|
||||
</plist>
|
26
Modules/MacOSXFrameworkInfo.plist.in
Normal file
26
Modules/MacOSXFrameworkInfo.plist.in
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${MACOSX_FRAMEWORK_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>${MACOSX_FRAMEWORK_ICON_FILE}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>${MACOSX_FRAMEWORK_IDENTIFIER}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${MACOSX_FRAMEWORK_BUNDLE_VERSION}</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>${MACOSX_FRAMEWORK_SHORT_VERSION_STRING}</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
@ -36,58 +36,124 @@
|
||||
|
||||
;Set compression
|
||||
SetCompressor @CPACK_NSIS_COMPRESSOR@
|
||||
|
||||
@CPACK_NSIS_DEFINES@
|
||||
|
||||
!include Sections.nsh
|
||||
|
||||
;--- Component support macros: ---
|
||||
; The code for the add/remove functionality is from:
|
||||
; http://nsis.sourceforge.net/Add/Remove_Functionality
|
||||
; It has been modified slightly and extended to provide
|
||||
; inter-component dependencies.
|
||||
Var AR_SecFlags
|
||||
Var AR_RegFlags
|
||||
@CPACK_NSIS_SECTION_SELECTED_VARS@
|
||||
|
||||
;--------------------------------
|
||||
; determine admin versus local install
|
||||
; Is install for "AllUsers" or "JustMe"?
|
||||
; Default to "JustMe" - set to "AllUsers" if admin or on Win9x
|
||||
; This function is used for the very first "custom page" of the installer.
|
||||
; This custom page does not show up visibly, but it executes prior to the
|
||||
; first visible page and sets up $INSTDIR properly...
|
||||
; Choose different default installation folder based on SV_ALLUSERS...
|
||||
; "Program Files" for AllUsers, "My Documents" for JustMe...
|
||||
; Loads the "selected" flag for the section named SecName into the
|
||||
; variable VarName.
|
||||
!macro LoadSectionSelectedIntoVar SecName VarName
|
||||
SectionGetFlags ${${SecName}} $${VarName}
|
||||
IntOp $${VarName} $${VarName} & ${SF_SELECTED} ;Turn off all other bits
|
||||
!macroend
|
||||
|
||||
Function .onInit
|
||||
StrCpy $SV_ALLUSERS "JustMe"
|
||||
StrCpy $INSTDIR "$DOCUMENTS\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
||||
; Loads the value of a variable... can we get around this?
|
||||
!macro LoadVar VarName
|
||||
IntOp $R0 0 + $${VarName}
|
||||
!macroend
|
||||
|
||||
; Sets the value of a variable
|
||||
!macro StoreVar VarName IntValue
|
||||
IntOp $${VarName} 0 + ${IntValue}
|
||||
!macroend
|
||||
|
||||
!macro InitSection SecName
|
||||
; This macro reads component installed flag from the registry and
|
||||
;changes checked state of the section on the components page.
|
||||
;Input: section index constant name specified in Section command.
|
||||
|
||||
ClearErrors
|
||||
UserInfo::GetName
|
||||
IfErrors noLM
|
||||
Pop $0
|
||||
UserInfo::GetAccountType
|
||||
Pop $1
|
||||
StrCmp $1 "Admin" 0 +3
|
||||
SetShellVarContext all
|
||||
;MessageBox MB_OK 'User "$0" is in the Admin group'
|
||||
StrCpy $SV_ALLUSERS "AllUsers"
|
||||
Goto done
|
||||
StrCmp $1 "Power" 0 +3
|
||||
SetShellVarContext all
|
||||
;MessageBox MB_OK 'User "$0" is in the Power Users group'
|
||||
StrCpy $SV_ALLUSERS "AllUsers"
|
||||
Goto done
|
||||
|
||||
noLM:
|
||||
StrCpy $SV_ALLUSERS "AllUsers"
|
||||
;Get installation folder from registry if available
|
||||
;Reading component status from registry
|
||||
ReadRegDWORD $AR_RegFlags HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@\Components\${SecName}" "Installed"
|
||||
IfErrors "default_${SecName}"
|
||||
;Status will stay default if registry value not found
|
||||
;(component was never installed)
|
||||
IntOp $AR_RegFlags $AR_RegFlags & ${SF_SELECTED} ;Turn off all other bits
|
||||
SectionGetFlags ${${SecName}} $AR_SecFlags ;Reading default section flags
|
||||
IntOp $AR_SecFlags $AR_SecFlags & 0xFFFE ;Turn lowest (enabled) bit off
|
||||
IntOp $AR_SecFlags $AR_RegFlags | $AR_SecFlags ;Change lowest bit
|
||||
|
||||
done:
|
||||
StrCmp $SV_ALLUSERS "AllUsers" 0 +2
|
||||
StrCpy $INSTDIR "$PROGRAMFILES\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
||||
; Note whether this component was installed before
|
||||
!insertmacro StoreVar ${SecName}_was_installed $AR_RegFlags
|
||||
IntOp $R0 $AR_RegFlags & $AR_RegFlags
|
||||
|
||||
;Writing modified flags
|
||||
SectionSetFlags ${${SecName}} $AR_SecFlags
|
||||
|
||||
"default_${SecName}:"
|
||||
!insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
|
||||
!macroend
|
||||
|
||||
!macro FinishSection SecName
|
||||
; This macro reads section flag set by user and removes the section
|
||||
;if it is not selected.
|
||||
;Then it writes component installed flag to registry
|
||||
;Input: section index constant name specified in Section command.
|
||||
|
||||
SectionGetFlags ${${SecName}} $AR_SecFlags ;Reading section flags
|
||||
;Checking lowest bit:
|
||||
IntOp $AR_SecFlags $AR_SecFlags & ${SF_SELECTED}
|
||||
IntCmp $AR_SecFlags 1 "leave_${SecName}"
|
||||
;Section is not selected:
|
||||
;Calling Section uninstall macro and writing zero installed flag
|
||||
!insertmacro "Remove_${${SecName}}"
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@\Components\${SecName}" \
|
||||
"Installed" 0
|
||||
Goto "exit_${SecName}"
|
||||
|
||||
"leave_${SecName}:"
|
||||
;Section is selected:
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@\Components\${SecName}" \
|
||||
"Installed" 1
|
||||
|
||||
"exit_${SecName}:"
|
||||
!macroend
|
||||
|
||||
!macro RemoveSection SecName
|
||||
; This macro is used to call section's Remove_... macro
|
||||
;from the uninstaller.
|
||||
;Input: section index constant name specified in Section command.
|
||||
|
||||
!insertmacro "Remove_${${SecName}}"
|
||||
!macroend
|
||||
|
||||
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 noOptionsPage
|
||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
|
||||
|
||||
noOptionsPage:
|
||||
FunctionEnd
|
||||
; Determine whether the selection of SecName changed
|
||||
!macro MaybeSelectionChanged SecName
|
||||
!insertmacro LoadVar ${SecName}_selected
|
||||
SectionGetFlags ${${SecName}} $R1
|
||||
IntOp $R1 $R1 & ${SF_SELECTED} ;Turn off all other bits
|
||||
|
||||
; See if the status has changed:
|
||||
IntCmp $R0 $R1 "${SecName}_unchanged"
|
||||
!insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
|
||||
|
||||
IntCmp $R1 ${SF_SELECTED} "${SecName}_was_selected"
|
||||
!insertmacro "Deselect_required_by_${SecName}"
|
||||
goto "${SecName}_unchanged"
|
||||
|
||||
"${SecName}_was_selected:"
|
||||
!insertmacro "Select_${SecName}_depends"
|
||||
|
||||
"${SecName}_unchanged:"
|
||||
!macroend
|
||||
;--- End of Add/Remove macros ---
|
||||
|
||||
;--------------------------------
|
||||
;Interface Settings
|
||||
|
||||
!define MUI_HEADERIMAGE
|
||||
!define MUI_ABORTWARNING
|
||||
|
||||
|
||||
;--------------------------------
|
||||
; path functions
|
||||
|
||||
@ -289,7 +355,6 @@ Function un.RemoveFromPath
|
||||
Pop $0
|
||||
FunctionEnd
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Uninstall sutff
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -406,10 +471,46 @@ Function ConditionalAddToRegisty
|
||||
ConditionalAddToRegisty_EmptyString:
|
||||
FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
|
||||
!ifdef CPACK_USES_DOWNLOAD
|
||||
Function DownloadFile
|
||||
IfFileExists $INSTDIR\* +2
|
||||
CreateDirectory $INSTDIR
|
||||
Pop $0
|
||||
|
||||
; Skip if already downloaded
|
||||
IfFileExists $INSTDIR\$0 0 +2
|
||||
Return
|
||||
|
||||
StrCpy $1 "@CPACK_DOWNLOAD_SITE@"
|
||||
|
||||
try_again:
|
||||
NSISdl::download "$1/$0" "$INSTDIR\$0"
|
||||
|
||||
Pop $1
|
||||
StrCmp $1 "success" success
|
||||
StrCmp $1 "Cancelled" cancel
|
||||
MessageBox MB_OK "Download failed: $1"
|
||||
cancel:
|
||||
Return
|
||||
success:
|
||||
FunctionEnd
|
||||
!endif
|
||||
|
||||
;--------------------------------
|
||||
; Installation types
|
||||
@CPACK_NSIS_INSTALLATION_TYPES@
|
||||
|
||||
;--------------------------------
|
||||
; Component sections
|
||||
@CPACK_NSIS_COMPONENT_SECTIONS@
|
||||
|
||||
;--------------------------------
|
||||
; Define some macro setting for the gui
|
||||
@CPACK_NSIS_INSTALLER_MUI_ICON_CODE@
|
||||
@CPACK_NSIS_INSTALLER_ICON_CODE@
|
||||
@CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@
|
||||
|
||||
;--------------------------------
|
||||
;Pages
|
||||
@ -425,16 +526,69 @@ FunctionEnd
|
||||
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
|
||||
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
|
||||
|
||||
@CPACK_NSIS_PAGE_COMPONENTS@
|
||||
|
||||
!insertmacro MUI_PAGE_INSTFILES
|
||||
!insertmacro MUI_PAGE_FINISH
|
||||
|
||||
!insertmacro MUI_UNPAGE_CONFIRM
|
||||
!insertmacro MUI_UNPAGE_INSTFILES
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Languages
|
||||
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
|
||||
!insertmacro MUI_LANGUAGE "English" ;first language is the default language
|
||||
!insertmacro MUI_LANGUAGE "Albanian"
|
||||
!insertmacro MUI_LANGUAGE "Arabic"
|
||||
!insertmacro MUI_LANGUAGE "Basque"
|
||||
!insertmacro MUI_LANGUAGE "Belarusian"
|
||||
!insertmacro MUI_LANGUAGE "Bosnian"
|
||||
!insertmacro MUI_LANGUAGE "Breton"
|
||||
!insertmacro MUI_LANGUAGE "Bulgarian"
|
||||
!insertmacro MUI_LANGUAGE "Croatian"
|
||||
!insertmacro MUI_LANGUAGE "Czech"
|
||||
!insertmacro MUI_LANGUAGE "Danish"
|
||||
!insertmacro MUI_LANGUAGE "Dutch"
|
||||
!insertmacro MUI_LANGUAGE "Estonian"
|
||||
!insertmacro MUI_LANGUAGE "Farsi"
|
||||
!insertmacro MUI_LANGUAGE "Finnish"
|
||||
!insertmacro MUI_LANGUAGE "French"
|
||||
!insertmacro MUI_LANGUAGE "German"
|
||||
!insertmacro MUI_LANGUAGE "Greek"
|
||||
!insertmacro MUI_LANGUAGE "Hebrew"
|
||||
!insertmacro MUI_LANGUAGE "Hungarian"
|
||||
!insertmacro MUI_LANGUAGE "Icelandic"
|
||||
!insertmacro MUI_LANGUAGE "Indonesian"
|
||||
!insertmacro MUI_LANGUAGE "Irish"
|
||||
!insertmacro MUI_LANGUAGE "Italian"
|
||||
!insertmacro MUI_LANGUAGE "Japanese"
|
||||
!insertmacro MUI_LANGUAGE "Korean"
|
||||
!insertmacro MUI_LANGUAGE "Kurdish"
|
||||
!insertmacro MUI_LANGUAGE "Latvian"
|
||||
!insertmacro MUI_LANGUAGE "Lithuanian"
|
||||
!insertmacro MUI_LANGUAGE "Luxembourgish"
|
||||
!insertmacro MUI_LANGUAGE "Macedonian"
|
||||
!insertmacro MUI_LANGUAGE "Malay"
|
||||
!insertmacro MUI_LANGUAGE "Mongolian"
|
||||
!insertmacro MUI_LANGUAGE "Norwegian"
|
||||
!insertmacro MUI_LANGUAGE "Polish"
|
||||
!insertmacro MUI_LANGUAGE "Portuguese"
|
||||
!insertmacro MUI_LANGUAGE "PortugueseBR"
|
||||
!insertmacro MUI_LANGUAGE "Romanian"
|
||||
!insertmacro MUI_LANGUAGE "Russian"
|
||||
!insertmacro MUI_LANGUAGE "Serbian"
|
||||
!insertmacro MUI_LANGUAGE "SerbianLatin"
|
||||
!insertmacro MUI_LANGUAGE "SimpChinese"
|
||||
!insertmacro MUI_LANGUAGE "Slovak"
|
||||
!insertmacro MUI_LANGUAGE "Slovenian"
|
||||
!insertmacro MUI_LANGUAGE "Spanish"
|
||||
!insertmacro MUI_LANGUAGE "Swedish"
|
||||
!insertmacro MUI_LANGUAGE "Thai"
|
||||
!insertmacro MUI_LANGUAGE "TradChinese"
|
||||
!insertmacro MUI_LANGUAGE "Turkish"
|
||||
!insertmacro MUI_LANGUAGE "Ukrainian"
|
||||
!insertmacro MUI_LANGUAGE "Welsh"
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Reserve Files
|
||||
@ -446,17 +600,15 @@ FunctionEnd
|
||||
ReserveFile "NSIS.InstallOptions.ini"
|
||||
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
|
||||
|
||||
|
||||
;--------------------------------
|
||||
;Installer Sections
|
||||
|
||||
Section "Installer Section" InstSection
|
||||
|
||||
Section "-Core installation"
|
||||
;Use the entire tree produced by the INSTALL target. Keep the
|
||||
;list of directories here in sync with the RMDir commands below.
|
||||
SetOutPath "$INSTDIR"
|
||||
File /r "${INST_DIR}\*.*"
|
||||
|
||||
@CPACK_NSIS_FULL_INSTALL@
|
||||
|
||||
;Store installation folder
|
||||
WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR
|
||||
|
||||
@ -474,7 +626,21 @@ Section "Installer Section" InstSection
|
||||
Push "UninstallString"
|
||||
Push "$INSTDIR\Uninstall.exe"
|
||||
Call ConditionalAddToRegisty
|
||||
|
||||
Push "NoRepair"
|
||||
Push "1"
|
||||
Call ConditionalAddToRegisty
|
||||
|
||||
!ifdef CPACK_NSIS_ADD_REMOVE
|
||||
;Create add/remove functionality
|
||||
Push "ModifyPath"
|
||||
Push "$INSTDIR\AddRemove.exe"
|
||||
Call ConditionalAddToRegisty
|
||||
!else
|
||||
Push "NoModify"
|
||||
Push "1"
|
||||
Call ConditionalAddToRegisty
|
||||
!endif
|
||||
|
||||
; Optional registration
|
||||
Push "DisplayIcon"
|
||||
Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@"
|
||||
@ -520,18 +686,18 @@ Section "Installer Section" InstSection
|
||||
|
||||
SectionEnd
|
||||
|
||||
Section "Add to path"
|
||||
Section "-Add to path"
|
||||
Push $INSTDIR\bin
|
||||
;Read a value from an InstallOptions INI file
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $DO_NOT_ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State"
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_ALL_USERS "NSIS.InstallOptions.ini" "Field 3" "State"
|
||||
!insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_CURRENT_USER "NSIS.InstallOptions.ini" "Field 4" "State"
|
||||
StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0
|
||||
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 doNotAddToPath
|
||||
StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0
|
||||
Call AddToPath
|
||||
doNotAddToPath:
|
||||
SectionEnd
|
||||
|
||||
|
||||
;--------------------------------
|
||||
; Create custom pages
|
||||
Function InstallOptionsPage
|
||||
@ -563,6 +729,43 @@ Function un.onInit
|
||||
;Get installation folder from registry if available
|
||||
|
||||
done:
|
||||
|
||||
FunctionEnd
|
||||
|
||||
;--- Add/Remove callback functions: ---
|
||||
!macro SectionList MacroName
|
||||
;This macro used to perform operation on multiple sections.
|
||||
;List all of your components in following manner here.
|
||||
@CPACK_NSIS_COMPONENT_SECTION_LIST@
|
||||
!macroend
|
||||
|
||||
Section -FinishComponents
|
||||
;Removes unselected components and writes component status to registry
|
||||
!insertmacro SectionList "FinishSection"
|
||||
|
||||
!ifdef CPACK_NSIS_ADD_REMOVE
|
||||
; Get the name of the installer executable
|
||||
System::Call 'kernel32::GetModuleFileNameA(i 0, t .R0, i 1024) i r1'
|
||||
StrCpy $R3 $R0
|
||||
|
||||
; Strip off the last 13 characters, to see if we have AddRemove.exe
|
||||
StrLen $R1 $R0
|
||||
IntOp $R1 $R0 - 13
|
||||
StrCpy $R2 $R0 13 $R1
|
||||
StrCmp $R2 "AddRemove.exe" addremove_installed
|
||||
|
||||
; We're not running AddRemove.exe, so install it
|
||||
CopyFiles $R3 $INSTDIR\AddRemove.exe
|
||||
|
||||
addremove_installed:
|
||||
!endif
|
||||
SectionEnd
|
||||
;--- End of Add/Remove callback functions ---
|
||||
|
||||
;--------------------------------
|
||||
; Component dependencies
|
||||
Function .onSelChange
|
||||
!insertmacro SectionList MaybeSelectionChanged
|
||||
FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
@ -590,6 +793,11 @@ Section "Uninstall"
|
||||
@CPACK_NSIS_DELETE_FILES@
|
||||
@CPACK_NSIS_DELETE_DIRECTORIES@
|
||||
|
||||
!ifdef CPACK_NSIS_ADD_REMOVE
|
||||
;Remove the add/remove program
|
||||
Delete "$INSTDIR\AddRemove.exe"
|
||||
!endif
|
||||
|
||||
;Remove the uninstaller itself.
|
||||
Delete "$INSTDIR\Uninstall.exe"
|
||||
DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
||||
@ -600,6 +808,9 @@ Section "Uninstall"
|
||||
; Remove the registry entries.
|
||||
DeleteRegKey SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
|
||||
|
||||
; Removes all optional components
|
||||
!insertmacro SectionList "RemoveSection"
|
||||
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
|
||||
|
||||
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
|
||||
@ -646,4 +857,50 @@ Section "Uninstall"
|
||||
doNotRemoveFromPath:
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
; determine admin versus local install
|
||||
; Is install for "AllUsers" or "JustMe"?
|
||||
; Default to "JustMe" - set to "AllUsers" if admin or on Win9x
|
||||
; This function is used for the very first "custom page" of the installer.
|
||||
; This custom page does not show up visibly, but it executes prior to the
|
||||
; first visible page and sets up $INSTDIR properly...
|
||||
; Choose different default installation folder based on SV_ALLUSERS...
|
||||
; "Program Files" for AllUsers, "My Documents" for JustMe...
|
||||
|
||||
Function .onInit
|
||||
; Reads components status for registry
|
||||
!insertmacro SectionList "InitSection"
|
||||
|
||||
StrCpy $SV_ALLUSERS "JustMe"
|
||||
StrCpy $INSTDIR "$DOCUMENTS\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
||||
|
||||
ClearErrors
|
||||
UserInfo::GetName
|
||||
IfErrors noLM
|
||||
Pop $0
|
||||
UserInfo::GetAccountType
|
||||
Pop $1
|
||||
StrCmp $1 "Admin" 0 +3
|
||||
SetShellVarContext all
|
||||
;MessageBox MB_OK 'User "$0" is in the Admin group'
|
||||
StrCpy $SV_ALLUSERS "AllUsers"
|
||||
Goto done
|
||||
StrCmp $1 "Power" 0 +3
|
||||
SetShellVarContext all
|
||||
;MessageBox MB_OK 'User "$0" is in the Power Users group'
|
||||
StrCpy $SV_ALLUSERS "AllUsers"
|
||||
Goto done
|
||||
|
||||
noLM:
|
||||
StrCpy $SV_ALLUSERS "AllUsers"
|
||||
;Get installation folder from registry if available
|
||||
|
||||
done:
|
||||
StrCmp $SV_ALLUSERS "AllUsers" 0 +2
|
||||
StrCpy $INSTDIR "$PROGRAMFILES\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
|
||||
|
||||
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 noOptionsPage
|
||||
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
|
||||
|
||||
noOptionsPage:
|
||||
FunctionEnd
|
||||
|
@ -27,6 +27,11 @@ SET(CMAKE_SHARED_MODULE_SUFFIX ".so")
|
||||
SET(CMAKE_MODULE_EXISTS 1)
|
||||
SET(CMAKE_DL_LIBS "")
|
||||
|
||||
SET(CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG -Wl,-compatibility_version,)
|
||||
SET(CMAKE_C_OSX_CURRENT_VERSION_FLAG -Wl,-current_version,)
|
||||
SET(CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG "${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}")
|
||||
SET(CMAKE_CXX_OSX_CURRENT_VERSION_FLAG "${CMAKE_C_OSX_CURRENT_VERSION_FLAG}")
|
||||
|
||||
SET(CMAKE_C_LINK_FLAGS "-headerpad_max_install_names")
|
||||
SET(CMAKE_CXX_LINK_FLAGS "-headerpad_max_install_names")
|
||||
|
||||
@ -62,7 +67,7 @@ IF(_CMAKE_OSX_SDKS)
|
||||
IF(NOT "$ENV{CMAKE_OSX_SYSROOT}" STREQUAL "")
|
||||
SET(_CMAKE_OSX_SDKS "$ENV{CMAKE_OSX_SYSROOT}")
|
||||
ENDIF(NOT "$ENV{CMAKE_OSX_SYSROOT}" STREQUAL "")
|
||||
SET(CMAKE_OSX_SYSROOT ${_CMAKE_OSX_SDKS} CACHE STRING
|
||||
SET(CMAKE_OSX_SYSROOT ${_CMAKE_OSX_SDKS} CACHE PATH
|
||||
"isysroot used for universal binary support")
|
||||
# set _CMAKE_OSX_MACHINE to umame -m
|
||||
EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE _CMAKE_OSX_MACHINE)
|
||||
|
@ -4,6 +4,9 @@ SET (CMAKE_C_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
|
||||
SET (CMAKE_C_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
|
||||
SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
|
||||
|
||||
SET (CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
|
||||
SET (CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
|
||||
|
||||
FIND_PROGRAM(XIAR xiar)
|
||||
IF(XIAR)
|
||||
SET(CMAKE_C_CREATE_STATIC_LIBRARY
|
||||
|
@ -4,6 +4,9 @@ SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
|
||||
SET (CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
|
||||
SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
|
||||
|
||||
SET (CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
|
||||
SET (CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
|
||||
|
||||
FIND_PROGRAM(XIAR xiar)
|
||||
IF(XIAR)
|
||||
SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
|
||||
|
9
Modules/Platform/Linux-PGI-Fortran.cmake
Normal file
9
Modules/Platform/Linux-PGI-Fortran.cmake
Normal file
@ -0,0 +1,9 @@
|
||||
SET(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS "")
|
||||
|
||||
SET(CMAKE_Fortran_MODDIR_FLAG "-module ")
|
||||
SET(CMAKE_Fortran_FLAGS_INIT "-Mpreprocess -Kieee -fpic")
|
||||
SET(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g -O0 -Mbounds")
|
||||
SET(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-O2 -s")
|
||||
SET(CMAKE_Fortran_FLAGS_RELEASE_INIT "-fast -O3 -Mipa=fast")
|
||||
SET(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O2 -gopt")
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user