Commit 883c96ba authored by Bill Hoffman's avatar Bill Hoffman
Browse files

ENH: merge files from main tree to 2.4

parent 72b38e3a
File deleted
This diff is collapsed.
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f32\froman\fcharset238\fprq2 Times New Roman CE;}{\f33\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f35\froman\fcharset161\fprq2 Times New Roman Greek;}{\f36\froman\fcharset162\fprq2 Times New Roman Tur;}
{\f37\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f38\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f39\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f40\fswiss\fcharset238\fprq2 Arial CE;}{\f41\fswiss\fcharset204\fprq2 Arial Cyr;}
{\f43\fswiss\fcharset161\fprq2 Arial Greek;}{\f44\fswiss\fcharset162\fprq2 Arial Tur;}{\f45\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f46\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f47\fswiss\fcharset186\fprq2 Arial Baltic;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive Default Paragraph Font;}}{\info{\title CMake Version 0}{\author deneb}{\operator deneb}{\creatim\yr2002\mo1\dy24\hr10}{\revtim\yr2002\mo1\dy24\hr10\min1}{\version3}
{\edmins1}{\nofpages2}{\nofwords456}{\nofchars2601}{\*\company Dell Computer Corporation}{\nofcharsws0}{\vern8269}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701
\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind4\viewscale100\nolnhtadjtbl \fet0\sectd \linex0\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3
\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}
{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain
\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\f1\fs28 CMake Version 1.2 patch 2
\par }{\b\f1\fs20
\par This is the 1.2 patch 2 release of CMake for Windows. If you find bugs send them to kitware@kitware.com with a subject of CMake Bug. See http://www.cmake.org for additional information.
\par
\par Changes from 1.2 patch 1 to 1.2 patch 2
\par
\par Fixed an odd condition in the IF command. Added .h files into the DSP file if they are in the list of source files.
\par
\par Changes from 1.2 to 1.2 patch 1
\par
\par Fixed the IF MATCHES command to consider that the argument may not be defined. Fixed the Add Custom Command to restore previous functionality. Modified Source Files command to have the ability to handle files that are generated by the build process.
\par
\par Changes from 1.0 to 1.2
\par
\par CMake now is
much more selective about creating new dsp files significantly reducing the number of reloads done in Visual Studio. A new option to the IF command was added that tests if a file exists: IF (EXISTS filename) A number of fixes were added to the boreland an
d
nmake build options. Borland now supports building shared and static libraries. A fix to the FIND_PATH command that could cause cmake to think the cache is always changing. Added CMAKE_EXTRA_LINK_FLAGS so that flags can be passed specifically to the link
er. Enhancements to many modules and templates.
\par
\par Changes from 1.0 to 1.0 Patch 1
\par
\par Improvements in many of the Find\'85 modules so that they are more capable of finding packages. Some minor bug fixes to solve a couple problems when first building a project. Change to using \endash k instead of \endash i as the flag for the make rule.
\par
\par Changes from 0.98 to 1.0
\par
\par Fixed some modules to make better use of the advanced flag. Changed the default Borland flags for c code to display less windows. Fixed cmaketest to handle windows pa
ths. Added support for custom commands on libraries and executables for nmake and Borland (see ADD_CUSTOM_COMMAND). Support for single quoted arguments, the single quotes are removed when read in, but spaces inside of them are kept. Added options to contr
ol MARK_AS_ADVANCED so that advanced options can be made \'93non advanced\'94 for some sites.
\par
\par Changes from 0.96 to 0.98
\par
\par Addition of advanced options to reduce the number of options displayed to most users. Addition of a VARIABLE_REQUIRES command to check if all
required parameters are specified. Many fixes to the Borland generator. Addition of a nmake generator. Addition of a easy to use wizard mode from the command line. Online help for CmakeSetup. Addition of some commands to fascilitate generating QT code. N
ew support for adding custom commands form a CMake list file. Support for adding custom commands onto libraries and executables. Many new modules.
\par
\par Changes from 0.94 to 0.96
\par
\par Improved the Boolean MFC GUI boxes. Better tracking of recently used directories.
Better handling of internal cache entries in the GUI. A bug where some cache entries were not updated after the initial pass when they used variables. Some documentation fixes.
\par
\par Changes from 0.92 to 0.94
\par
\par Fixed the FIND_FILE command to not fail if the file isn\rquote
t found. Added a command to support mangled mesa. Removed the nightly Dart targets and some of the experimental Dart targets from Dart.cmake on windows. Made Debug the default configuration for windo
ws. Added a first cut at support for Borland thanks to John Biddiscomb. Many fixes for Window98.
\par
\par Changes from 0.8 to 0.92
\par
\par Added better support for network paths in the binary or source trees. Performance improvements. Bug fixes when switching between mu
ltiple CMake projects, the cache was getting corrupted. Added ctest program to run any tests specified with the ADD_TEST command. Added more test cases for CMake. Fixed problem where $OUTDIR was used when $INTDIR should have been used. This primarily impa
cted people with a CMake based project that depended on another CMake based project. Improvements to the LOAD_CACHE command to support multiple projects sharing a cache.
\par
\par Changes from 0.6 to 0.8
\par
\par Better support for parallel builds on UNIX with SUBDIR_DEPEN
DS command. Support for libraries that must be static or shared. Addition of the FOREACH command. Cleanup of the cache / makefile interface. Many improvements to the GUI including highlighting of changed or new cache entries. Addition of the INSTALL_PRO
GRAM command to install executable programs or scripts. Improved options on the IF command including AND, OR, and MATCHES. Performance improvements. Many bug fixes. }{\f1\fs20
\par }}
\ No newline at end of file
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f28\froman\fcharset238\fprq2 Times New Roman CE;}{\f29\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31\froman\fcharset161\fprq2 Times New Roman Greek;}{\f32\froman\fcharset162\fprq2 Times New Roman Tur;}
{\f33\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f34\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f35\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f36\fswiss\fcharset238\fprq2 Arial CE;}{\f37\fswiss\fcharset204\fprq2 Arial Cyr;}
{\f39\fswiss\fcharset161\fprq2 Arial Greek;}{\f40\fswiss\fcharset162\fprq2 Arial Tur;}{\f41\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f42\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f43\fswiss\fcharset186\fprq2 Arial Baltic;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive Default Paragraph Font;}}{\info{\author deneb}{\operator deneb}{\creatim\yr2002\mo12\dy12\hr11\min56}{\revtim\yr2002\mo12\dy12\hr11\min59}{\version2}{\edmins3}
{\nofpages2}{\nofwords645}{\nofchars3680}{\*\company Dell Computer Corporation}{\nofcharsws4519}{\vern8269}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701
\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind4\viewscale100\nolnhtadjtbl \fet0\sectd \linex0\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3
\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}
{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain
\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\f1\fs16 CMake Version 1.4 patch 7
\par
\par }{\f1\fs16 This is the 1.4 release of CMake for Windows. If you find bugs send them to kitware@kitware.com with a subject of CMake Bug. See http://www.cmake.org for additional information.
\par
\par Changes from 1.4.6 to 1.4.7
\par
\par This patch contains two bug fixes. The SET_SOURCEFILE_PROPERTIES command use to specify compile flags for a file was incorrectly applying the same flags to all subsequent files. The dependency computation
was incorrect and would occasionally miss some dependencies.
\par
\par Changes from 1.4.5 to 1.4.6
\par
\par A fix for Borland compilers building Windows applications (WinMain() not main()). A fix in the VTK wrap Tcl command to support Tcl 8.4. A fix to ccmake.cxx to support compilation of CMake itself under some DEC OSF compiler.
\par
\par Changes from 1.4.4 to 1.4.5
\par
\par A fix was made to custom commands on dotNet which fixes a Java build issue with VTK on that platform. A fix to the Borland makefiles to better handle long paths. A fix to CMake\rquote
s CmakeList.txt file to remove an extra closing ENDIF that later versions of CMak
e will complain about (for those of you who are building old versions of CMake with new versions). Some resource include fixes for Windows projects that must compile resource files.
\par
\par Changes from 1.4 patch 3 to patch 4
\par
\par Mainly minor bug fixes. The IF and E
LSE command has been modified so that the IF and ELSE clauses cannot both be executed. Some fixes to compiler warnings and memory leaks in the output of the CREATE_TEST_SOURCELIST command. A fix to NMake builds on windows 98 when long link lines are used.
Minor fixes to the FindTCL and FindFLTK modules.
\par
\par Changes from 1.4 patch 2 to patch 3
\par
\par The LINK_LIBRARIES command now works with no arguments. A problem with setting the source path in the CMSetup dialog was fixed. Searching using registry entries in the FIND_LIBRARY command was broken.
\par
\par Changes from 1.4 patch 1 to patch 2
\par
\par The CREATE_TEST_SOURCELIST command was fixed so that it can handle C projects as well as C++. It now takes its arguments with file extensions. This command was not in CMake 1.2. There w
as a bug fix to the ITKWrapTcl command. There was a fix for NMake and Borland supporting jumping out of a directory to build a library in another directory. The CMake user interface now supports dragging and dropping files into CMake, selecting an output
d
irectory will automatically set the source directory if a cache file is found. A fix was made to support the run command in a directory functionality of cmake -E on windows. Some minor fixes were made to the FindTCL, FindJNI, FindOpenGL and FindGLU module
s.
\par
\par Changes from 1.4 final to 1.4 patch 1
\par
\par Variables of the form $\{foo\} in CMake are always replaced. If foo is not defined then the replacement is empty. A number of commands were modified to accept less arguments since an argument may be a variable, which expands to nothing. For example
\par
\par TARGET_LINK_LIBRARIES( mylib $\{alib\})
\par
\par Will not work if $\{alib\} resolves to nothing.
\par
\par Changes from 1.4 beta 3 to 1.4 final
\par
\par Better error checking on IF commands. A fix for custom rules on UNIX, NMake, Borland makefiles. A FindJava modules was added. A bunch of fixes in handling lists of files. A fix to the install command.
\par
\par Changes from 1.4 beta 1 to beta 3
\par
\par Many fixes in finding OpenGL GLU and GLUT libraries. Fixes to the IF and ELSE statement when using MATCHES. Changes to the Dart module so that Nightly targets show up for Nmake and Borland Make.
\par
\par Changes from 1.2 to 1.4
\par
\par CMake now supports lists (a.k.a. vectors) as variables where elements of the list are separa
ted by semicolons. The SET and REMOVE commands can be used to manipulate lists. These should be used instead of SOURCE_FILES and SOURCE_FILES_REMOVE. Most commands that take a variable number of arguments will accept a list now. The IF command can now do
n
umeric and strcmp comparisons. Support for MS Visual Studio .NET has been added. Significant cleanup in handling network paths and paths with spaces. Library dependencies are now computed and transitive. So if lib A depends on B which depends on C, linkin
g
B into A will automatically link C into A as well. Added additional command line options to cmake to delete files, create directories during the build process. Essentially providing some simple commands in a cross platform executable since not all shell
s have the same capabilities. A variety of bug fixes and improvements to Modules. Improved performance, significantly less file sta}{\f1\fs20 ts than before.
\par }}
\ No newline at end of file
{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
{\f28\froman\fcharset238\fprq2 Times New Roman CE;}{\f29\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f31\froman\fcharset161\fprq2 Times New Roman Greek;}{\f32\froman\fcharset162\fprq2 Times New Roman Tur;}
{\f33\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f34\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f35\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f36\fswiss\fcharset238\fprq2 Arial CE;}{\f37\fswiss\fcharset204\fprq2 Arial Cyr;}
{\f39\fswiss\fcharset161\fprq2 Arial Greek;}{\f40\fswiss\fcharset162\fprq2 Arial Tur;}{\f41\fswiss\fcharset177\fprq2 Arial (Hebrew);}{\f42\fswiss\fcharset178\fprq2 Arial (Arabic);}{\f43\fswiss\fcharset186\fprq2 Arial Baltic;}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0
\fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive Default Paragraph Font;}}{\info{\author deneb}{\operator deneb}{\creatim\yr2003\mo5\dy19\hr10\min38}{\revtim\yr2003\mo5\dy19\hr11\min1}{\version2}{\edmins23}
{\nofpages1}{\nofwords482}{\nofchars2752}{\*\company Dell Computer Corporation}{\nofcharsws3379}{\vern8269}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\hyphcaps0\horzdoc\dghspace120\dgvspace120\dghorigin1701
\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind4\viewscale100\nolnhtadjtbl \fet0\sectd \linex0\sectdefaultcl {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3
\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}
{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain
\ql \li0\ri0\nowidctlpar\faauto\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\f1\fs16 CMake Version 1.6 patch 7
\par
\par }{\f1\fs16 This is the 1.6 release of CMake for Windows. If you find bugs send them to kitware@kitware.com with a subject of CMake Bug. See http://www.cmake.org for additional information.
\par
\par Changes from 1.6.6 to 1.6.7
\par
\par Added support for Vis
ual Studio 2003. Fixed a bug where LINK_FLAGS were not getting passed to Visual Studio generators. Added a fix for MipsPro 7.3. Fix for C++ object file rule for nmake. A fix for search paths in the FindCable and FindFLTK modules. A fix for the TRY_COMPIL
E command when make \endash
I is used. A fix to support very long lines in CmakeList files. Improved the MACRO command to provide warnings whan a MACRO is not properly closed with a matching END_MACRO. Fixed the REMOVE command to not ignore the first argument. Fix
ed the STRING command to be inherited. Fixed some keyboard issues with ccmake on the SGI. Fix to ccmake to not report and error if non error message occur.
Fixed some flags for C++ shared libs on SunOS and win32 executables on Borland. A fix in the implementation of the CheckIncludeFiles.cmake module. Improved error messages when a bad generator was selected. More robust CheckSymbolExists.cmake module.
\par
\par Changes from 1.6.5 to 1.6.6
\par
\par This patch include the following fixes: A fix to the FindGTK module, a fix to the FIND_LIBRARY command to not mistake directories as libraries, a fix in the tab order so that the MFC gui
buttons tab more consistently, a fix to the CheckSymbolExists module so that extra semicolons will not be added, a fix so that if the same subdirectory is added multiple times with the SUBDIRS command it will be ignored after the first time, a fix to cac
he the results of CheckTypeSize and TestForSTDNameSpace.
\par
\par Changes from 1.6.4 to 1.6.5
\par
\par A fix to the TestForANSIForScope module so that it doesn't keep check each configure. A fix to the Visual studio 7 generator to better support Visual studio 7.1. A fix f
or nmake makefiles that include out of build libraries that have lib as part of their formal name. A fix for Borland makefile dependencies causing some dependencies to be unrecognized by Borland's make. An improvement to the Windows GUI such that if you h
ave MSVC7 installed it will be the default generator for new projects.
\par
\par Changes from 1.6.3 to 1.6.4
\par
\par A fix for TRY_COMPILE on Windows 95, 98, ME. A fix for windows nmake builds with spaces in the path. A minor fix for the FindLibrary command. Some fixes for the FindJNI.cmake module for MacOSX.
\par
\par Changes from 1.6.2 to 1.6.3
\par
\par Fix a bug in the NOTFOUND error reporting code. Fixed some compiler flags for HPUX. Fixed an overflow bug in the curses interface for UNIX.
\par
\par Changes from 1.6.1 to 1.6.2
\par
\par Improved reporting of libraries and include paths that are not found. A fix to the EXPORT_LIBRARY_DEPENDENCIES command.
\par }{\b\f1\fs16
\par }{\f1\fs16 Changes from 1.6.0 to 1.6.1
\par
\par Mostly UNIX fixes. No significant changes for MS Windows.
\par
\par Changes from 1.4 to 1.6
\par
\par The were a number of new features adde
d in version 1.6. The most significant are support for TRY_COMPILE, TRY_RUN, MACRO, and LOAD_COMMAND. With TRY_COMPILE and TRY_RUN you can test for most any aspect of a compiler. The MACRO command can clean up complex CMakeLists files. The LOADED_COMMAND
command allows you to create your own commands using a C API for complex operations. There were a number of fixes and improved support for all platforms.
\par }}
\ No newline at end of file
# - 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)
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)
This diff is collapsed.
This diff is collapsed.
MACRO(KWSYS_PLATFORM_CXX_TEST var description invert)
IF("${var}_COMPILED" MATCHES "^${var}_COMPILED$")
MESSAGE(STATUS "${description}")
TRY_COMPILE(${var}_COMPILED
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/kwsysPlatformCxxTests.cxx
COMPILE_DEFINITIONS -DTEST_${var} ${KWSYS_PLATFORM_CXX_TEST_DEFINES}
OUTPUT_VARIABLE OUTPUT)
IF(${var}_COMPILED)
FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeOutput.log
"${description} compiled with the following output:\n${OUTPUT}\n\n")
ELSE(${var}_COMPILED)
FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/CMakeError.log
"${description} failed to compile with the following output:\n${OUTPUT}\n\n")
ENDIF(${var}_COMPILED)
IF(${invert} MATCHES INVERT)
IF(${var}_COMPILED)
MESSAGE(STATUS "${description} - no")
ELSE(${var}_COMPILED)
MESSAGE(STATUS "${description} - yes")
ENDIF(${var}_COMPILED)
ELSE(${invert} MATCHES INVERT)
IF(${var}_COMPILED)
MESSAGE(STATUS "${description} - yes")
ELSE(${var}_COMPILED)
MESSAGE(STATUS "${description} - no")
ENDIF(${var}_COMPILED)
ENDIF(${invert} MATCHES INVERT)
ENDIF("${var}_COMPILED" MATCHES "^${var}_COMPILED$")
IF(${invert} MATCHES INVERT)
IF(${var}_COMPILED)
SET(${var} 0)
ELSE(${var}_COMPILED)
SET(${var} 1)
ENDIF(${var}_COMPILED)
ELSE(${invert} MATCHES INVERT)
IF(${var}_COMPILED)
SET(${var} 1)
ELSE(${var}_COMPILED)
SET(${var} 0)
ENDIF(${var}_COMPILED)
ENDIF(${invert} MATCHES INVERT)
ENDMACRO(KWSYS_PLATFORM_CXX_TEST)
// Setup for tests that use result of stl namespace test.
#if defined(KWSYS_STL_HAVE_STD)
# if KWSYS_STL_HAVE_STD
# define kwsys_stl std
# else
# define kwsys_stl
# endif
#endif
#ifdef TEST_KWSYS_STL_HAVE_STD
#include <list>
void f(std::list<int>*) {}
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_IOS_USE_ANSI
#include <iosfwd>
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_IOS_HAVE_STD
#include <iosfwd>
void f(std::ostream*) {}
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_IOS_USE_SSTREAM
#include <sstream>
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_IOS_USE_STRSTREAM_H
#include <strstream.h>
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_IOS_USE_STRSTREA_H
#include <strstrea.h>
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_STL_STRING_HAVE_OSTREAM
# include <iostream.h>
# include <string>
void f(ostream& os, const kwsys_stl::string& s) { os << s; }
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_STL_STRING_HAVE_ISTREAM
# include <iostream.h>
# include <string>
void f(istream& is, kwsys_stl::string& s) { is >> s; }
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_STL_STRING_HAVE_NEQ_CHAR
# include <string>
bool f(const kwsys_stl::string& s) { return s != ""; }
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_CXX_HAS_CSTDDEF
#include <cstddef>
void f(size_t) {}
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS
template <class T> class A;
template <class T> int f(A<T>&);
template <class T> class A
{
public:
// "friend int f<>(A<T>&)" would conform
friend int f(A<T>&);
private:
int x;
};
template <class T> int f(A<T>& a) { return a.x = 0; }
template int f(A<int>&);
int main()
{
A<int> a;
return f(a);
}
#endif
#ifdef TEST_KWSYS_CXX_HAS_MEMBER_TEMPLATES
template <class U>
class A
{
public:
U u;
A(): u(0) {}
template <class V> V m(V* p) { return *p = u; }
};
int main()
{
A<short> a;
int s = 1;
return a.m(&s);
}
#endif
#ifdef TEST_KWSYS_CXX_HAS_FULL_SPECIALIZATION
template <class T> struct A {};
template <> struct A<int*>
{
static int f() { return 0; }
};
int main() { return A<int*>::f(); }
#endif
#ifdef TEST_KWSYS_CXX_HAS_ARGUMENT_DEPENDENT_LOOKUP
namespace N
{
class A {};
int f(A*) { return 0; }
}
void f(void*);
int main()
{
N::A* a = 0;
return f(a);
}
#endif
#ifdef TEST_KWSYS_STL_HAS_ITERATOR_TRAITS
#include <iterator>
#include <list>
void f(kwsys_stl::iterator_traits<kwsys_stl::list<int>::iterator>::iterator_category const&) {}
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_STL_HAS_ITERATOR_CATEGORY
#include <iterator>
#include <list>
void f(kwsys_stl::list<int>::iterator x) { kwsys_stl::iterator_category(x); }
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_STL_HAS___ITERATOR_CATEGORY
#include <iterator>
#include <list>
void f(kwsys_stl::list<int>::iterator x) { kwsys_stl::__iterator_category(x); }
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_STL_HAS_ALLOCATOR_TEMPLATE
#include <memory>
template <class Alloc>
void f(const Alloc&)
{
typedef typename Alloc::size_type alloc_size_type;
}
int main()
{
f(kwsys_stl::allocator<char>());
return 0;
}
#endif
#ifdef TEST_KWSYS_STL_HAS_ALLOCATOR_NONTEMPLATE
#include <memory>
void f(kwsys_stl::allocator::size_type const&) {}
int main() { return 0; }
#endif
#ifdef TEST_KWSYS_STL_HAS_ALLOCATOR_REBIND
#include <memory>
template <class T, class Alloc>
void f(const T&, const Alloc&)
{
typedef typename Alloc::template rebind<T>::other alloc_type;
}
int main()
{
f(0, kwsys_stl::allocator<char>());
return 0;
}
#endif
#ifdef TEST_KWSYS_STL_HAS_ALLOCATOR_MAX_SIZE_ARGUMENT
#include <memory>
void f(kwsys_stl::allocator<char> const& a)
{
a.max_size(sizeof(int));
}
int main()
{
f(kwsys_stl::allocator<char>());
return 0;
}
#endif
#ifdef TEST_KWSYS_STL_HAS_ALLOCATOR_OBJECTS
#include <vector>
void f(kwsys_stl::vector<int> const& v1)
{
kwsys_stl::vector<int>(1, 1, v1.get_allocator());
}
int main()
{
f(kwsys_stl::vector<int>());
return 0;
}
#endif
#ifdef TEST_KWSYS_STAT_HAS_ST_MTIM
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int main()
{
struct stat stat1;
(void)stat1.st_mtim.tv_sec;
(void)stat1.st_mtim.tv_nsec;
return 0;
}
#endif
int main()
{
return 10;
}